Draft:QuestDB

From Wikipedia, the free encyclopedia
QuestDB[1]
Developer(s)QuestDB
Initial releaseAugust 18, 2019; 4 years ago (2019-08-18)
Repositorygithub.com/questdb/questdb
Written inJava C++
Operating systemCross-platform
Type
LicenseApache License 2.0
Websitequestdb.io

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]

Overview[edit]

Columnar storage[edit]

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[edit]

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[edit]

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[edit]

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[edit]

QuestDB’s query engine takes advantage of a columnar data layout, SIMD instructions,[6] and multi-threaded processing.[9]

Official client libraries[edit]

QuestDB maintains client libraries in the following programming languages: C/C++, JAVA, Golang, Nodejs, Python, Rust, .Net.

References[edit]

  1. ^ "QuestDB at GitHub". github.com.
  2. ^ Wayner, Peter (2021). "QuestDB launches 'database-as-a-service' with $12M investment". VentureBeat.
  3. ^ Miller, Ron. "QuestDB snares $12M Series A with hosted version coming soon". TechCrunch.
  4. ^ 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)
  5. ^ Sandberg, Erik (2022). "High performance querying of time series market data". Umeå University.
  6. ^ a b Rometsch Ben, Hourcard Nic. "Interview with Nic Hourcard: Co-Founder, QuestDB". Flagsmith. The Craft Of Open Source.
  7. ^ Ilyushchenko, Vlad. "QuestDB: Fast Open Source Time Series Database". YouTube. CMU Database Group.
  8. ^ "QuestDB Documentation. Storage model". questdb.io/docs.
  9. ^ a b "QuestDB". Database of Databases. 2 April 2023.
  10. ^ 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)
  11. ^ Simmons, David G. (19 August 2020). "Re-examining our approach to memory mapping". questdb.io/blog/.
  12. ^ Wheatley, Mike (2021). "QuestDB gets $12M Series A funding amid growing interest in time-series databases". SiliconANGLE.
  13. ^ "QuestDB Documentation. SQL extensions". questdb.io/docs.
  14. ^ Wayner, Peter (2021). "Database trends: The rise of the time-series database". VentureBeat.
  15. ^ "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