I just came across SAP note 1850112 – Changes to technical properties row/column store again and found it to be an interesting and reassuring collection of design decisions taken over time.
The decisions taken are about changing the storage type for SAP Netweaver tables on SAP HANA systems.
Counting how many tables were “moved” from one storage engine to another in which SAP Netweaver SP results in the table below:
|Version||to COLUMN STORE||to ROW STORE|
|7.40 SP 3||88|
|7.40 SP 5||12|
|7.40 SP 8||57||1|
In total 157 times the developers found that moving a table from row store to column store would be beneficial.
Only in one case, table QRFC_I_QIN_LOCK, the decision was to move a column store table to row store.
(* the way this table is used, like many other RFC and message queue tables, is quite specific, which makes it less suited for the column store)
Now, why is this remarkable?
Back in 2011 when SAP Netweaver porting to SAP HANA started, SAP internal developers had been advised to choose the storage for “their” tables based on the recommendations that can still be found in today’s SAP HANA Administration Guide.
Seeing that the decisions taken back then have been revised not only shows that SAP HANA’s column store is capable of handling production workload.
More than this it underlines the whole point of column store concepts.
It is made for business application.
It lends itself to the way, data is used in such systems and it allows to automatically take advantage of improvements in hard and software. Automatic parallel query processing and efficient mass data processing via SIMD are just two examples for that.
One conclusion of this can be:
If your application is using data in a similar way, then using column store tables is very likely the best single design decision you can take.
In fact, at least in my opinion, it is about time to change the default table type (parameter indexserver.ini • sql  • table_type) to COLUMN as it really is the new “normal table type”.