Skip to Content
Author's profile photo Archana Shukla

Performance Studies of Decision Table in SAP HANA

With application logic moving closer to database, SAP HANA has achieved radical and significant performance gains. This new database architecture uses in-memory approach to significantly improve performance of database applications. The additional advantage of moving data intensive application logic closer to the database is that the amount of data transferred between application server and the database server has significantly reduced when most of the database intensive operations are running directly in the database system. To leverage the full performance benefits decision table has also been integrated in SAP HANA such that the rules are executed closer to the persistence layer where all the calculations and aggregations are handled close to the data so that only the result set is returned to application layer, thereby reducing the network traffic.

When using small amount of data, the performance differences are barely noticeable. Once the system is in production and is filled with realistic amount of data or when you test the execution with very large data volume, is when you notice real benefit of running rules in SQL format inside the database.

Here, you would see astonishing performance increase over traditional Business Rules Management products. To illustrate the impact, I would use the example of my previous blog to calculate DISCOUNT of the product based on MODEL and QUANTITY fields. In the following, performance report of rules modeling capabilities in SAP HANA would be shown. 

Let me give you hardware details that was used for the study:

SAP Product

Hardware Details

Database

Operating System

Execution details

Rules on SAP HANA

CPU: 16 Intel®Xeon®CPU @2.53 GHz clock speed with 4 core per processor Main Memory: 32GB

SAP HANA

SLES 11 SP1

HANA SP06 server and studio

Execution criteria

  • Size Of Decision Table – 10000 rows
  • Size of Database Table range – 100000, 300000, 500000, 700000, 900000, 1000000
  • Timing Analysis Level – Uniform Case Execution Time (UCET) This means that all the rows of the database table matches with the one or more rows of the decision table

Scenario 1 : Select records from Database

  • For Rules on HANA, Decision table has Parameter as Action i.e. the records are selected from the database tables based on the decision table

Scenario 2 : Update records in Database

  • For Rules on HANA, Decision table has database table column as Action i.e. the records are updated in the database tables based on the decision table

Below you can see the time taken for selecting and updating records from database rules using Rules on SAP HANA

/wp-content/uploads/2013/10/perf1_301351.jpg

    Figure 8.1 : Graph showing the time taken to Select the database rows based on rules in decision table

   /wp-content/uploads/2013/10/oerf2_301397.jpg

      Figure 8.2 : Table showing the time taken (in seconds) to Select rows from database tables based on the rules

       /wp-content/uploads/2013/10/perf3_301398.jpg

          Figure 8.3 : Graph showing the time taken to Update records in the database based on rules in decision table

           /wp-content/uploads/2013/10/perf4_301399.jpg

            Figure 8.4 : Table showing the time taken (in seconds) to Update records in the database based on the rules

As you can see – with increase in the database record – there has been relative performance improvement for Select and Update scenario. To summarize, Business Rules on SAP HANA has brought the data intensive rules execution closer to the database which has caused tremendous performance impovements with many folds. Thus, decision making – on high volume and continuously changing data – is made faster, better, consistent and transparent with use of Business Rules in SAP HANA.

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      very Helpful INFO , Thanks Archana Shukla for Sharing with us.

      Author's profile photo Ashok Babu Kumili
      Ashok Babu Kumili

      Archana,

      Greatly helpfull.. 🙂 .. Perfect document to understand the basic concepts of  " Performence Stuties in SAP HANA". Very nicely written article. I learnt the key views. It has been summarized very nicely

      Author's profile photo Former Member
      Former Member

      Hi Archana

      I'm quite interested in the comparison between the performance of decision tables in HANA and other BRM solutions, eg BRFplus. You said that "you would see astonishing performance increase over traditional Business Rules Management product" but I can only see performance data for HANA. Do you have data for other BRM solutions too?

      Thanks

      Glen

      Author's profile photo Archana Shukla
      Archana Shukla
      Blog Post Author

      Hello Glen,

      Rules in SAP HANA operates on SAP HANA as database layer while BRFPlus is on ABAP with MAX DB or any traditional databases  - so the results are dependent upon various factors like hardware and software configuration, comparison analysis level, scenario which is used for comparison etc. For instance, one of our performance study was on simple decision table ( on physical table) based on Sales usecase - for uniform case - with 'Select' scenario - for different sets of rows in decision table and physical table. Here for 1 million database records RulesonHANA took 1.88 seconds while BRFPlus took 713 seconds. I cannot share the entire data with you as it is internal to us.

      Let us know if you looking for anything else.

      Regards,

      Archana

      Author's profile photo Rahul Aware
      Rahul Aware

      Hi Archana,

      I would not agree on the Update scenario part of statement "with increase in the database record - there has been relative performance improvement for Select and Update scenario."

      The graph posted for update scenario shows almost linear increase in the time to process against number of records.

      Correct me if I am making a mistake.

      Regards,

      Rahul.