SAP is likely the largest computer software house in the world today. SAP is famous for its Enterprise Resource Planning (ERP) software, used by most of the largest companies throughout the world.
SAP’s ERP system allows businesses to store just about all the information they need to function, from data related to customers, to purchase orders, to deliveries, to invoices, through to production schedules for factories, stock levels, and so on. SAP’s main selling point is the real-time, integrated aspect of the system—if an incoming delivery is entered into the system, then the stock levels are updated in real time. Data is always fresh, always current.
In 1997, SAP released SAP Business Information Warehouse (BIW), its vision of a data warehouse solution for the SAP ERP system. This product has gone through several different versions, right up to the SAP Business Warehouse (BW) 7.3 version, the latest at the time of writing.
The SAP BW (Business Warehouse—the term used to describe the underlying technology, as opposed to Business Intelligence, used to describe the user-facing technologies) system allows users to report on the data stored in the ERP system, allowing anything from simple analysis to complex simulations on sales forecasts depending on different factors.
The BW system usually does not use the same exact database machine as the ERP system—data is moved from the ERP to the BW machine for reporting. This is done so as not to impact the data entry (vital) functions with someone wanting a report on last year’s sales (which is less important). Hence, the data in BW (and in data warehouses in general) is not always up-to-date. Data loads are generally done once per day, introducing a slight delay in data freshness.
Note, then, the two different principal functions of SAP’s software, as follows:
As we can see, the two systems will produce different loads on the system, in terms of the SQL used by the applications to “talk” to the database. The first will essentially be INSERT and UPDATE instructions, whereas the second will almost exclusively generate SELECT statements.
Traditionally, it has been very difficult to optimize SAP BW systems to provide satisfactory performance for reporting. Reports taking minutes or even hours to execute are not unheard of, despite optimization efforts including precalculation of aggregates, storing multiple copies of data at different detail levels, and so on.
What’s more, SAP (the software) has always had to rely on third-party database software for the underlying data storage. SAP (the company) has had to field untold support calls from customers dissatisfied with the performance of the ERP and BW software, where the performance problems were largely a result of the shortcomings of the database software itself. It is to address this problem that SAP has released SAP HANA.
SAP HANA is SAP’s vision of in-memory computing. Based upon several existing technologies, SAP HANA is a database system, designed to greatly speed up database accesses when reading data, while not slowing data insertion. In several real-world scenarios, SAP has managed to show speedup of more than 10 orders of magnitude, compared to previously recorded performance figures on legacy database systems. Many clients who have implemented SAP HANA have managed to achieve speedups of between 5 and 7 orders of magnitude—of course, the achieved increased speed depends on several factors, including the state of the original system, the time and effort spent transferring it to SAP HANA, and the workload. If the original system was not well designed, and the transfer to SAP HANA used as an opportunity to rework the data model, then the improvements would be greater.
HANA doesn’t actually mean anything, but some people have coined the phrase High performance ANalytical Appliance, and as this name suggests, it is not just some software you can install. The SAP HANA system comprises both the software and the hardware necessary to function. By selling SAP HANA as a complete system of its own SAP HANA database on certified hardware supplied by partners such as IBM, HP, and Dell, SAP can guarantee some level of performance (and avoid support calls from clients who aren’t getting the performance level they think they should be getting).