ottertune
how-query-engines-work
ottertune | how-query-engines-work | |
---|---|---|
3 | 2 | |
1,123 | 329 | |
- | - | |
10.0 | 0.0 | |
over 3 years ago | about 1 year ago | |
Python | Kotlin | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ottertune
-
Tuning the Linux kernel with AI, according to ByteDance
The thing this most makes me think of is Ottertune, that the Carnegie Mellon DB group came up with several years ago for MySQL, https://github.com/cmu-db/ottertune, and eventually commercialised https://ottertune.com/ for MySQL and Postgres.
I keep thinking about this from a JVM perspective, there's so many settings you can tweak that can have such a drastic impact on performance, depending on your workload, that it seems likely there's some value in automated tuning. The main difficult there (from my probably naive perspective) is figuring out the right feedback loop.
-
Demystifying Database Performance for Developers
Does it work?
Seems it's a now a commercial enterprise that has sprung from a CMU DB group project. An old version's still on Github: https://github.com/cmu-db/ottertune
They also had Peloton, a "self-driving SQL database management system", that's a dead project now.
- Calculating query latency percentiles via MySQL performance schema (and why)
how-query-engines-work
-
Demystifying Database Performance for Developers
I highly recommend "How Query Engines Work" by Andy Grove (author of the Apache Datafusion Query Engine + Apache Ballista Distributed scheduler)
It's written in Kotlin and is very intelligible + succinct (99 pages):
https://leanpub.com/how-query-engines-work
https://github.com/andygrove/how-query-engines-work
-
Databases, Types, and the Relational Model. The Third Manifesto [pdf]
https://leanpub.com/how-query-engines-work. It covers a fair chunk of DB technology but not storage. Definitely check out their repository at https://github.com/andygrove/how-query-engines-work/tree/mai... .
A companion to DDIA would be https://www.amazon.com/Database-Internals-Deep-Distributed-S... (especially its treatment of LSM trees which is harder to come by).
What are some alternatives?
pg_plan_guarantee - Postgres Query Optimizer Extension that guarantees your desired plan will not change
TablaM - The practical relational programing language for data-oriented applications