JetStream accélère les requêtes connues dans les bases existantes
En termes simples
Les bases de données doivent répondre à de nombreux types de requêtes, mais cette polyvalence peut ralentir les requêtes connues. JetStream ajoute à une base existante des accélérateurs générés pour des requêtes précises.
La base continue de gérer le stockage, les écritures et les autres requêtes. Certains accélérateurs gardent des données supplémentaires pour éviter du travail au moment de répondre.
Sur les 22 requêtes testées, la version avec état a accéléré les lectures en moyenne par rapport à DuckDB. Ce résultat concerne les requêtes testées, pas toutes les bases de données ni toutes les requêtes.
La recherche
Les requêtes connues d’une base de données peuvent-elles s’exécuter plus vite sans déplacer les données vers un système séparé ni renoncer aux écritures et aux requêtes moins prévisibles ?
JetStream répond à cette tension en ajoutant des accélérateurs générés à une base existante, qui reste responsable du stockage et des autres opérations.
JetStream génère des accélérateurs de requêtes à côté d’une base existante, avec des résumés maintenus à jour et des preuves en option, pour accélérer les requêtes connues tout en laissant à la base ses autres fonctions.
Les résultats TPC-H en lecture seule comparent JetStream à DuckDB sur les 22 requêtes au facteur d’échelle 20. Sans état, les accélérateurs ont obtenu une accélération moyenne géométrique de lecture de 2.1x avec 32 threads ; avec état, de 315x ; et, avec vérification, de 93x.
Ces moyennes combinent les rapports d’accélération par requête : elles résument les requêtes testées sans décrire chacune d’elles. Avec une actualisation toutes les 15 secondes, l’accélération moyenne géométrique de la charge sur les 22 requêtes était de 120.5x par rapport à DuckDB, en tenant compte des lectures et des coûts de maintenance.
Les résultats portent sur la charge TPC-H testée et six requêtes SEC-EDGAR, et non sur toutes les charges de base de données.
La garantie de réponses vérifiées dépend aussi du respect des contrats d’entrée et d’ordre de validation par la base hôte, ainsi que de la fiabilité de la traduction SQL et des interfaces de cette base.
Analyse
Détails
- Auteurs de l’article original
- Akhilesh Balasingam, Amadou Ngom, Geoffrey X. Yu, Tim Kraska
- Soumis à arXiv
- Licence
- arXiv non-exclusive