SAP HANA

From Wikipedia, the free encyclopedia
Jump to: navigation, search
SAP HANA
Developer(s) SAP SE
Stable release 1.0 SPS9 / October 21, 2014; 33 days ago (2014-10-21)
Development status Active
Written in C, C++
Available in Multi-lingual
Type In-memory RDBMS
License Proprietary
Website

www.saphana.com

SAP Community Network

SAP HANA, short for "High-Performance Analytic Appliance" is an in-memory, column-oriented, relational database management system developed and marketed by SAP SE.[1][2] HANA's architecture is designed to handle both high transaction rates and complex query processing on the same platform.[3]

In addition to the database engine, HANA includes an embedded web server and version control repository that can be used for application development. HANA applications can be created using server-side JavaScript and HTML.

History[edit]

SAP HANA originates from developed or acquired technologies, including TREX search engine, an in-memory column-oriented search engine, P*TIME, an in-memory OLTP database acquired by SAP in 2005, and MaxDB with its in-memory liveCache engine.[4][5] In 2008, teams from SAP SE working with Hasso Plattner Institute and Stanford University demonstrated an application architecture for real-time analytics and aggregation, mentioned as "Hasso's New Architecture" in SAP executive Vishal Sikka's blog. Before the name "HANA" stabilised, people referred to this product as "New Database".[6]

The product provides Business Intelligence allowing real-time response.[7] The first product shipped in late November 2010.[5][8] By mid-2011, the technology had attracted interest but the conservative business customers still considered it "in early days".[9] HANA support for SAP NetWeaver Business Warehouse was announced in September 2011 for availability by November.[10]

In 2012, SAP promoted aspects of cloud computing.[11] In October 2012, SAP announced a variant called HANA One that used a smaller amount of memory on Amazon Web Services for an hourly fee.[12]

In January 2013, SAP enterprise resource planning software from its Business Suite was announced for HANA, and became available by May.[13][14] In May 2013, a software as a service offering called the HANA Enterprise Cloud service was announced.[15]

Rather than versioning, the software utilizes service packs.[16][17]

Architecture[edit]

The main process, called the index server, has a structure shown in the diagram to the right.[18]

HANA indexer components

The indexer performs session management, authorization, transaction management and command processing. Note that HANA has both a row store and a column store. Users can create tables using either store, but the column store has more capabilities. The index server also manages persistence between cached memory images of database objects, log files and permanent storage files.

The Authorization manager provides authentication and authorization services. The Authorization Manager can provide security based on SAML, OAuth or Kerberos authentication protocols.

The Extended Services (XS) Engine is a web server with privileged access to the database. Applications written with server-side JavaScript or as Java Servlets can be deployed to the XS Engine. These can either be HTML web applications or REST web service endpoints. Server-side JavaScript includes jQuery-based extensions for database access and to access HTTP request and response messages. The JavaScript engine is based on the Mozilla SpiderMonkey project.

Client applications access the HANA database directly using JDBC or via the Extended Services Engine using HTTP.

To overcome input/output bottlenecks, HANA was designed as an in-memory server, meaning that the first access to a table causes the entire table to be read and maintained in memory. Background processes maintain log files and the long-term disk storage. The query processor uses massively parallel processing. The column data store reduces the amount of data that needs to be read and eliminates the need for indexing.

Applications can bypass the SQL processor and access the Calculation Engine directly by composing XML-based queries. There are three types of non-SQL query objects: Attribute Views, Calculation Views and Analytic Views. In many cases, application performance can be increased by using these views instead of SQL queries.

Application Development [19][edit]

Applications are developed using a plugin to the Eclipse development environment called HANA Studio. Using this environment, the database can be managed and applications can be developed. Database objects (tables, views, stored procedure, etc) can be created, deployed and debugged using the Eclipse plugin. Extended Services applications can be written, deployed and debugged using HANA Studio. Standard database management functions such as database creation, user account management, backups and data import/export can be performed from HANA Studio.

The HANA server includes a version management system called the repository. Applications developed in HANA Studio are deployed via the repository which maintains a version history of each deployment artifact (table, view, procedure, JavaScript file, etc).

Applications may be moved from one server to another by creating a Distribution Unit or DU. DU's are essentially compressed archives of the files that make up an application. This may be needed when there are separate development, test and production environments. They can be created, exported and imported using HANA Studio.

While traditional client-server or multitier applications are supported via JDBC, SAP is recommending [20] that business logic contained in the client or middle tier application be moved to the HANA server as XS application(s). This tends to increase performance by reducing the amount of data transmitted from the database server to the middle tier. It also allows the application to use the CPU power found on the large servers that HANA requires.

Developers Community[edit]

The focal point of the community of developers on SAP HANA platform is SAP HANA Developer Center or "the DevCenter". The DevCenter offers general information, education materials, community forums, plus access to SAP HANA database with free licenses hosted in the public cloud (like CloudShare, Amazon Web Services, Microsoft Azure). Access to some materials and features may require free registration.

Physical Deployment[21][edit]

HANA is available as an appliance (hardware with software preloaded) from a number of vendors such as HP and IBM. HANA is also available as a cloud appliance (called HANA One) from a number of cloud service providers such as Amazon and Microsoft Azure. A free developer's edition is available from several cloud providers. HANA is not available as software alone.

An SAP account is required to deploy SAP HANA and machines. To deploy a HANA instance, you must log into your SAP account and initiate the deployment from there. When all requirements are met at the SAP site, virtual machine(s) will be created by SAP on the selected cloud service provider. This is in contrast to the more conventional approach where virtual machines are created directly on the cloud service provider's web site.

HANA requires substantial hardware resources. For example, on Amazon, the recommended instance size is 8xlarge, which has 32 CPUs, 60GB memory and 640GB disk storage.[22]

HANA can be deployed on a single machine or in a high-availability cluster. A single machine can run multiple instances of HANA.

External links[edit]

References[edit]

  1. ^ Jeff Kelly (July 12, 2013). "Primer on SAP HANA". Wikibon. Retrieved October 9, 2013. 
  2. ^ SAP HANA - The Column Oriented (Based) Database on YouTube (December 8, 2012)
  3. ^ http://www.saphana.com/docs/DOC-3817
  4. ^ Vey, Gereon; Krutov, Ilya (January 2012). "SAP In-Memory Computing on IBM eX5 Systems". Retrieved 22 October 2013. 
  5. ^ a b SAP SE (June 17, 2012). "SAP HANA Timeline". SlideShare. Retrieved October 9, 2013. 
  6. ^ "What is SAP HANA Database". Gucons web site. 2011. Retrieved October 9, 2013. 
  7. ^ Chris Kanaracus (October 19, 2010). "SAP's in-memory analytics boxes set for November release". Info World. Retrieved October 9, 2013. 
  8. ^ Chris Kanaracus (December 1, 2010). "SAP launches HANA for in-memory analytics: The in-memory analytic appliance will compete with next-generation data-processing platforms such as Oracle's Exadata machines". Info World. Retrieved September 24, 2013. 
  9. ^ Chris Kanaracus (September 15, 2011). "SAP's HANA is hot, but still in early days". Network World. Retrieved October 15, 2013. 
  10. ^ Courtney Bjorlin (November 9, 2011). "SAP Begins BW on HANA Ramp-Up, First Big Test for the HANA Database". ASUG News. Retrieved October 15, 2013. 
  11. ^ Trevis Team (April 30, 2012). "SAP Headed For $71 On Cloud, Mobile And HANA Growth". Forbes. Retrieved October 9, 2013. 
  12. ^ Doug Henschen (October 17, 2012). "SAP Launches Cloud Platform Built On Hana". Information Week. Archived from the original on October 19, 2012. Retrieved October 15, 2013. 
  13. ^ Brian McKenna (January 11, 2013). "SAP puts Business Suite on HANA, joins transactional to analytical". Computer Weekly. Retrieved October 15, 2013. 
  14. ^ "Sapphire 2013: Business Suite on HANA goes to general availability". Computer Weekly. May 15, 2013. Retrieved October 15, 2013. 
  15. ^ Chris Kanaracus (May 7, 2013). "SAP unveils HANA Enterprise Cloud service: Customers will be able to run their applications on the HANA-powered cloud". Network World. Retrieved October 15, 2013. 
  16. ^ John Appleby (May 28, 2012). "Update III: The SAP HANA FAQ - answering key SAP In-Memory questions". Bluefin Solutions. Retrieved October 9, 2013. 
  17. ^ Mellisa Tolentino (May 14, 2012). "Your SAP HANA Cheat Sheet: Milestones, Terms and More". Silicon Angle blog. Retrieved October 9, 2013. 
  18. ^ http://www.saphana.com/community/blogs/blog/2012/12
  19. ^ http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf
  20. ^ https://open.sap.com/courses/hana1
  21. ^ http://help.sap.com/hana/SAP_HANA_Administration_Guide_en.pdf
  22. ^ https://aws.amazon.com/marketplace/pp/B009KA3CRY