What if your car could tell you the nearest, cheapest, or safest place to park as you approach your destination? What if a jet engine or gas pipeline could predict its own potential future failure and trigger remediation in advance of a catastrophic disaster? These kinds of innovations are now possible thanks to SAP HANA.
With SAP HANA, developers are given a platform with the capabilities they need to create applications that would not have been feasible before now. And SAP has been positioning SAP HANA to make it as accessible as possible for developers, providing free trial licenses, making SAP HANA available in the cloud with SAP HANA One, and creating the SAP Startup Focus program, which lends development support to innovative startup companies.
The response has been tremendous. Startups and developers all over the world are building advanced and creative solutions on the SAP HANA in-memory database platform, creating an entirely new breed of applications and services that can turn the ever-growing mass of big data into high-value, insightful, relevant, and actionable insight.
To set the context for how SAP HANA has become the enabler of big data innovation, let’s take a look at what makes it tick.
Data Without Limits
The first thing that jumps out to the discerning eye when looking more closely at SAP HANA is that it is not a narrow platform or specialty solution. The SAP HANA platform brings together core innovations, like being 100% in-memory at runtime and possessing a column-store architecture that underpins everything it does (see Figure 1).
SAP HANA removes the limits of traditional database architecture, enabling you to perform near real-time online application processing (OLAP) analysis on an online transaction processing (OLTP) data structure. As a result, developers can create business applications that support the real-time needs of today’s businesses. With SAP HANA, main memory space has now become practically unlimited, with the ability to hold all the business data of enterprises of every size.
There are many components that make up the SAP HANA platform. Here, we’ll take a closer look at a some of these key pieces.
SAP HANA incorporates a full database management system (DBMS) with a standard SQL interface, transactional isolation and recovery capabilities, and high availability. This DBMS is the only technology available on the market today that can perform both data warehousing and transactions in the same database.
Another unique feature of the SAP HANA DBMS is the in-memory capabilities, which leverage the appliance concept and multicore hardware capabilities to boost scanning speeds from hours to seconds. This feature presents the perfect opportunity to save development cycles by providing a baked-in solution that ramps-up speed and doesn’t require the integration of additional tools.
Analytical and Special Interfaces
In addition to SQL, SAP HANA supports business intelligence (BI) clients using multidimensional expressions (MDX) for products such as Microsoft Excel and BI consumer services (BICS), an internal interface for SAP BusinessObjects solutions. This means that, for analytical planning, you could iterate values on aggregated analytical reports. Then, after this value iteration, SAP HANA can immediately recalculate any value with its in-memory planning engine to greatly reduce query time.
Parallel Data Execution Capabilities
SAP HANA manages SQL processing instructions into an optimized model that allows parallel execution and scales incredibly well in multicore processors. This optimized model involves partitioning the data in sections so calculations can be executed in parallel. SAP HANA also supports distribution across hosts, allowing large tables to be partitioned and processed in parallel by multiple hosts.
The parallel-data-flow computing model is also extended with application-specific logic that is executed in processing nodes as part of the model. Support includes SQLScript as a functional language and “L” as an imperative language, which means you can call upon the prepackaged algorithms available in the predictive analytical library of SAP HANA to perform advanced statistical calculations.
SAP HANA Application Function Libraries
Within SAP HANA, functions for a particular functional area are grouped into an application function library (AFL), such as the predictive analytical library (PAL) and the business function library (BFL).
These libraries deliver pre-packaged functionality, enabling you to spend fewer cycles building information models. They are also particularly useful when you need to fill in the gaps of a large data set to make a business prediction.
Predictive Analytical Library
PAL contains a number of universal predictive algorithms that can execute directly against the data in SAP HANA. PAL also provides support for an array of clustering, classification, association, and time series functions.
Many of the standard algorithms used in data mining and predictive analysis would be too onerous or even impossible to implement yourself in SQLScript. On the other hand, if you want to perform real-time predictive analysis, you need to avoid exporting your data to an external application server to run the predictive analysis function. That’s where PAL comes in.
The idea behind PAL is to make it very straightforward to execute, for example, a clustering calculation (like K-means) on your data in SAP HANA with just a few lines of SQLScript. In most cases, users identify an input table, populate a parameter table (setting up the parameters of the function), identify an output table, and let SAP HANA and PAL do the rest.
Business Function Library
BFL is another SAP HANA native application library. It contains pre-built parameter-driven functions in the financial area. BFL business functions follow the same basic approach as PAL functions in that you create an input table, parameter table, and an output table to receive the results. The user interacts with each function via SQLScript, but the bulk of the work is done in SAP HANA’s high-performance calculation engine.
BFL extends the computation ability of SAP HANA with complex and performance-critical algorithms that fit a wide array of business needs. Examples of common business functions enabled by BFL include “rolling forecasts from current forecast and actual sales data” and more fundamental functions like “moving average” and “moving sum.”
SAP HANA supports integration with R — a free software environment that supports statistical analysis — and makes leveraging R easy for developers. R itself is distributed through a free GNU license and is a completely separate offering from SAP HANA. But SAP HANA’s integration with R means that users can take advantage of the massive library of statistical packages that R and the R community have generated.
SAP HANA uses the external R environment to execute R code similarly to how it would handle native database operations like joins or aggregations. This allows developers to embed R function definitions and calls within SQLScript and submit the entire code as part of a query to the database. An efficient data exchange mechanism supports the transfer of intermediate database tables directly into R’s vector-oriented data.
SAP HANA Extended Application Services
Traditional applications often use JDBC or ODBC to interact with their data; SAP HANA supports this too. However, one performance-limiting aspect of this approach is that it involves the application taking a copy of the data into the application server for further processing and preparation for rendering in the user interface.
The result of supporting all of these options in one broad platform is that it allows you to perform a large percentage of data processing and shaping right on an in-memory projection of the data, in real time, without the need to extract, duplicate, transform, load, and process it elsewhere. This reduction of layers or “hops” goes a long way to simplifying and optimizing the landscape and improving performance.
SAP HANA: An Ideal Platform for Developers
Developers around the world — including those who work within the SAP ecosystem and those who are entirely new to the SAP space — are now innovating with SAP HANA. I strongly encourage all companies and developers to take a closer look at SAP HANA and see where the platform could fit into your future.
For more information on SAP HANA, visit www.saphana.com. Or, if you’re a developer ready to see what you can create with SAP HANA, get started by visiting the SAP Community Network SAP HANA Developer Center at http://scn.sap.com/community/developer-center/hana.
David Sonnenschein (firstname.lastname@example.org; Twitter: @dsonnen) is part of the SAP Startup Focus program’s Development Accelerator, helping early stage companies adopt the SAP HANA platform across a broad spectrum of domains.