Transparent inclusion, utilization, and validation of main memory domain indexes
2015 (English)In: Proc. 27th International Conference on Scientific and Statistical Database Management, New York: ACM Press, 2015Conference paper (Refereed)
Main-memory database systems (MMDBs) are viable solutions for many scientific applications. Scientific and engineering data often require special indexing methods, and there is a large number of domain specific main memory indexing implementations developed. However, adding an index structure into a database system can be challenging. Mexima (Main memory External Index Manager) provides an MMDB where new main-memory index structures can be plugged-in without modifying the index implementations. This has allowed to plug into Mexima complex and highly optimized index structures implemented in C/C++ without code changes. To utilize new user defined indexes in queries transparently, Mexima automatically transforms query fragments into index operations based on index properly tables containing index meta-data. For scalable processing of complex numerical query expressions, Mexima includes an algebraic query transformation mechanism that reasons on numerical expressions to expose potential utilization of indexes. The index property tables furthermore enable validating the correctness of an index implementation by executing automatically generated test queries based on index meta-data. Experiments show that the performance penalty of using an index plugged into Mexima is low compared to using the corresponding stand-alone C/C++ implementation. Substantial performance gains are shown by the index exposing rewrite mechanisms.
Place, publisher, year, edition, pages
New York: ACM Press, 2015.
Domain Indexing; Extensible Databases; Query Processing; Automatic Testing
Research subject Computer Science with specialization in Database Technology
IdentifiersURN: urn:nbn:se:uu:diva-280368DOI: 10.1145/2791347.2791375ISBN: 978-1-4503-3709-0OAI: oai:DiVA.org:uu-280368DiVA: diva2:910656
SSDBM 2015, June 29–July 1, San Diego, CA