I was expecting to get insights in HANA from this article. Unfortunately, it is just another white paper without technical details.
HANA is main-memory database and implements both column-oriented storage and row-oriented storage. This mix is getting popular (see C-Store). In contrast to C-Store, which uses row-store for updates and column-store for analysis, HANA's article recommends to use row-store for meta-data and column-store for real data. Data in column-store are processed by both read-write and read-only transactions. Note that HANA supports ACID transactions. Therefore, having both column-store and ACIDness can potentially lead to performance issues due to:
- Column-stores are design for scans and perform badly for many small insert transactions.
- Maintaining ACID is expensive if update or insert transactions are large.
The article does not say how ACID property should be utilized in applications. Another missing point is how a database should be populated.
Another question related to database population and transactions: how scale-out is supported in the case of updates. According to CAP-theorem consistency, i.e., ACIDness, should be relaxed for scale-out. It will be great to see how HANA works for data population and analysis at the same time.
Having different engines for different data kinds such as relational data, graph data, text data under single hood is a good idea. It will be interesting to see performance and complexity of applications with data managed by several engines at the same time.
Details about "Beyond SQL" features are also missing.