DuckDB Quack: Protocolo client-server su HTTP per analisi multi-utente
DuckDB Quack: Protocollo client-server su HTTP per analisi multi-utente
DuckDB ha recentemente annunciato Quack, un nuovo protocollo remoto su HTTP che consente a più istanze di DuckDB di connettersi e lavorare con lo stesso database su una rete. Il protocollo introduce capacità client-server in un database che era precedentemente quasi esclusivamente locale e incorporato.
Mantendo il flusso di lavoro leggero di DuckDB e la compatibilità SQL, Quack rende più facile condividere dati, supportare utenti connessi contemporaneamente, eseguire analisi remotamente e creare servizi di dati produttivi senza passare a un sistema di database tradizionale più pesante. Rispetto alle approcci esistenti, Quack è progettato per essere più semplice da utilizzare e significativamente più veloce.
Fonte: DuckDB blog
Quack consente a più applicazioni di accedere allo stesso database DuckDB contemporaneamente tramite connessioni HTTP standard, utilizzando il formato dati nativo di DuckDB. DuckDB afferma che questo approccio può spostare grandi set di dati circa 3,5 volte più velocemente di Arrow Flight e significativamente più velocemente di PostgreSQL.
Rilasciato sotto la licenza permissiva MIT, DuckDB è un database analitico open source popolare progettato per query SQL veloci su grandi set di dati, direttamente da file locali, applicazioni o notebook. Come SQLite, è un database in-process che può essere incorporato in un'applicazione senza richiedere un server di database separato. Introducendo Quack, la squadra scrive:
Con Quack, DuckDB può ora essere utile in una vasta gamma di nuovi casi d'uso, dove la centralizzazione dello stato è più importante della query iperlocale. Abbiamo già dovuto imparare che i dati non sono sempre locali con l'aumento dei laghi di dati. Parlando di laghi, Quack sarà anche integrato in DuckLake, in modo che DuckDB stesso possa essere un catalogo server accessibile a distanza.
DuckDB ha deciso di non utilizzare Arrow Flight SQL, un protocollo per interagire con i database SQL utilizzando il formato in memoria Arrow e il framework RPC Flight, perché volevano avere il controllo completo su come i dati vengono trasferiti e come il protocollo evolve. Essi affermano anche che Quack è più efficiente per le query piccole poiché può inviare una query e restituire i risultati in un solo round trip di rete. La squadra aggiunge:
Sentiamo che per poter continuare a innovare nei sistemi di dati, non possiamo permetterci di essere limitati da formati controllati esternamente.
La risposta di Hacker News è stata in gran parte positiva, con gli sviluppatori che la vedono come un passo importante verso flussi di lavoro di analisi multi-utente condivisi mentre DuckDB rimane leggero e facile da distribuire. Ryan Glover, principale gestore di Lattice Engineering, commenta:
Questo è rad. Ho avuto in mente di utilizzare DuckDB nel framework di applicazioni interne della mia azienda e questo ha risolto il problema "ma come faccio a scalare orizzontalmente questo". Kudos ai membri di DuckDB. Amo "Quack" per il nome del protocollo.
L'utente kvlonge aggiunge su Reddit:
Poter avviare DuckDB su un server e far parlare le persone con esso remotamente come un 'DB normale' sarà un grande sblocco.
DuckDB prevede di integrare Quack con DuckLake, migliorare le prestazioni e rilasciare una versione prodotta pronta con DuckDB 2.0 in seguito nel 2026. La squadra sta anche lavorando su un miglior supporto per i database remoti, un maggiore throughput di transazioni, estensioni del protocollo personalizzabili e funzionalità di replica.
Nell'articolo "Da DeepSeek a Quack: Quando il sogno di DuckDB distribuito iniziò a sentirsi reale", Amir Sefati sottolinea l'avvantaggio di istanze di DuckDB che parlano tra loro:
Quando si combina questo con lo storage oggetto, DuckLake, Parquet e database vettoriali,
Commenti (0)
Accedi o Registrati per candidarti