What is in-memory database?
An in-memory database means all the data is stored in the memory (RAM). This is no time wasted in loading the data from hard-disk to RAM or while processing keeping some data in RAM and temporary some data on disk. Everything is in-memory all the time, which gives the CPUs quick access to data for processing.
The speed advantages offered by this RAM storage system are further accelerated by the use of multi-core CPUs, and multiple CPUs per board, and multiple boards per server appliance.
Key hardware technology Innovations in SAP HANA
Multi-core architecture (8 CPU x 10 cores per blade). Massive parallel scaling with many blades.
Ram Memory space is extended - 2 TB of memory - with dramatic decline in price.
An in-memory database means all the data is stored in the memory (RAM). This is no time wasted in loading the data from hard-disk to RAM or while processing keeping some data in RAM and temporary some data on disk. Everything is in-memory all the time, which gives the CPUs quick access to data for processing.
The speed advantages offered by this RAM storage system are further accelerated by the use of multi-core CPUs, and multiple CPUs per board, and multiple boards per server appliance.
Key hardware technology Innovations in SAP HANA
Multi-core architecture (8 CPU x 10 cores per blade). Massive parallel scaling with many blades.
Ram Memory space is extended - 2 TB of memory - with dramatic decline in price.
Key software technology innovations in SAP HANA
To understand the impact SAP HANA has on the ABAPer, it can be helpful to revisit some of the key innovations introduced with the in-memory database technology.
A new paradigm for ABAP emerges: “code-2-data”
To leverage the outlined innovations introduced with SAP HANA from ABAP, the database access becomes very important. And it is crucial – not so say compulsory – for ABAP applications to move data intense operations (i.e. costly calculations on large datasets) to the database layer. This is in some respects a paradigm shift, which is often referred to as “code pushdown” or “code-2-data” approach (in contrast to the “data-2-code” approach ABAP programs followed in the past).
The above diagram illustrates the two approaches: the “data-2-code” approach on the left and the “code-2-data” approach on the right.
What is the difference between the two?
In the past (based on traditional database technology) ABAP applications considered the database to be the bottleneck. Hence the complete business logic – including costly calculations – was implemented on the application layer. Very often a large number of records was transferred from the database to the application server to calculate only a few results there (for example to aggregate many line items to only a handful of key figures).
Now and in the future (based on SAP HANA) the database is not the bottleneck anymore. ABAP applications need to move – at least – parts of the business logic to the database layer. This not only reduces the amount of data to be transferred between database and application server, but it also ensures that the part of the business logic moved to the database (implicitly) benefits from the innovations built into SAP HANA.
However – especially when looking at existing ABAP programs – rewriting the business logic completely in the database might not be reasonable due to the efforts involved. Instead the “code pushdown” should mainly focus on costly calculations on large datasets. Orchestration, process and display logic should stay on the AS ABAP.
What does all that mean for the ABAPer?
The new capabilities of SAP HANA offers a huge variety of opportunities for ABAP developers:
- Accelerate: by optimizing the code, the run-time for background jobs can be reduced.
- Extend: turn background jobs into interactive applications.
- Innovate: With SAP HANA's analysis and calculation capabilities, ABAP developer can design new applications that would not have been possible in the past.
The arrival of in-memory technology on the database layer also requires a change in the way we design and implement applications.
No comments:
Post a Comment