• Stars
    star
    13,374
  • Rank 2,260 (Top 0.05 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An open source time-series database for fast ingest and SQL queries
QuestDB Logo

ย 

QuestDB community Slack channel QuestDB open source contributors QuestDB on Apache Maven

English | ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | ุงู„ุนุฑุจูŠุฉ | Italiano | ะฃะบั€ะฐั—ะฝััŒะบะฐ | Espaรฑol | Portuguรชs | ๆ—ฅๆœฌ่ชž | Tรผrkรงe | เคนเคฟเค‚เคฆเฅ€ | Tiแบฟng Viแป‡t

QuestDB

QuestDB is an open-source time-series database for high throughput ingestion and fast SQL queries with operational simplicity.

QuestDB is well-suited for financial market data, IoT sensor data, ad-tech and real-time dashboards. It shines for datasets with high cardinality and is a drop-in replacement for InfluxDB via support for the InfluxDB Line Protocol.

QuestDB implements ANSI SQL with native time-series SQL extensions. These SQL extensions make it simple to filter and downsample data, or correlate data from multiple sources using relational and time-series joins.

We achieve high performance by adopting a column-oriented storage model, parallelized vector execution, SIMD instructions, and low-latency techniques. The entire codebase is built from the ground up in Java, C++ and Rust with no dependencies and zero garbage collection.

QuestDB supports schema-agnostic streaming ingestion using the InfluxDB line protocol and a REST API for bulk imports and exports. The QuestDB SQL Web Console is an interactive SQL editor facilitating CSV import. Finally, QuestDB also includes the Postgres Wire Protocol for programmatic queries.

Popular tools that integrate with QuestDB include Apache Kafka, Grafana, Superset, Telegraf and Apache Flink.

Try QuestDB

We provide a live demo provisioned with the latest QuestDB release and sample datasets:

  • Trips: 10 years of NYC taxi trips with 1.6 billion rows
  • Trades: live crypto market data with 30M+ rows per month
  • Pos: geolocations of 250k unique ships over time

Checkout our interactive real-time market data dashboards and NYC Taxi Data Analytics Dashboards powered by QuestDB and Grafana.

Query Execution time
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

Our demo is running on c5.metal instance and using 24 cores out of 96.

Get started

Install QuestDB

To run QuestDB, Docker can be used to get started quickly:

docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb

macOS users can use Homebrew:

brew install questdb
brew services start questdb

questdb start // To start questdb
questdb stop  // To stop questdb

The QuestDB downloads page provides direct downloads for binaries and has details for other installation and deployment methods.

QuestDB Cloud

QuestDB Cloud is the fully managed version of QuestDB, with additional features such as Role-based access control, Cloud-native Replication, Compression, monitoring and cloud-native snapshots. Get started with $200 credits.

Connect to QuestDB

You can interact with QuestDB using the following interfaces:

Insert data

Below are the official QuestDB clients for ingesting data via the InfluxDB Line Protocol:

End-to-end quickstart

Want to walk through everything, from streaming ingestion to visualization with Grafana? Check out our multi-path quickstart repository.

How QuestDB compares to other open source TSDBs

Checkout our benchmark blog post which compares QuestDB and InfluxDB across functionality, maturity and performance.

A chart comparing the ingestion rate of QuestDB, InfluxDB and TimescaleDB.

Resources

๐Ÿ“š Read the docs

โ“ Get support

๐Ÿšข Deploy QuestDB

Contribute

We welcome contributions to the project, whether source code, documentation, bug reports, feature requests or feedback. To get started with contributing:

โœจ As a sign of our gratitude, we also send QuestDB swag to our contributors. Claim your swag.

A big thanks goes to the following wonderful people who have contributed to QuestDB: (emoji key):


clickingbuttons

๐Ÿ’ป ๐Ÿค” ๐Ÿ““

ideoma

๐Ÿ’ป ๐Ÿ““ โš ๏ธ

tonytamwk

๐Ÿ’ป ๐Ÿ““

sirinath

๐Ÿค”

igor-suhorukov

๐Ÿ’ป ๐Ÿค”

mick2004

๐Ÿ’ป ๐Ÿ“ฆ

rawkode

๐Ÿ’ป ๐Ÿš‡

solidnerd

๐Ÿ’ป ๐Ÿš‡

solanav

๐Ÿ’ป ๐Ÿ“–

shantanoo-desai

๐Ÿ“ ๐Ÿ’ก

alexprut

๐Ÿ’ป ๐Ÿšง

lbowman

๐Ÿ’ป โš ๏ธ

chankeypathak

๐Ÿ“

upsidedownsmile

๐Ÿ’ป

Nagriar

๐Ÿ’ป

piotrrzysko

๐Ÿ’ป โš ๏ธ

mpsq

๐Ÿ’ป

siddheshlatkar

๐Ÿ’ป

Yitaek

โœ… ๐Ÿ’ก

gabor-boros

โœ… ๐Ÿ’ก

kovid-r

โœ… ๐Ÿ’ก

TimBo93

๐Ÿ› ๐Ÿ““

zikani03

๐Ÿ’ป

jaugsburger

๐Ÿ’ป ๐Ÿšง

TheTanc

๐Ÿ“† ๐Ÿ–‹ ๐Ÿค”

davidgs

๐Ÿ› ๐Ÿ–‹

kaishin

๐Ÿ’ป ๐Ÿ’ก

bluestreak01

๐Ÿ’ป ๐Ÿšง โš ๏ธ

patrickSpaceSurfer

๐Ÿ’ป ๐Ÿšง โš ๏ธ

chenrui333

๐Ÿš‡

bsmth

๐Ÿ“– ๐Ÿ–‹

Ugbot

๐Ÿ’ฌ ๐Ÿ““ ๐Ÿ“ข

lepolac

๐Ÿ’ป ๐Ÿ”ง

tiagostutz

๐Ÿ““ ๐Ÿ› ๐Ÿ“†

Lyncee59

๐Ÿค” ๐Ÿ’ป

rrjanbiah

๐Ÿ›

sarunas-stasaitis

๐Ÿ›

RiccardoGiro

๐Ÿ›

duggar

๐Ÿ›

postol

๐Ÿ›

petrjahoda

๐Ÿ›

t00

๐Ÿ›

snenkov

๐Ÿ““ ๐Ÿ› ๐Ÿค”

marregui

๐Ÿ’ป ๐Ÿค” ๐ŸŽจ

bratseth

๐Ÿ’ป ๐Ÿค” ๐Ÿ““

welly87

๐Ÿค”

fuzzthink

๐Ÿค” ๐Ÿ““

nexthack

๐Ÿ’ป

g-metan

๐Ÿ›

tim2skew

๐Ÿ› ๐Ÿ““

ospqsp

๐Ÿ›

SuperFluffy

๐Ÿ›

nu11ptr

๐Ÿ›

comunidadio

๐Ÿ›

mugendi

๐Ÿค” ๐Ÿ› ๐Ÿ“–

paulwoods222

๐Ÿ›

mingodad

๐Ÿค” ๐Ÿ› ๐Ÿ“–

houarizegai

๐Ÿ“–

jjsaunier

๐Ÿ›

zanek

๐Ÿค” ๐Ÿ“†

Geekaylee

๐Ÿ““ ๐Ÿค”

lg31415

๐Ÿ› ๐Ÿ“†

null-dev

๐Ÿ› ๐Ÿ“†

ultd

๐Ÿค” ๐Ÿ“†

ericsun2

๐Ÿค” ๐Ÿ› ๐Ÿ“†

giovannibonetti

๐Ÿ““ ๐Ÿ› ๐Ÿ“†

wavded

๐Ÿ““ ๐Ÿ›

puzpuzpuz

๐Ÿ“– ๐Ÿ’ป ๐Ÿ““

rstreics

๐Ÿ’ป ๐Ÿš‡ ๐Ÿ“–

mariusgheorghies

๐Ÿ’ป ๐Ÿš‡ ๐Ÿ“–

pswu11

๐Ÿ–‹ ๐Ÿค” ๐ŸŽจ

insmac

๐Ÿ’ป ๐Ÿค” ๐ŸŽจ

eugenels

๐Ÿ’ป ๐Ÿค” ๐Ÿšง

bziobrowski

๐Ÿ’ป ๐Ÿ“†

Zapfmeister

๐Ÿ’ป ๐Ÿ““

mkaruza

๐Ÿ’ป

DylanDKnight

๐Ÿ““ ๐Ÿ›

enolal826

๐Ÿ’ป

glasstiger

๐Ÿ’ป

argshook

๐Ÿ’ป ๐Ÿค” ๐ŸŽจ ๐Ÿ›

amunra

๐Ÿ’ป ๐Ÿ“– ๐Ÿ›

GothamsJoker

๐Ÿ’ป

kocko

๐Ÿ’ป

jerrinot

๐Ÿ’ป ๐Ÿค” ๐Ÿ›

rberrelleza

๐Ÿ’ป

Cobalt-27

๐Ÿ’ป

eschultz

๐Ÿ’ป

XinyiQiao

๐Ÿ’ป

terasum

๐Ÿ“–

PlamenHristov

๐Ÿ’ป

tris0laris

๐Ÿ“ ๐Ÿค”

HeZean

๐Ÿ’ป ๐Ÿ›

iridess

๐Ÿ’ป ๐Ÿ“–

selmanfarukyilmaz

๐Ÿ›

donet5

๐Ÿค” ๐Ÿ›

Zahlii

๐Ÿ›

salsasepp

๐Ÿ›

EmmettM

๐Ÿ› โš ๏ธ

robd003

๐Ÿค”

AllenEdison

๐Ÿ›

CSharpDummy

๐Ÿ›

shimondoodkin

๐Ÿ› ๐Ÿค”

huuhait

๐Ÿ› ๐Ÿค”

alexey-milovidov

๐Ÿ›

suconghou

๐Ÿ›

allegraharris

๐Ÿ’ป

oliver-daniel

๐Ÿ’ป

kerimsenturk5734

๐Ÿ“–

This project adheres to the all-contributors specification. Contributions of any kind are welcome!

More Repositories

1

rust-maven-plugin

Build Rust Cargo crates within a Java Maven Project
Java
106
star
2

questdb.io

The official QuestDB website, database documentation and blog.
TypeScript
83
star
3

py-questdb-client

Python client for QuestDB InfluxDB Line Protocol
Python
46
star
4

time-series-streaming-analytics-template

Template to quickstart streaming analytics using Apache Kafka for ingestion, QuestDB for time-series storage and analytics, Grafana for near real-time dashboards, and Jupyter Notebook for data science
Jupyter Notebook
45
star
5

go-questdb-client

Golang client for QuestDB's Influx Line Protocol
Go
40
star
6

c-questdb-client

Rust, C and C++ client for QuestDB InfluxDB Line Protocol
C++
38
star
7

nodejs-questdb-client

QuestDB Node.js Client
JavaScript
30
star
8

net-questdb-client

C#
29
star
9

py-tsbs-benchmark

Benchmark ingestion of the TSBS "dev ops" dataset into QuestDB via ILP using the `questdb` Python library and Pandas.
Python
28
star
10

questdb-kubernetes

Configuration to run QuestDB in your Kubernetes cluster
Mustache
27
star
11

kafka-questdb-connector

QuestDB connector for Kafka
Java
27
star
12

mindsdb-tutorial

A tutorial on integrating QuestDB with MindsDB to achieve wondrous ML feats
Dockerfile
20
star
13

questdb-quickstart

quickstart to work with questdb
Python
14
star
14

pykit

A Python-based RPC-like toolkit for interfacing with QuestDB.
Python
11
star
15

ui

Monorepo of QuestDB UI packages
TypeScript
10
star
16

questdb-connect

SQLAchemy and Apache Superset extensions for QuestDB
Python
10
star
17

questdb-slack-grafana-alerts

Example code for a tutorial for sending Slack alerts based on market data streamed to QuestDB
Python
9
star
18

sample-datasets

sample datasets for QuestDB
8
star
19

flink-questdb-connector

QuestDB ILP connector for Apache Flink
Java
8
star
20

julia-questdb-client

Julia QuestDB client
Julia
7
star
21

grafana-datasource

QuestDB datasource plugin for Grafana
TypeScript
6
star
22

questdb-open-sauced

Code examples used for the Open Sauced stream
JavaScript
6
star
23

roadmap

QuestDB Public Roadmap
6
star
24

demo-data

QuestDb demo website injection app
Python
4
star
25

questdb-packer-ami

Scripts and resources that can be used to build your own AMI with QuestDB.
Shell
4
star
26

questdb-operator

Kubernetes Operator for QuestDB
Go
3
star
27

questdb-digitalocean

QuestDB 1-click app building for DigitalOcean Marketplace
Shell
3
star
28

play

Launch a QuestDB instance and a Jupyter notebook from a script.
HTML
2
star
29

desktop-questdb-client

Desktop client application that uses the Postgres Wire Protocol to connect QuestDB
Java
2
star
30

questdb-mock-power-sensor

Repo for the tutorial "Visualizing IoT data with QuestDB"
Go
2
star
31

py-questdb-query

Fast query over HTTP(S)/CSV for QuestDB
Python
2
star
32

sql-grammar

List of keywords, functions and constants that QuestDB supports
TypeScript
1
star
33

grafana-questdb-datasource

Questdb datasource plugin for Grafana.
TypeScript
1
star