À propos du projet
rudb est une base de données analytique embarquée écrite en Rust, conçue comme une alternative compatible DuckDB avec des objectifs ambitieux de performance et de ressources. Le projet vise des performances 10x supérieures à DuckDB sur ClickBench et TPC-H, une garantie par requête de ne jamais être plus lent que DuckDB, et des réductions de 10x de l'utilisation du disque, de la mémoire et du CPU. Sa conception repose sur des dispositions physiques choisies à l'exécution, une compression multi-colonnes avec dictionnaires globaux, et des opérateurs qui s'exécutent directement sur les données encodées plutôt que de les décoder d'abord.
L'état actuel est précoce : M0 est terminé depuis la v0.1.0, fournissant un espace de travail avec 27 crates, un moteur de requêtes en mémoire, un shell en ligne de commande compatible DuckDB avec seize modes de sortie, et une CI qui passe sous Linux, macOS et Windows. Il n'existe pas encore de format de stockage persistant, pas d'optimiseur, pas de transactions, et les jointures sont des boucles imbriquées. La prochaine étape, M1, est une expérimentation de format pour mesurer si les ratios de compression projetés sont atteignables avant de poursuivre le développement.
Le dépôt comprend une spécification détaillée de vingt documents rédigés avant l'implémentation, couvrant le stockage, la compression, l'exécution, la génération de code, l'optimisation, la compatibilité SQL, les transactions, la méthodologie d'évaluation comparative et les tests. Le développement est organisé autour de douze jalons suivis comme issues, avec M3, M6 et M10 identifiés comme points d'arrêt utiles. Le projet est sous licence Apache-2.0 et n'est pas affilié à DuckDB Labs ; la compatibilité est réimplémentée à partir des formats et en-têtes publiés.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.