E024 – Will machine learning kill traditional database indexes? episode artwork

EPISODE · Jan 31, 2018 · 23 MIN

E024 – Will machine learning kill traditional database indexes?

from For the Love of Data

In this episode my friend Vikas Popuri and I chat about Google’s paper comparing ML models to traditional DB indexes. Background: Google used learned indexes , machine learning models, to access data and compared these to B-Tree, Hash, and Bloom Filter indices Trained a model using multiple stages where the earlier stages could approximate a location and later stages would work with a subset to improve accuracy. Each stage could choose a different model to advance the search further. FYI, the diagram below looks like a decision tree, but it is not. Each stage/model could have different distributions and could repeat the model used above or below. They achieved access time and space savings across the board, even without using GPUs or TPUs (Tensor Processing Units) “Retraining the model” – the tests were performed on a static data set, so no retraining or index maintenance was required. Observations / Questions: Used Tensorflow with Python as the front end — apparently a lot of initial overhead with this as a test stack. B-Tree indexes to some extent are a model, especially if they don’t store every key and instead store the first key in a page. The paper made some rudimentary assumptions, such as using a random hash function. What if the data is not static? How long would it take to retrain the model vs. maintain an index? What if data profiling caused you to index certain attributes and not others? What are the best practices with this newer approach The power of being able to use different models at different stages is intriguing. You could also potentially maintain traditional indexes as a backup / failsafe that would upper bound to the performance of a B-Tree. Load times – The folks from Google commented that they could retrain a simple model on a 200M data set in “just [a] few seconds if implemented in C++” Recursive question: do you need an optimizer to optimize the optimization path? Room for improvement: GPUs/TPUs Incorporating common queries into the model to know what questions people are asking Music Deep Sky Blue by Graphiqs Groove via FreeMusicArchive.org Sources: http://learningsys.org/nips17/assets/papers/paper_22.pdf http://blog.ezyang.com/2017/12/a-machine-learning-approach-to-database-indexes-alex-beutel/ https://towardsdatascience.com/what-if-i-told-you-database-indexes-could-be-learned-6cf8f59bff94 https://www.arxiv-vanity.com/papers/1712.01208/ https://www.oreilly.com/ideas/how-machine-learning-will-accelerate-data-management-systems

Episode metadata supplied by the publisher feed · Published Jan 31, 2018

Embed this episode

NOW PLAYING

E024 – Will machine learning kill traditional database indexes?

0:00 23:45

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of For the Love of Data?

This episode is 23 minutes long.

When was this For the Love of Data episode published?

This episode was published on January 31, 2018.

Can I download this For the Love of Data episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!