Enterprise information systems can be characterized as OnLine Transaction Processing (OLTP) or OnLine Analytical Processing (OLAP). In an enterprise information system landscape, OLTP systems are mostly systems that capture information either through single transactions (e.g., web forms) or batch operations (e.g., importing CSV-files). OLAP systems are business intelligence or decision support systems, which perform complex analytics (e.g., demand planning), based on the information captured by OLTP systems. Up to the present, the separation of both types of systems manifests itself in in the form of dedicated database technologies for either of the two. Systems with an OLTP database workload mainly rely on row-oriented systems, optimized for write operations. OLAP databases favor column-oriented data layout to optimize complex read operations. The data transfer from OLTP to OLAP systems is managed via an ETL process, which extracts, transforms, and loads the data. Drawbacks of that architecture include the inability to perform real-time analytics based on the most current data and an increased total cost of ownership (TCO), because two separate systems have to be managed and maintained.
One of the greatest promises of in-memory technology is the reunification of OLTP and OLAP. In-memory technology combines the advantages of hardware trends ( multi-core CPUs, cheap main memory) with suitable software concepts ( light-weight compression, column-orientation, differential buffer) to design a database system that allows run OLAP-style and OLTP-style queries on the same platform. A question that is to be answered is what is an appropriate data model design for a database system that supports mixed workloads. The data layout (row- vs. column-orientation) is only one characteristic that distinguishes OLAP and OLTP databases, the other one is the data model. Database schemas for OLTP systems are highly normalized to minimize the data volume and to speed up data manipulation queries. OLAP systems on the other hand are tuned to access large portions of data to analyze them in a timely manner. Star or snowflake schemas are the most prominent designs for OLAP database schemas.
In my research, I focus on data model designs and data access technologies that support the requirements of modern enterprise applications and at the same time are optimized for the concepts of an in-memory column-store.