Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 

Using SAP HANA capture and replay in different areas of business

Despite rising customer adoption and the according awareness regarding SAP HANA capture and replay, many users remain uncertain about the openness and broad support of various testing scenarios the tool can offer today. For that reason, we want to provide more details about how users can use SAP HANA capture and replay in different focus areas and testing scenarios.

Initially released with SAP HANA 1.0 SPS12*, SAP HANA capture and replay offers semi-automated support for integrated testing in the context of SAP HANA. The goal is to simplify the manual effort needed for creating result- and performance-based testing.

When looking at different areas of application, it becomes obvious that the options the tool offers are quite open and flexible.

The focus area can be defined either by leaning towards the identification of potential regressions or a deeper look at the actual performance of a workload. A combination is also possible, of course, depeding on the nature of the workload and the scenario.
*SAP recommends the use of SAP HANA Platform 1.0 SPS12 revision 122.16 or higher

Different focus areas

When looking at regressions, SAP HANA capture and replay can help users identify issues with their workload directly related to issues with statement execution, SQL errors, unsupported functions and many other things. Even behavioral regressions can potentially be identified using the tool. The replay report offers a detailed view on errors and different results, where applicable.

For performance analysis, the tool also offers several benefits, comparing runtimes between statements during capture and during replay, helping users identify long-running queries and procedure calls. The replay report offers deeper insights into individual statement executions, giving a good indication on where to start a potential follow-up analysis.

A multitude of possible testing scenarios

The range of possible scenarios that can be tested using SAP HANA capture and replay is wide and offers interesting use cases for many different areas of SAP HANA.

In general, the use cases can be grouped into different categories (certain overlaps may occur). A basic classification could be:

  • Physical changes

  • Modeling changes

  • Hardware-related changes

  • Configuration changes

Some examples for physical changes are the re-distribution of tables in scale-out systems or the re-partitioning of tables in general. Both changes, depending on the landscape, are geared towards reducing network transfers during query execution or improving the access patterns during query execution, leading to better performance of a specific workload. For example, SAP HANA capture and replay can help customers decide whether a change of table placement makes query access paths better or worse. The side effect of such changes could be increased network transfer and decreased query performance.

Some examples for modeling changes are the modification of calculation view or other models residing with the database or the modification of procedure code. Similar to the previous use case, these changes can impact the performance of the workload in either positive or negative ways, making them an interesting aspect to investigate before applying the changes in a productive scenario. When changing joins, filters, other nodes in models or when modifying SQLScript code of a procedure, this can lead to side effects when compiling and executing a query, resulting in a decrease in query performance, wrong results, network transfers and more.

Hardware-related changes are almost self-explanatory. In case of scaling-up hardware, for example, customers can use SAP HANA capture and replay to test the impact a larger-sized hardware can have on the potential runtime of the queries within the captured workload. This can help decide whether the new hardware can bring about the value for the scenario the customer plans to use it for.

When dealing with system configuration in general, customers can use multiple options and parameters to modify the behavior of the database itself. Since these changes can affect different areas across the whole deployment, such modifications should not only be evaluated across single queries but sets of workload. Therefore, SAP HANA capture and replay can help identify potential side effects on other parts of captured scenarios, which might not have been considered during the original planning of configuration changes. These effects can range from too strict resource limitations, resulting in out of memory errors when executing queries, all the way to increased startup times of the database due to inconsistent pre-loading of database tables.

In summary, SAP HANA capture and replay can help customers investigate negative side effects of a wide variety of changes to their systems. Most of these errors can only be found when dealing with realistic workloads and large amounts of data, making the tool even more valuable for testing in exactly these scenarios. Ignoring these kind of side effects can have a negative impact on many different aspects for customers, ranging from database administration to total cost of ownership.

Many customer benefits

Customers can benefit from using SAP HANA capture and replay in other ways as well. Reduction of testing times and costs, the safeguarding of system stability and performance, as well as the aspect of reusability are all valuable investment areas for most customer systems.

First off, SAP HANA capture and replay is a semi-automated tool, meaning it still requires manual effort for creating captures, performing replays and analyzing them. However, the fact that captured replays can be re-used when paired with the appropriate backups can help customers define workload scenarios which can then be captured and used multiple times for testing ongoing changes in their system. This makes SAP HANA capture and replay a great addition to other test-defining tools customers are using in their day-to-day testing infrastructure.

The reduction of testing times and costs is another benefit. While not being fully automated, the process of administrating captures and replays is UI-driven and as such, simple and easy to perform for the end user. In addition, the landscape used for testing with SAP HANA capture and replay can be shared and reused for other efforts, if defined correctly. Furthermore, the tool will help customers reduce the effort of creating new scenarios for each test with its reusability, saving time and reducing cost at the same time.

Every customer will agree that safeguarding the stability and performance of a system is key to their database operations and administration. The combination of the aforementioned benefits and the multitude of possible use cases can help customers identify potential issues before they happen in their “real” system, increasing the awareness and making it possible for users to be able to alleviate side effects to a certain extent.

Looking forward

By closing gaps and providing new features, new visualizations, better analysis flows, SAP HANA capture and replay will continue to evolve and grow to meet the needs of its customers and users.

As customers transition to newer releases of SAP HANA, scale-up their hardware and improve their data models, SAP HANA capture and replay will be the tool to help them along their way to grow and improve their system landscape while safeguarding important aspects of operations.

Other useful Information / links

For a general introduction to the subject of SAP HANA capture and replay, you can consult other published blogs and sources:
1 Comment