## 项目概述

QuestDB 是一个开源的高性能时序数据库，专为处理大规模时间序列数据而设计。它提供极速的数据摄入能力和低延迟的 SQL 查询，核心引擎采用零 GC 的 Java 和 C++ 实现，并支持多级存储（WAL、原生列式存储、对象存储上的 Parquet）。QuestDB 在金融行情、物联网遥测、实时监控等领域表现出色。

## 核心功能

- 低延迟、高吞吐的数据摄入，支持从单事件到每秒数百万事件
- 低延迟 SQL 查询，支持时序扩展（ASOF JOIN、WINDOW JOIN、HORIZON JOIN、SAMPLE BY、LATEST ON）
- SIMD 加速的并行执行引擎
- 多级存储：WAL → 原生列式存储 → Parquet（按时间分区和排序）
- 支持 PostgreSQL 协议（PGwire）和 REST API
- 支持视图、物化视图和多维数组（包括用于订单簿的二维数组）
- 提供 Web 控制台用于查询和数据管理
- Apache 2.0 开源许可，开放格式，无供应商锁定
- 内置金融函数和订单簿分析功能

## 适用与不适用场景

**适用场景：**

- 金融行情数据（tick 数据、交易、订单簿、OHLC）
- 高基数传感器/遥测数据
- 实时仪表盘和监控
- AI 编码代理的自动化数据管道和分析

**不适用场景：**

- 需要复杂事务处理（ACID）的传统 OLTP 应用
- 非时间序列数据的关系型数据库需求
- 需要频繁更新或删除单行数据的场景

## 技术架构与依赖

QuestDB 的核心引擎使用 Java 和 C++ 实现，企业版还包含 Rust 组件。它采用列式存储模型、并行向量执行、SIMD 指令和低延迟技术。QuestDB 没有第三方 Java 依赖，所有算法均基于第一性原理实现。

## 安装与快速开始

使用 Docker 快速启动：

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

macOS（Apple Silicon）用户可以使用 Homebrew：

```bash
brew install questdb
brew services start questdb
```

然后启动/停止：

```bash
questdb start
questdb stop
```

注意：QuestDB 仅为 Apple Silicon 提供原生库，Intel Mac 用户需使用 Docker 镜像。

## 典型使用方法

QuestDB 支持多种客户端和协议：

- 原生协议：QuestDB Wire Protocol (QWP)，端口 9000
- 兼容协议：InfluxDB Line Protocol（端口 9000）、PostgreSQL Wire Protocol（端口 8812）、REST API（端口 9000）
- 官方客户端：Python、.NET、C/C++、Go、Java、NodeJS、Rust
- 第三方工具集成：Kafka、Redpanda、Grafana、Polars、Pandas、PowerBI、Superset、Apache Flink、Telegraf、MindsDB 等

## 配置与部署要点

- 生产环境配置可参考官方容量规划文档
- 支持 Docker、Kubernetes（Helm charts）、systemd、AWS、Azure、GCP、DigitalOcean、Hetzner 等部署方式
- 支持 ZFS 压缩
- 企业版提供高可用、多主摄入、冷存储集成、基于角色的访问控制、TLS 加密等高级功能

## 限制、风险与许可证

- 许可证：Apache License 2.0
- 无第三方 Java 依赖，但需要 Java 25 和 Maven 3 进行构建
- 仅支持 x86-64 和 ARM64 架构，macOS 仅支持 ARM64
- 社区支持：Discourse 论坛、Slack、GitHub Issues、Stack Overflow

## 官方链接

- [QuestDB 官网](https://questdb.com/)
- [GitHub 仓库](https://github.com/questdb/questdb)
- [文档](https://questdb.com/docs/)
- [快速入门](https://questdb.com/docs/getting-started/quick-start/)
- [演示](https://demo.questdb.com/)
- [发布版本](https://github.com/questdb/questdb/releases)

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、CONTRIBUTING.md、docs/parquet-metadata.md
- 分析时间：2026-08-24（基于最新 release 10.0.1 的发布时间）