We are currently trying to assess the best approach to creating some standard reusable models.
Yet there seems to be some fundamental confusion on approaches to architecture.
I was reading here :http://searchsap.techtarget.com/feature/Mastering-SAP-HANA-data-modeling-for-maximum-performance
Where the following was said:
redundant data is not nearly as much of an issue as it is in row-based tables: The columnar tables store repeating values only once by providing pointers to reference the duplicate data. Also, when data isn't flattened into one table and spread or normalized across multiple tables in SAP HANA, the cost of joins can grow
I get that ... but then become confused when looking at SAP's own implementation of a reusable model : SAP HANA Live.
SAP HANA Live's implementation of 'MaintenanceNotificationHeader' is below:
As you can see, the HANA Live's architecture is extremely reusable, FunctionalLocation, for example is an entity by itself, that cold be plugged into any other view that required those attributes.
Yet it is extremely vertical with minimal redundancy; and if I didn't know otherwise, I would have guessed was a diagram of an RDMS structure.
If we then look back to the opening statement, should we not instead, have a single attribute view rolling in all of these data elements ?
And if we did adhere to the opening premise, would that aid performance, but hammer re-usability....( as you would no longer have those 7 Functional Location tables grouped up in a nice tidy bundle to use anywhere !?)
I'm really looking for some thought/opinions/experiences in how to best approach these design issues.
Many Thanks