Introduction

QuestDB is a relational column-oriented database designed for time series and event data. It uses SQL with extensions for time series to assist with real-time analytics. These pages cover core concepts of QuestDB, including setup steps, usage guides, and reference documentation for syntax, APIs and configuration.

Concepts#

This section describes the architecture of QuestDB, how it stores and queries data, and introduces features and capabilities unique to the system.

  • Designated timestamp is a core feature that enables time-oriented language capabilities and partitioning
  • Symbol type makes storing and retrieving repetitive strings efficient
  • Storage model describes how QuestDB stores records and partitions within tables
  • Indexes can be used for faster read access on specific columns
  • Partitions can be used for significant performance benefits on calculations and queries
  • SQL extensions allow performant time series analysis with a concise syntax
  • Root directory describes the directory contents of QuestDB for storage and configuration

Get started#

This section explains how to install and run QuestDB using one of the following methods:

  • Docker for repeatable, portable and scalable installations
  • Binaries for direct downloads to run on Linux, macOS or Windows
  • Homebrew for running QuestDB on macOS

Once QuestDB is running, a guide is provided to create your first database.

Develop#

This section describes how to connect to QuestDB using a variety of tools and programming languages.

  • Connect using Postgres or InfluxDB clients in a variety of languages
  • Insert data from popular languages using Postgres clients or InfluxDB line protocol, or in bulk via REST API
  • Query data using Postgres clients, REST API, or the Web Console
  • Authenticate via an additional step before inserting records using InfluxDB line protocol

Guides#

Deployment#

Third-party tools#

This section describes how to integrate QuestDB with third-party tools and utilities for collecting metrics and visualizing data:

  • Grafana instructions for connecting QuestDB as a datasource for building visualizations and dashboards
  • Kafka guide for ingesting data from topics into QuestDB by means of Kafka Connect
  • Telegraf guide for collecting system metrics, specifying QuestDB as an output and visualizing the results

Operations#

This section contains resources for managing QuestDB instances and has dedicated pages for the following topics:

Reference#

This section contains the reference documentation for the following categories:

APIs#

Configuration#

The configuration page shows all the properties that can be used to customize QuestDB.

Command-line options#

The following resource provides info on options that may be passed to QuestDB when starting services:

Functions#

Operators#

SQL#

Web console#

QuestDB is bundled with a user interface which runs by default on port 9000. The following is reference documentation which describes how to use this UI:

Support#

We are happy to help with any question you may have, particularly to help you optimize the performance of your application. Feel free to reach out using the following channels: