There is No Such Thing as an "Index"! or: The next 500 Indexing Papers

09/22/2020
by   Jens Dittrich, et al.
0

Index structures are a building block of query processing and computer science in general. Since the dawn of computer technology there have been index structures. And since then, a myriad of index structures are being invented and published each and every year. In this paper we argue that the very idea of "inventing an index" is a misleading concept in the first place. It is the analogue of "inventing a physical query plan". This paper is a paradigm shift in which we propose to drop the idea to handcraft index structures (as done for binary search trees over B-trees to any form of learned index) altogether. We present a new automatic index breeding framework coined Genetic Generic Generation of Index Structures (G3oI). It is based on the observation that almost all index structures are assembled along three principal dimensions: (1) structural building blocks, e.g., a B-tree is assembled from two different structural node types (inner and leaf nodes), (2) a couple of invariants, e.g., for a B-tree all paths have the same length, and (3) decisions on the internal layout of nodes (row or column layout, etc.). We propose a generic indexing framework that can mimic many existing index structures along those dimensions. Based on that framework we propose a generic genetic index generation algorithm that, given a workload and an optimization goal, can automatically assemble and mutate, in other words 'breed' new index structure 'species'. In our experiments we follow multiple goals. We reexamine some good old wisdom from database technology. Given a specific workload, will G3oI even breed an index that is equivalent to what our textbooks and papers currently recommend for such a workload? Or can we do even more? Our initial results strongly indicate that generated indexes are the next step in designing "index structures".

READ FULL TEXT

page 7

page 24

research
12/15/2019

Progressive Neural Index Search for Database System

In database systems, index is the key component to support efficient sea...
research
06/20/2017

Index Search Algorithms for Databases and Modern CPUs

Over the years, many different indexing techniques and search algorithms...
research
03/06/2020

Structural Indexing for Conjunctive Path Queries

Structural indexing is an approach to accelerating query evaluation, whe...
research
03/04/2020

Analysis of Indexing Structures for Immutable Data

In emerging applications such as blockchains and collaborative data anal...
research
03/04/2020

Analysis of Indexing Structures for Immutable Data (Full Version)

In emerging applications such as blockchains and collaborative data anal...
research
05/11/2022

LSI: A Learned Secondary Index Structure

Learned index structures have been shown to achieve favorable lookup per...
research
03/20/2019

Indexes in Microsoft SQL Server

Indexes are the best apposite choice for quickly retrieving the records....

Please sign up or login with your details

Forgot password? Click here to reset