The HANA table conundrum
I wanted to type up this quick blog as I’m sure many of us face the same challenges on SAP HANA, in particular the challenge of choosing the correct table type. I was hesitant to press publish as I felt it was not yet a complete criteria list and then at some point I realised I might never reach a full criteria list so pressed publish, at least a starting point. 🙂
EDIT: Thanks to Lars Breddemann for providing a few insightful blogs in the comments section, when referring to CDS in this blog I was referring to CDS without HDI (HANA Deployment Infrastructure). I will expand the blog to include a comparison to CDS within HDI framework.
SAP HANA offers a few different options and it is not always clear which option to use, the simple answer… it really depends on your requirements.
Online commentary suggests that within the scope of Design Time Persistence modelling, the future is the CDS Entity but I have yet to see that HDB Tables are marked as obsolete functionality. It does however mean that if CDS is the future, SAP will focus their development efforts into CDS. (Note: The book “SAP HANA Advanced Modeling” By Stefan Hartmann has a really good section comparing CDS Entity to standard tables.)
When focussing on Design Time Persistence modelling (HDB Table / CDS Entity), there are certain scenarios where Design Time Persistency modelling will not suffice for e.g. Dynamic Tiering. The Dynamic Tiering scenario requires other table types such as extended tables and multistore tables, I have not focussed in detail on this scenario with the exception of highlighting extended table and multistore table support as per notes 2140959/2394124.
I’ve tried to categorise the 3 main types in the table below showing the features available per type, this is not a conclusive list as I’ve just focussed on the features I’ve tried to play with and which were deemed important for implementation. I hope to grow this comparison over time.
If a particular feature is really important, such as Lifecycle Management, then you will be forced in a particular direction, however I suspect most implementations have a blend of Design Time Persistance modelling and DDL SQL tables.
Look forward to hearing other points of view on this topic and hopefully have no glaring errors or omissions. Have a great week!
Thanks for keeping up your blogging streak, Dot!
I think it's really important that we have much more well-written "from the trenches" information like yours.
Concerning the comparison, however, I fear that it's even more complicated than that.
CDS, the data declaration format that is the strategic development direction for SAP HANA and S/4 HANA, nowadays supports most of the HANA table technical settings. Most of these supported features are only available when the HANA Deployment Infrastructure (HDI) is used.
Check Thomas' blogs on that:
https://blogs.sap.com/2015/12/08/sap-hana-sps-11-new-developer-features-hana-core-data-services/
https://blogs.sap.com/2015/12/08/sap-hana-sps-11-new-developer-features-hdi/
Having said that the 'technical settings' are also available w/o HDI (at least on my SPS12).
Other relevant reads on this are
https://archive.sap.com/discussions/thread/3874727
https://blogs.sap.com/2016/12/01/sap-hana-2.0-sps-0-new-developer-features-database-development/
Cheers,
Lars
p.s. waiting for some technology to be explicitly marked as deprecated will have you waiting for a long time in the SAP world. Especially if it's "base"-layer technology like HANA. Some exotic niche application product might depend on a specific feature (even though alternatives are available for that) and then it's still easier to just continue having that feature in HANA than to go and rewrite applications...
Thanks for comment Lars, I'm hoping to keep up the blogging and sharing of ideas. I learn so much from everyone else's blogs that I also want to give back. Will definitely read through the blogs you've listed. 🙂
Comment
We went for hdbtable because those nice "long names" for a column / table field cannot be defined using CDS. Sometimes called comment.
Even listed as missing under normal SAP Help regarding CDS.
Really strange that it takes so long to add that missing feature. Just imagine a table with a lot of columns and you only have these "technical" names. Quite cumbersome for eg calculation views.
I’ve consolidated all my profiles into central profile, if you have a comment/question, please don’t comment on this old blog, please go to the following repost or send me a message:
https://blogs.sap.com/2019/09/24/the-hana-table-conundrum-2/