28.01.2013 Views

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The <strong>SAP</strong> <strong>HANA</strong> database has its own scripting language named SQLScript. The motivation for SQLScript is to<br />

embed data-intensive application logic into the database. Classical applications tend to offload only very limited<br />

functionality into the database using SQL. This results in extensive copying of data from and to the database, and<br />

in programs that slowly iterate over huge data loops and are hard to optimize and parallelize. SQLScript is based<br />

on side-effect free functions that operate on tables using SQL queries for set processing, and is therefore<br />

parallelizable over multiple processors.<br />

In addition to SQLScript, <strong>SAP</strong> <strong>HANA</strong> supports a framework for the installation of specialized and optimized<br />

functional libraries, which are tightly integrated with different data engines of the index server. Two of these<br />

functional libraries are the <strong>SAP</strong> <strong>HANA</strong> Business Function Library (BFL) and the <strong>SAP</strong> <strong>HANA</strong> Predictive Analytics<br />

Library (PAL). BFL and PAL functions can be called directly from within SQLScript.<br />

<strong>SAP</strong> <strong>HANA</strong> also supports the development of programs written in the popular statistics language R.<br />

SQL and SQLScript are implemented using a common infrastructure of built-in data engine functions that have<br />

access to various meta definitions, such as definitions of relational tables, columns, views, and indexes, and<br />

definitions of SQLScript procedures. This metadata is stored in one common catalog.<br />

The database persistence layer is responsible for durability and atomicity of transactions. It ensures that the<br />

database can be restored to the most recent committed state after a restart and that transactions are either<br />

completely executed or completely undone.<br />

The index server uses the preprocessor server for analyzing text data and extracting the information on which the<br />

text search capabilities are based. The name server owns the information about the topology of a <strong>SAP</strong> <strong>HANA</strong><br />

system. In a distributed system, the name server knows where the components are running and which data is<br />

located on which server. The statistics server collects information about status, performance and resource<br />

consumption from the other servers in the system. Monitoring clients, such as the <strong>SAP</strong> <strong>HANA</strong> studio, access the<br />

statistics server to get the status of various alert monitors. The statistics server also provides a history of<br />

measurement data for further analysis.<br />

Related Links<br />

<strong>SAP</strong> <strong>HANA</strong> SQLScript Reference<br />

<strong>SAP</strong> <strong>HANA</strong> Business Function Library (BFL) Reference<br />

<strong>SAP</strong> <strong>HANA</strong> Predictive Analysis Library (PAL) Reference<br />

<strong>SAP</strong> <strong>HANA</strong> R Integration <strong>Guide</strong><br />

2.3 <strong>SAP</strong> <strong>HANA</strong> Extended Application Services<br />

Traditional database applications use interfaces such as ODBC and JDBC with SQL to manage and query their<br />

data. The following illustrates such applications using the common Model-View-Controller (MVC) development<br />

architecture.<br />

12<br />

P U B L I C<br />

© 2012 <strong>SAP</strong> AG. All rights reserved.<br />

<strong>SAP</strong> <strong>HANA</strong> <strong>Developer</strong> <strong>Guide</strong><br />

<strong>SAP</strong> <strong>HANA</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!