QuestDB是一个面向关系列的数据库,专为时间序列和事件数据设计。它使用带有时间序列扩展的SQL来辅助实时分析。这些页面涵盖了QuestDB的核心概念,包括设置步骤、使用指南以及语法、api和配置的参考文档。
概念
本节描述QuestDB的架构,它如何存储和查询数据,并介绍系统特有的特性和功能。
- 指定时间戳是一个核心特性,它支持面向时间的语言功能和分区
- 符号类型使得存储和检索重复字符串的效率更高
- 存储模型描述了QuestDB如何在表中存储记录和分区
- 索引可以用于对特定列进行更快的读取访问
- 分区可以为计算和查询带来显著的性能优势
- SQL扩展允许使用简洁的语法进行性能时间序列分析
- 根目录描述了QuestDB用于存储和配置的目录内容
开始
本节介绍如何使用以下方法之一安装和运行QuestDB:
- Docker用于可重复、可移植和可扩展的安装
- 二进制文件可以直接下载运行在Linux、macOS或Windows上
-
在macOS上运行QuestDB的自制程序
一旦QuestDB运行,将提供一个指南来创建您的第一个数据库。
开发
本节描述如何使用各种工具和编程语言连接到QuestDB。
- 使用各种语言的Postgres或fluxdb客户端进行连接
- 使用Postgres客户端或fluxdb行协议插入流行语言的数据,或通过REST API批量插入
- 通过Postgres客户端、REST API、Web控制台等方式查询数据
- 在使用fluxdb行协议插入记录之前,通过另一个步骤进行身份验证
指南
- 配置O3数据提交延迟
- InfluxDB线协议
- 通过CSV批量导入数据
- 6.0版本迁移
部署
- 使用Packer将QuestDB AMI部署到AWS
- 在Kubernetes上运行QuestDB
- Google Cloud 平台
第三方工具
本节描述如何将QuestDB与第三方工具和实用程序集成,以收集指标和可视化数据:
- Grafana指令连接QuestDB作为数据源来构建可视化和仪表板
- 通过Kafka Connect从主题中获取数据到QuestDB的Kafka指南
- Telegraf指南收集系统指标,指定QuestDB作为输出和可视化结果
操作
本节包含管理QuestDB实例的资源,并为以下主题提供专用页面:
- 针对常见场景和边缘场景,进行服务器配置和系统资源的容量规划
- 数据保留策略,删除旧数据,节省磁盘空间
- 用于确定实例状态的运行状况监视端点
参考
本节包含以下类别的参考文档:
APIs
- REST
- Postgres
- InfluxDB
- Java(嵌入式)
配置
配置页面显示了可用于定制QuestDB的所有属性。
命令行选项
下面的资源提供了启动服务时可能传递给QuestDB的选项的信息:
- 用于从可执行文件启动和运行QuestDB的命令行选项
功能
- 聚合
- 条件
- 日期时间
- 元
- 数字
- 随机值生成器
- 行生成器
- 文本
- 时间戳生成器
- 时间戳
操作
- 位运算
SQL
- SQL Execution order
- Data types
- ALTER TABLE ADD COLUMN
- ALTER TABLE ALTER COLUMN ADD INDEX
- ALTER TABLE RENAME COLUMN
- ALTER TABLE DROP COLUMN
- ALTER TABLE ATTACH PARTITION
- ALTER TABLE DROP PARTITION
- ALTER TABLE SET PARAM
- BACKUP
- CASE
- CAST
- COPY
- CREATE TABLE
- DISTINCT
- EXCEPT INTERSECT
- FILL
- DROP TABLE
- GROUP BY
- INSERT
- JOIN
- LATEST BY
- LIMIT
- ORDER BY
- RENAME TABLE
- SAMPLE BY
- SELECT
- SHOW
- TRUNCATE TABLE
- UNION
- WHERE
- WITH
Web控制台
QuestDB绑定了一个默认运行在端口9000上的用户界面。下面是描述如何使用这个UI的参考文档:
- 使用绑定UI的Web控制台参考
支持
我们很乐意帮助您解决任何问题,特别是帮助您优化应用程序的性能。欢迎透过以下渠道与我们联络:
- 在GitHub上提出一个问题
- 加入社区
- Stack Overflow
- 或发送电子邮件至hello@questdb.io