English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | 日本語 | Türkçe | हिंदी
QuestDB è un database open-source per serie temporali progettato l’ingestione di dati ad alto throughput e query SQL veloci, il tutto garantendo semplicità operazionale. QuestDB supporta l’inserimento di data agnostici ed utilizza l’InlfuxDB line protocol, PostgreSQL wire protocol, ed API REST per l’importazione e l’esportazione in blocco dei dati.
QuestDB è ideale per dati relativi ai mercati finanziari, alle metriche delle applicazioni, ai dati dei sensori, analisi in tempo reale, dashboard, ed il monitoraggio delle infrastutture.
QuestDB implementa ANSI SQL con estensioni SQL native alle serie temporali. Queste estensioni SQL utilizzano join sia relezionali che basati sulle serie temportali e rendono semplice la correllazioni dei dati da multiple fonti. Grazie all’adozione di modello d’archiviazione dei dati orientato alle colonne, esecuzione vettoriale parallelizzata, istruzioni SIMD e tecniche a bassa latenza. L’intero codice è stato sviluppato partendo da zero in Java e C++, senza dipendenze e senza garbage collection.
Forniamo una demo live con l'ultima versione di QuestDB ed alcuni set di dati come esempi:
- Viaggi: oltre 1,6 miliardi di righe di dati relativi agli ultimi 10 anni di viaggi in taxi a New York. - Operazioni finanziare: oltre 30 milioni di righe di dati in tempo reale relativi al mercato cripto.
- Posizionamento: dati relativi alla geolocalizzazione di 250.000 navi nel corso del tempo.
Query | Tempi di esecuzione |
---|---|
SELECT sum(double) FROM trips |
0.15 secs |
SELECT sum(double), avg(double) FROM trips |
0.5 secs |
SELECT avg(double) FROM trips WHERE time in '2019' |
0.02 secs |
SELECT time, avg(double) FROM trips WHERE time in '2019-01-01' SAMPLE BY 1h |
0.01 secs |
SELECT * FROM trades LATEST ON timestamp PARTITION BY symbol |
0.00025 secs |
La nostra demo è in esecuzione su un'istanza c5.metal
e sta utilizzando 24 core su 96.
Per eseguire QuestDB rapidamente, è possibile utilizzare Docker:
docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb
Gli utenti macOS possono usare Homebrew:
brew install questdb
brew services start questdb
questdb start // To start questdb
questdb stop // To stop questdb
La nostra pagina di download fornisce la possibilità di scaricare immediatamente i file binari e fornisce dettagli su ulteriori metodi di installazione e distribuzione.
Puoi interagire con QuestDB utilizzando le seguenti interfacce:
- LaConsole Web che fornisce un editor SQL interattivo sulla
porta
9000
- Il protocollo di linea InfluxDB per l'ingestione ad alto throughput
sulla porta
9009
- L’API REST sulla porta
9000
- Il protocollo di rete PostgreSQL sulla porta
8812
Di seguito riportiamo i client ufficiali di QuestDB per alcuni dei linguaggi di programmazione più popolari:
Se desideri eseguire tutto quello di cui hai bisogno, dall'ingestione in streaming dei dati alla loro visualizzazione con Grafana, dai un'occhiata al nostro repository di avvio rapido..
Questo articolo mette a confronto QuestDB con altri database di serie temporali open source in termini di funzionalità, maturità e prestazioni.
Ecco i risultati dell'High-Cardinality Time Series Benchmark Suite che utilizza il caso d'uso "solo CPU" con 6-16 lavoratori su 32 CPU e 64 GB di RAM::
- Documentazione di QuestDB: impara come eseguire e configurare correttamente QuestDB.
- Tutorial: scopri passo dopo passo cosa sei in grado di fare utilizzando QuestDB.
- Roadmap del prodotto: dai un'occhiata al nostro piano di sviluppo per le prossime versioni.
- Community Slack: partecipa alle discussioni tecniche, fai domande e incontra altri utenti!
- GitHub issues: segnala bug o issue che hai riscontrato.
- Stack Overflow: trova soluzioni per i tuoi problemi.
🇮🇹 Se hai bisogno di supporto puoi contattarci anche in Italiano 🇮🇹
- AMI AWS
- Piattaforma Google Cloud
- Immagine Docker ufficiale
- Droplets DigitalOcean
- Grafici Helm di Kubernetes
Siamo sempre felici di ricevere contribuzioni al nostro progetto, che si tratti di codice, documentazione, segnalazioni di bug, richieste di nuove funzionalità o feedback.
- su GitHub contrassegnate comeGood first issue.".
- Leggi la nostranostra guida.
- Per dettagli sulla compilazione di QuestDB, consulta le istruzioni..
- Crea un fork di QuestDB e invia una pull request con le tue modifiche.
✨ Come segno della nostra gratitudine, inviamo dei gadget QuestDB ai nostri contributori. Una volta contribuito, puoi richiedre il tuo gadget qui.
Uno speciale ringraziamento va alle persone meravigliose che contribuiscono a QuestDB ❤️
Questo progetto aderisce alle specifiche all-contributors Contributi di qualsiasi tipo sono sempre benvenuti!