TimescaleDB #
文档结构 #
本指南按以下结构组织,适合初学者按顺序学习:
1. 基础入门 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| TimescaleDB简介 | TimescaleDB的发展历史、特点、应用场景 | timescaledb-intro.md |
| 安装与配置 | Docker、Linux、macOS、Windows安装配置 | timescaledb-install.md |
| SQL基础语法 | PostgreSQL SQL语法基础、时序扩展 | sql-basics.md |
| 数据类型 | 时间类型、数值类型、数组、JSON | data-types.md |
2. 核心概念 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 超表 | Hypertable概念、创建、管理 | hypertable.md |
| 数据分片 | Chunk概念、自动分区、空间分区 | chunk.md |
| 时间分区 | 时间维度分区策略、分区管理 | partitioning.md |
3. 数据操作 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 数据插入 | INSERT语句、批量插入、COPY导入 | insert.md |
| 数据查询 | SELECT语句、时间查询、窗口函数 | query.md |
| 数据更新 | UPDATE语句、条件更新、批量更新 | update.md |
| 数据删除 | DELETE语句、自动删除、保留策略 | delete.md |
4. 高级特性 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 连续聚合 | Continuous Aggregates概念、创建、刷新 | continuous-aggregates.md |
| 数据压缩 | 压缩策略、压缩算法、性能优化 | compression.md |
| 保留策略 | 数据保留、自动清理、生命周期管理 | retention-policy.md |
| 超函数 | Hyperfunctions函数库、时序分析 | hyperfunctions.md |
5. 管理与运维 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 备份与恢复 | pg_dump、pg_restore、时间点恢复 | backup-restore.md |
| 性能优化 | 查询优化、索引优化、配置调优 | performance-tuning.md |
| 监控运维 | 健康检查、日志管理、性能监控 | monitoring.md |
学习路线 #
text
入门阶段
├── 理解时序数据概念
├── 安装部署TimescaleDB
├── 学习PostgreSQL SQL基础
└── 掌握数据类型
基础阶段
├── 理解超表概念
├── 创建和管理超表
├── 数据CRUD操作
└── 基础查询操作
进阶阶段
├── 连续聚合使用
├── 数据压缩配置
├── 保留策略设置
└── 超函数应用
高级阶段
├── 性能优化
├── 监控运维
├── 高可用架构
└── 最佳实践
适用人群 #
| 人群 | 建议 |
|---|---|
| 初学者 | 从基础入门开始,按顺序学习 |
| PostgreSQL用户 | 重点学习时序特性和超表 |
| 后端开发者 | 重点学习数据操作和查询优化 |
| 运维工程师 | 重点学习监控运维和性能优化 |
学习建议 #
- PostgreSQL基础:TimescaleDB基于PostgreSQL,先掌握PostgreSQL基础
- 理解时序数据:了解时序数据的特点和查询模式
- 动手实践:安装TimescaleDB,多写SQL语句
- 性能优化:学习超表设计和查询优化技巧
- 持续学习:关注新版本特性
版本说明 #
本教程基于 TimescaleDB 2.x 版本编写,支持 PostgreSQL 13+ 版本。
核心概念速查 #
text
TimescaleDB核心概念:
数据模型
├── Hypertable(超表)- 时序数据主表
├── Chunk(分片)- 自动分区数据块
├── Time Column(时间列)- 必需的时间维度
└── Space Partition(空间分区)- 可选的分区维度
核心特性
├── 自动分区 - 按时间自动创建分片
├── 连续聚合 - 实时物化视图
├── 压缩 - 列式存储压缩
├── 保留策略 - 自动数据清理
└── 超函数 - 时序分析函数
架构优势
├── PostgreSQL兼容 - 完全兼容PostgreSQL
├── 水平扩展 - 支持多节点部署
├── 高性能 - 时序查询优化
└── 生态丰富 - PostgreSQL生态
快速开始 #
bash
# Docker快速启动
docker run -d --name timescaledb \
-p 5432:5432 \
-e POSTGRES_PASSWORD=password \
timescale/timescaledb:latest-pg15
# 连接数据库
psql -h localhost -U postgres
# 创建扩展
CREATE EXTENSION IF NOT EXISTS timescaledb;
-- 创建超表
CREATE TABLE sensor_data (
time TIMESTAMPTZ NOT NULL,
sensor_id INTEGER,
temperature DOUBLE PRECISION,
humidity DOUBLE PRECISION
);
SELECT create_hypertable('sensor_data', 'time');
-- 插入数据
INSERT INTO sensor_data VALUES
(NOW(), 1, 25.5, 60.0),
(NOW() - INTERVAL '1 hour', 1, 24.8, 58.5);
-- 查询数据
SELECT * FROM sensor_data
WHERE time > NOW() - INTERVAL '24 hours';
开始你的TimescaleDB学习之旅吧!
最后更新:2026-03-27