BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
This is one part of a faceoff between Oracle Exalytics and SAP HANA. In a separate column, an Oracle consultant argues that Oracle Exalytics is a true in-memory appliance.
There has been some confusion over exactly what SAP HANA is, so let's go there first. SAP HANA, first and foremost, is a full transactional relational database management system (RDBMS). It is ACID-compliant, which means it is fully resilient against hardware failure (it uses save points and logs to save information to disk). It supports disaster recovery and fault tolerance. It is moderately scalable for large workloads (16 TB of compressed data, 80 TB+ of comparable Oracle) and it is available as an appliance from the major hardware vendors (Cisco, Dell, Fujitsu, HP, Hitachi, IBM and NEC).
But SAP HANA is unlike any other RDBMS. First, it is fully in-memory: When you start it up, it loads the data into RAM. It has both row stores and column stores, which means it can support transactional (OLTP) and multidimensional (OLAP) workloads. All of its OLAP capabilities are virtual; you don't need to duplicate data or have a separate system for reporting. It doesn't require caches, aggregation, indexes or physical cubes, although some of these performance features are supported if you really want them.
Because it stores data just once, you can push data into it in real time using tools, such as SAP Landscape Transformation, Data Services or Event Stream Processing for transactional purposes, and report off it at the same time. In addition, it has a number of memory-resident features, including support for OLAP and planning engines of NetWeaver BW and a predictive analytics library (PAL) that allows statistical analysis over billions of rows of data in real time.
What about Oracle Exalytics?
Rob Klopp, CTO at EMC, wrote a pretty decent article explaining his views on Exalytics, and I think he's correct and succinct. Oracle Exalytics is a clever box. It is a good supplement to an existing Oracle RDBMS or Oracle Exadata database machine. It is a collection of disparate technologies including the TimesTen in-memory database, Essbase OLAP engine and Oracle BI Foundation front-end tools.
It can automatically suggest parts of the Oracle database to replicate into its "smart cache," which is basically an aggregation engine. Then your BI queries will run against either Exalytics or Oracle. So while there isn't anything wrong with Exalytics (and if you want to accelerate your existing Oracle database it could be a great solution), comparing Oracle Exalytics with SAP HANA is banal.
More on SAP HANA:
What is the SAP High-Performance Analytic Appliance (HANA)
Do your homework when looking into SAP HANA
SAP HANA a good fit for ERP performance issues
The short answer is yes, Exalytics is hugely limited because it's really just a big cache. For example (taken from the Oracle Exalytics FAQ):
- It cannot scale-out an aggregate over multiple nodes, although it supports multiple daisy-chained Exalytics appliances with multiple aggregates on each.
- The TimesTen database only supports bulk loads and therefore you cannot do delta-loads.
- You need a secondary database to load from, like Oracle Exadata because TimesTen is only a cache.
- There are limitations in the hierarchy structure.
- Calculations must be additive, so you cannot do averages or "count distinct" with good performance.
- Exalytics is read-only.
If not SAP HANA against Oracle Exalytics, then what?
The short answer here is nothing. I don't believe there is anything on the market that is comparable to SAP HANA. Its features and capabilities are different from anything else out there. However, customers do need to make comparisons, and when they do, they usually compare SAP HANA against Oracle Exadata.
This is because while they are different in terms of hardware and architecture, they are similar in usage types. Both are useful for high performance mixed-workloads (OLTAP if you like) and both are interesting solutions for transactional data stores and operation data stores.
But, for now, my conclusion is that if you are an Oracle shop and you want a plug-in smart cache for Oracle, then Exalytics isn't a bad solution. If you want a database that will outperform Oracle by a factor of 10:1 to 1,000:1 and that will replace Oracle, then look no further than SAP HANA.
ABOUT THE AUTHOR
John Appleby is a consulting executive at Bluefin Solutions. He manages a global team of consultants on four continents and is currently focused on developing Bluefin's SAP HANA practice.