Draft:QuestDB
This article, Draft:QuestDB, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Preload talk Inform author |
![]() | A major contributor to this article appears to have a close connection with its subject. (January 2024) |
QuestDB is an open-source column-oriented time series database written in Java and C++.[2][3] Its querying language is SQL-like[4] and adopts a relational model.[5]
![]() | |
Developer(s) | QuestDB |
---|---|
Initial release | August 18, 2019 |
Repository | github.com/questdb/questdb |
Written in | Java C++ |
Operating system | Cross-platform |
Type | |
License | Apache License 2.0 |
Website | questdb |
Overview
Columnar storage
QuestDB uses a column-based storage model and partitions data by time.[6] Data is stored in tables with each column stored in its own file and its own native format.[7] New data is appended to the bottom of each column to allow data to be organically retrieved in the same order that it was ingested.[8][9]
Off-heap memory management and memory-mapped files
The QuestDB storage engine uses memory-mapped files[10] [11] and off-heap memory for the database to minimize overhead introduced by computer science.
SQL querying language
QuestDB queries are written in SQL.[12] QuestDB attempts to implement standard ANSI SQL and to be compatible with PostgreSQL.[13] QuestDB has built several SQL extensions for time-series data workloads.[14]
Streaming ingestion protocol
The InfluxDB Line Protocol (ILP) is a text protocol introduced by InfluxDB to stream and ingest data. It allows concurrent ingestion from multiple sources into tables and dynamic schemas.[15]
Queries execution
QuestDB’s query engine takes advantage of a columnar data layout, SIMD instructions,[6] and multi-threaded processing.[9]
Official client libraries
QuestDB maintains client libraries in the following programming languages: C/C++, JAVA, Golang, Nodejs, Python, Rust, .Net.
References
- ^ "QuestDB at GitHub". github.com.
- ^ Wayner, Peter (2021). "QuestDB launches 'database-as-a-service' with $12M investment". VentureBeat.
- ^ Miller, Ron. "QuestDB snares $12M Series A with hosted version coming soon". TechCrunch.
- ^ Wu Zhiyong, Liang Jie, Wang Mingzhe, Zhou Chijin, Jiang Yu (2022). Unicorn: detect runtime errors in time-series databases with hybrid input synthesis. pp. 251–262. doi:10.1145/3533767.3534364. ISBN 9781450393799 – via International Symposium on Software Testing and Analysis (ISSTA 2022). Association for Computing Machinery, New York, NY, USA.
{{cite book}}
:|website=
ignored (help)CS1 maint: multiple names: authors list (link) - ^ Sandberg, Erik (2022). "High performance querying of time series market data". Umeå University.
- ^ 6.0 6.1 Rometsch Ben, Hourcard Nic. "Interview with Nic Hourcard: Co-Founder, QuestDB". Flagsmith. The Craft Of Open Source.
- ^ Ilyushchenko, Vlad (14 April 2022). "QuestDB: Fast Open Source Time Series Database". YouTube. CMU Database Group.
- ^ "QuestDB Documentation. Storage model". questdb.io/docs.
- ^ 9.0 9.1 "QuestDB". Database of Databases. 2 April 2023.
- ^ Crotty Andrew, Leis Viktor, Pavlo Andrew (2022). "Are You Sure You Want to Use MMAP in Your Database Management System?". Carnegie Mellon Database Group. p. 2, paragraph 2.3 – via Conference on Innovative Data Systems Research, 2022.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Simmons, David G. (19 August 2020). "Re-examining our approach to memory mapping". questdb.io/blog/.
- ^ Wheatley, Mike (2021). "QuestDB gets $12M Series A funding amid growing interest in time-series databases". SiliconANGLE.
- ^ "QuestDB Documentation. SQL extensions". questdb.io/docs.
- ^ Wayner, Peter (2021). "Database trends: The rise of the time-series database". VentureBeat.
- ^ "QuestDB vs SQL Server". influxdata.
Category:Software using the Apache license Category:Free software programmed in C++ Category:PostgreSQL Category:Cross-platform software Category:Time series software Category:Database management systems