titledescription
Introduction
QuestDB is a relational column-oriented database designed for real-time analytics on time series data.

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: