SAP HANA Database: Data Management For Modern Business Applications
SAP HANA Database: Data Management For Modern Business Applications
net/publication/220416086
CITATIONS READS
274 7,459
6 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Stefan Sigg on 01 June 2014.
"!!"
" * !+ *
+
#" ) #"
("
"(
"
&#" !)
"
) '
!!!
"" "
*%# &"
" +
!!"'
'
$ '
"
JDBC or ODBC), SQL Script, MDX or other domain- The Authorization Manager is invoked by other
specific languages like SAP’s proprietary language FOX HANA database components to check whether a user
for planning applications, or WIPE, which combines has the required privileges to execute the requested op-
graph traversal and manipulation with BI-like data ag- erations. A privilege grants the right to perform a spec-
gregation to communicate with the HANA database. ified operation (such as create, update, select, or exe-
SQL Script is a powerful scripting language to describe cute). The database also supports analytical privileges
application-specific calculations inside the database. that represent filters or hierarchy drill-down limitations
SQL Script is based on side-effect-free functions that for analytical queries as well as control access to val-
operate on database tables using SQL queries, and it has ues with a certain combination of dimension attributes.
been designed to enable optimization and paralleliza- Users are either authenticated by the database itself, or
tion. the authentication is delegated to an external authentica-
As outlined in our introduction, the SAP HANA tion provider, such as an LDAP directory.
database provides full ACID transactions. The Trans- Metadata in the HANA database, such as table defi-
action Manager coordinates database transactions, con- nitions, views, indexes, and the definition of SQL Script
trols transactional isolation, and keeps track of run- functions, are managed by the Metadata Manager. Such
ning and closed transactions. For concurrency con- metadata of different types is stored in one common cat-
trol, the SAP HANA database implements the classical alogue for all underlying storage engines.
MVCC principle that allows long-running read transac- The center of Figure 2 shows the three In-Memory
tions without blocking update transactions. MVCC, in Storage Engines of the HANA database, i.e., the Re-
combination with a time-travel mechanism, allows tem- lational Engine, the Graph Engine, and the Text En-
poral queries inside the Relational Engine. gine. The Relational Engine supports both row- and
Client requests are parsed and optimized in the Opti- column-oriented physical representations of relational
mizer and Plan Generator layer. Based on the optimized tables. The Relational Engine combines SAP’s P*Time
execution plan, the Execution Engine invokes the differ- database engine and SAP’s TREX engine currently be-
ent In-Memory Processing Engines and routes interme- ing marketed as SAP BWA to accelerate BI queries in
diate results between consecutive execution steps. the context of SAP BW. Column-oriented data is stored
SQL Script and supported domain-specific languages in a highly compressed format in order to improve the
are translated by their specific compilers into an inter- efficiency of memory resource usage and to speed up the
nal representation called the “Calculation Model”. The data transfer from storage to memory or from memory
execution of these calculation models is performed by to CPU. A system administrator specifies at definition
the Calculation Engine. The use of calculation models time whether a new table is to be stored in a row- or in
facilitates the combination of data stored in different In- a column-oriented format. Row- and column-oriented
Memory Storage Engines as well as the easy implemen- database tables can be seamlessly combined into one
tation of application-specific operators in the database SQL statement, and subsequently, tables can be moved
engine. from one representation form to the other [4]. As a
ploit the knowledge of the OLAP models carrying much application semantics of currency conversion comprises
more semantics compared to plain relational structures. more than 1,000 lines of code. Figure 3(a) illustrates
As an additional example of this “Beyond SQL” fea- the graphical tool to create a “Calculation Model” in the
ture, consider the disaggregation step in financial plan- SAP HANA database by applying a currency conversion
ning processes [3]. In order to distribute coarse-grained function to an incoming data stream. As can be seen, the
planning figures to atomic entries—for example, from data source itself comprises not only simple columns but
business unit level to department level—different dis- also comprehensive metadata such as type information
tribution schemes have to be supported: relative to the with respect to plain, calculated, or derived measures.
actual values of the previous period, following constant The application designer creates a logical view us-
distribution factors, etc. Since disaggregation is such a ing the Information Modeler and applies pre-defined ap-
crucial operation in planning, the SAP HANA database plication logics provided by the BFL. As shown in the
provides a special operator, available within its domain- modeling dialog of Figure 3(b), the parameters of the
specific programming language, for planning scenarios. currency conversion function can be set in multiple ways
Obviously, such an operator is not directly accessible via to instrument the business logic. In the current example,
SQL. Following this principle, the SAP HANA database the function performs a conversion to the currency with
also provides a connector framework to work with “ex- respect to the specific company code (given in column
ternal” language packages like the statistical program- AT_COMPANY_CODE.WAERS).
ming environment R [1]. To summarize, the SAP HANA database provides a
In addition to specifically tailored operators, the SAP classical SQL interface including all transactional prop-
HANA database also provides a built-in Business Func- erties required from a classical database management
tion Library (BFL) that offers SAP-specific application system. In addition, the SAP HANA database posi-
code. All business logic modules are natively integrated tions itself as a system “Beyond SQL” by providing an
into the database kernel with a maximum degree of par- ecosystem for domain-specific languages with particu-
allelism. Compared to classical stored procedures or lar internal support on the level of individual operators.
stored functions, the BFL is included in the database Moreover, the concept of a BFL to provide a set of com-
engine using all the technical advantages of deep in- plex, performance-critical, and standardized application
tegration. A prominent example of an application- logic modules deep inside the database kernel creates
specific algorithm is the procedure of currency conver- clear benefits for SAP and customer-specific applica-
sion. Though supposedly simple in nature—a scalar tions.
multiplication of a monetary figure with the conversion
rate—the actual implementation covering the complete
!
SAP HANA Appliance is also planned to be used to con-
solidate local BI data marts exploiting a built-in multi-
tenancy feature.
The third step in the current roadmap – introducing
the SAP HANA Appliance to the market in an evolution-
ary way – consists of extending the HANA ecosystem
with new applications using the modeling and program-
(b) Running SAP BW ming paradigm of the SAP HANA database in combina-
tion with application servers. Depending on the specific
customer setup, long-term plans are to put HANA also
under the classical SAP ERP software stack.
To summarize, the basic steps behind the HANA
roadmap are designed to integrate with customers’ SAP
installations without disrupting existing software land-
scapes. Starting small with local BI installations, putting
the complete BW stack on top of HANA in combination
(c) Platform for new applications with a framework to consolidate local BI installations, is
considered a cornerstone in the SAP HANA roadmap.
Figure 4: Planned SAP HANA roadmap
5. SUMMARY
4. THE HANA ROADMAP Providing efficient solutions for enterprise-scale ap-
Although, from a technology perspective, the SAP plications requires a robust and efficient data manage-
HANA database is based on the SAP BWA system with ment and processing platform with specialized sup-
its outstanding record of successful installations, the port for transaction, analytical, graph traversal, and text
generally novel approach of a highly distributed system retrieval processing. Within the SAP HANA Appli-
with an understanding of semantic business models re- ance, the HANA database represents the first step to-
quires time for customers to fully leverage their data wards a new generation of database systems designed
management infrastructure. SAP intends to pursue an specifically to provide answers to questions raised by
evolutionary, step-wise approach to introduce the tech- demanding enterprise applications. The SAP HANA
nology to the market. database, therefore, should not be compared to classical
In a first step, the SAP HANA Appliance is posi- SQL or typical key-value, document-centric, or graph-
tioned to support local BI scenarios. During this step, based NoSQL databases. HANA is a flexible data stor-
customers can familiarize themselves with the technol- age, manipulation, and analysis platform, comprehen-
ogy exploiting the power of the new solution without sively exploiting current trends in hardware to achieve
taking any risk for existing mission-critical applications. outstanding query performance and throughput at the
SAP data of ERP systems will be replicated to the SAP same time. The different engines within the distributed
HANA Appliance in real-time fashion. Data within the data processing framework provide an adequate solu-
SAP HANA Appliance can be optionally enhanced by tion for different application requirements. In this pa-
external non-SAP data sources and consumed using the per, we outlined our overall idea of the SAP HANA
SAP BOBJ analytical tools. Aside from new analytical database, sketched out its general architecture, and fi-
applications on top of HANA, the primary use case here nally gave some examples to illustrate how an SAP
is the acceleration of operational reporting processes di- HANA database positions itself “Beyond SQL” by na-
rectly on top of ERP data. tively supporting performance-critical application logics
The plan for the second phase of the roadmap, as as an integral part of the database engine.