Traditional applications such as SAP Business Suite were built on a hierarchical data model.Detailed data was summarized into higher-level layers of aggregation to help system performance. On top of aggregates, more aggregates were built, as well as special versions of the database tables to support special applications. As well as storing the extra copies of data, application code had to be built to maintain extra tables and keep them up to date.These extra tables also needed to be backed up, so even the IT operations were impacted.In addition to aggregates, another inefficiency needed to be removed. Database indexes improve access speed because they are based on common access paths to data. However,they need to be constantly dropped and rebuilt each time the tables are updated, and more code is needed to manage this process.The traditional data model is complex, and a complex data model causes the application code to be complex. It has been found that up to 70% of application code is built specifically for performance of an application and adds no value to the core business function.With a complex data model and complex code, integration with other applications and enhancements is difficult, and not agile enough for today's fast-moving environment.