In-memory column-oriented databases have become a major topic of interest in academia and commercial applications. The demand for analytics on up-to-the-minute data and the availability of systems with hundreds of gigabytes of main memory led to the proposal of combined systems, which provide a single database for operational processing and adhoc analytical queries on current data. Recent research has identified In-Memory Column-Stores as a possible database architecture to meet these requirements. They are claimed to be capable of delivering the analytical insights while providing sufficient transactional performance. Data therein is typically split up into a write-optimized partition, which gains speed from its small size and tree-structured indices, and a larger read-only partition. To enable fast transactional and analytical performance, an index on the large, read-only partition is advisable in many cases. In this paper we present an index structure for the read-only partition, describe its advantage over the column scan and present an algorithm for the maintenance of the index. The index drastically reduces the memory traffic during query execution, leading to faster lookups and joins, thereby providing benefits to transactional and analytical processing. We analyze the memory traffic of index lookups in comparison with full column scans and the maintenance of the index structure. We develop formulas to determine the viability of an index lookup over a column scan at query runtime. While other research claimed that an index for in-memory systems should just be rebuild after every bulk-load, we show that a substantial performance increase can be achieved by reusing the former index to create an updated index. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. This article was presented at: The Third International Workshop on Accelerating Data Management Systems using Modern Processor and Storage Architectures (ADMS’12). Copyright 2012.
[1]
Kenneth A. Ross,et al.
Making B+- trees cache conscious in main memory
,
2000,
SIGMOD '00.
[2]
Alexander Zeier,et al.
SIMD-Scan: Ultra Fast in-Memory Table Scan using on-Chip Vector Processing Units
,
2009,
Proc. VLDB Endow..
[3]
Harumi A. Kuno,et al.
Merging What's Cracked, Cracking What's Merged: Adaptive Indexing in Main-Memory Column-Stores
,
2011,
Proc. VLDB Endow..
[4]
Coniferous softwood.
GENERAL TERMS
,
2003
.
[5]
Kenneth A. Ross,et al.
Cache Conscious Indexing for Decision-Support in Main Memory
,
1999,
VLDB.
[6]
Alexander Zeier,et al.
HYRISE - A Main Memory Hybrid Storage Engine
,
2010,
Proc. VLDB Endow..
[7]
Alexander Zeier,et al.
In-memory data management
,
2011
.
[8]
Pradeep Dubey,et al.
Efficient implementation of sorting on multi-core SIMD CPU architecture
,
2008,
Proc. VLDB Endow..
[9]
Pradeep Dubey,et al.
Fast Updates on Read-Optimized Databases Using Multi-Core CPUs
,
2011,
Proc. VLDB Endow..
[10]
Marcin Zukowski,et al.
MonetDB/X100 - A DBMS In The CPU Cache
,
2005,
IEEE Data Eng. Bull..
[11]
Alexander Zeier,et al.
In-memory data management: an inflection point for enterprise applications
,
2011
.
[12]
Michael Stonebraker,et al.
C-Store: A Column-oriented DBMS
,
2005,
VLDB.