BWA, Exalytics and SAP-HANA
Ever since SAP-HANA was announced couple of years back, I’ve been following the discussions/developments around In-Memory Database space. In Oct 2011, Oracle CEO Larry Ellison introduced Oracle Exalytics to compete with SAP-HANA. After reading white papers on both SAP-HANA and Oracle Exalytics, it was obvious they were different. The comparison of SAP-HANA and Oracle Exalytics is like comparing apples to oranges.
On May 8, 2012 I tweeted:
Not sure who 3 blogs’ authors are addressing. Vishal Sikka addressing techs?why now?Most Techs already knew.nthg new
— Bala Prabahar (@praba01) May 8, 2012
SAP Mentor David Hull responded:
Perhaps most that are plugged in, as you are. But most I talk with haven’t a clue as to the diff between the two.
— David Hull (@sapdba) May 8, 2012
I was a bit surprised to know that most don’t have a clue as to the difference between Exalytics and SAP-HANA. The difference looked obvious to me. I realized either I was missing something or they were. So I decided to write this blog. And since this blog compares SAP products with Oracle products, I’ve decided to use Oracle DB instead of generic term RDBMS.
First I’ll discuss the similarity between SAP-BW, Oracle-Exalytics and SAP-HANA. At a very high level, they look similar as shown in the picture below:
As shown, BW application sits on top of a database, Oracle or SAP-HANA. And the application helps the user find right data. The similarity ends there.
Let us now review how Oracle-Exalytics compares with SAP-BW with Business Warehouse Accelerator (BWA): As you can see below, there appears to be one-to-one match between the components of SAP-BW and Exalytics.
|1 and 1a||
Data found in BWA;
and returned to the user
Data found in
Adaptive Data Mart & returned to the user
|2 & 2a||
Data found in OLAP
Cache and returned to the user
|Data found in Intelligent cache and returned to the user||
This means data was not found in BWA
or Adaptive Data Mart
|3 & 3a||
Data found in
Aggregates and returned to the user
|Data found in Essbase Cubes and returned to the user||
This means data was not found in
1) Adaptive Data Mart or BWA and
2) OLAP Cache or Intelligent Cache
|4 & 4a||
Data found in Cubes
and returned to the user
Not sure if Essbase supports aggregates;
However Oracle supports materialized
views;I assume this is similar to SAP-BW’s aggregates.
The diagram below shows why Exalytics Vs SAP-HANA comparison is like apple to orange comparison. In Exalytics, the information users need gets pre-created at a certain level/granularity. One of the best practices in BW/DW world is to create the aggregates upfront to get acceptable response times.
In SAP-HANA, however, aggregates are created on the fly; data in SAP-HANA resides in raw form, and depending on what users need, the application performs the aggregation at runtime and displays the information on the user’s screen. This helps the users perform analysis near real-time and more quickly.
Based on the diagrams shown above, Exalytics it seems is comparable to SAP’s six year old BWA technology.
Based on discussions above, the diagram below compares all three products SAP-BW with BWA, Exalytics and SAP-HANA.
Note: I didn’t connect Disk to HANA DB because it is primarily used for persistence.
I wanted to keep this blog simple so didn’t include a lot of details. Depending on your questions/thoughts, I’m planning to either update this blog or write new blog.
Is HANA much similar to Oracle + Exadata?
What are they good at or not good at?
Exadata as you can see from the diagram in the blog, is a component of Exalytics. Exadata would be faster than traditional Oracle databases but not comparable to BWA or SAP-HANA. Exadata no way is similar to SAP-HANA.
Exadata includes Oracle; Exadata is storage server with storage disk. The storage server contains more memory and data is processed or aggregated near where data is.
In traditional non-exadata Oracle Databases, data is read into DB server's SGA and then processed/aggregated. This means if an user needs aggregated value of some kind and it needs to read let us say 1000 records, they will be read into SGA of DB server, aggregated and then one record will be returned to the user.
In Exadata, 1000 records will be read into Exadata storage server - Exadata Storage Servers provide a high-bandwidth, massively parallel solution delivering up to 75 GB per second of raw I/O bandwidth and up to 1,500,000 database I/O operations per second -
which is close to disk, aggregated and then one record will be returned to the user through Oracle's SGA.
I hope this helps.
Thank you, Bala!
I've got what you mean.
When you see the new Exalytics in-memory machine with TimesTen, does the combination of TimesTen and in-memory machine look like HANA or BWA?
There seems to be too complicated components architecture in Exalytics.
There is no old or new Exalytics. Only one Exalytcs with different capacities.
A part of Exalytics runs in In-Memory DB called TimesTen. The components Adaptive Data Mart and intelligent cache in the diagram reside in TimesTen DB. So The combination of TimesTen and In-Memory machine look like BWA. (Note: "The combination of TimesTen and In-Memory" doesn't make sense. I'm just using your lingo. Without TimesTen, Exalytics wouldn't be In-Memory. Exalytics is called In-Memory because of TimesTen).
In BWAccelerator, we load very critical cubes into BWA. Similarly in Exalytics, we need to identify "hot" data and load it into TimesTen db. The logical name for that is called "Adaptive Data Mart".
Other components of Exalytics are ESSBASE, Oracle DB and Exadata (or you can simply say Exadata as Exadata automatically includes Oracle).
Bala, I appreciate your patient and kind clarification on my dull questions.
Now I can tell somewhat about difference between Exalytics and HANA.