Perché esiste
I motori di query diventano più riutilizzabili quando i formati di storage si possono ispezionare direttamente invece che solo attraverso il sistema di serving originale. I segmenti Druid contengono anni di ingegneria analitica utile, ma sono normalmente affrontati attraverso un cluster Druid in esecuzione; questo progetto si chiede cosa diventa possibile quando quei file di segmento si possono leggere direttamente da uno stack di query Rust.
Centro tecnico
La libreria legge le strutture dei segmenti Druid come i dati index.dr e le mappa nelle astrazioni di tabella ed esecuzione di DataFusion, puntando a un'esecuzione vettorializzata e Arrow-friendly dove possibile. La parte difficile è tradurre interni di storage, dizionari, metriche e pattern di accesso bitmap-oriented nelle astrazioni di DataFusion senza fingere che il formato originale sia stato progettato come un semplice file Arrow.
Prove correnti
Anche da lavoro in corso, la superficie di valutazione è già concreta: un layer parser dedicato per i segmenti, adattatori `TableProvider` ed `ExecutionPlan` per DataFusion, fixture su segmenti Wikipedia e test di integrazione sull'accesso offline ai segmenti, invece di affermazioni architetturali vaghe. Il valore corrente è esplorativo ma specifico: ogni parser e adattatore chiarisce quanto del modello di segmento Druid può essere esposto attraverso le interfacce Arrow e DataFusion moderne.