TimescaleDB概述
TimescaleDB is an open-source time-series database optimized for fast ingest and complex queries. It speaks "full SQL" and is correspondingly easy to use like a traditional relational database, yet scales in ways previously reserved for NoSQL databases.
TimescaleDB是一个专注于快速摄取和复杂查询的开源时间序列数据库。
Compared to the trade-offs demanded by these two alternatives (relational vs. NoSQL), TimescaleDB offers the best of both worlds for time-series data:
相比于关系型数据库和非关系型数据库而言,时序数据库兼具两者的优点。
使用简单
- Full SQL interface for all SQL natively supported by PostgreSQL (including secondary indexes, non-time based aggregates, sub-queries, JOINs, window functions).
- Connects to any client or tool that speaks PostgreSQL, no changes needed.
- Time-oriented features, API functions, and optimizations.
- Robust support for Data retention policies.
- 为所有PostgreSQL原生支持的SQL提供完整的SQL接口。
- 可以直接连接到使用PostgreSQL的客户端或工具。
- 面向时间的功能,API函数,以及优化。
- 强烈支持数据保留规则。
可扩展
- Transparent time/space partitioning for both scaling up (single node) and scaling out (forthcoming).
- High data write rates (including batched commits, in-memory indexes, transactional support, support for data backfill).
- Right-sized chunks (two-dimensional data partitions) on single nodes to ensure fast ingest even at large data sizes.
- Parallelized operations across chunks and servers.
- 透明的时间/空间分割--向上(单个节点)扩展和水平扩展。
- 高效数据写入(包括批量提交,内存索引、事务支持,支持数据回填)。
- 单个节点上尺寸合适的区块(二维数据分区)确保大量数据快速摄取。
- 跨区操作和服务器操作同时进行。
可依赖
- Engineered up from PostgreSQL, packaged as an extension.
- Proven foundations benefiting from 20+ years of PostgreSQL research (including streaming replication, backups).
- Flexible management options (compatible with existing PostgreSQL ecosystem and tooling).
- 基于PostgreSQL打造的时序数据库可以看做PostgreSQL的扩展。
- 经过验证的基础-受益于20多年PostgreSQL研究(包括数据复制,备份)。
- 灵活的管理设置(兼容现有的PostgreSQL生态系统和工具)。
The rest of this section describes the design and motivation around the TimescaleDB architecture, including why time-series data is different, and how we leverage its characteristics when building TimescaleDB.
本节剩下的内容描述了设计时序数据库的设计理念和动机,包括:为什么时间序列数据跟其他数据不同,以及在创建时序数据库时我们是如何使用时间序列数据的。
Next: In part to understand TimescaleDB's design choices, let us ask: What is time-series data?