TimescaleDB 是一款针对快速检索和复杂查询优化过的开源时间序列数据库(时序数据库)。它使用“完整的SQL”,并且像传统的关系型数据库一样易于使用,还可以按NoSQL数据库的方式进行扩展。

与这两种数据库(关系型与NoSQL)侧重相比,TimescaleDB提供了时间序列数据的最好解决方案:

易用性

  • PostgreSQL支持的完整SQL接口(包括二级索引,基于非时间的聚合,子查询,JOINS,窗口函数)。
  • 连接到任何使用PostgreSQL的客户端或工具,无需更改。
  • 面向时间的特性、API函数和优化。
  • 健全的数据保留策略(Data retention policies)

    扩展性

  • 明确的时间/空间分区,便于纵向扩展(单个节点)和横向扩展(即将推出)

  • 高数据写入率(包括批量提交,内存索引,事务支持,数据回填[data backfill])。
  • 单个节点上设置大小合适的块(二维数据分区),以确保即使在大数据量的情况下也能快速检索数据。
  • 跨块和服务器的并行操作。

    可靠性

  • 基于PostgreSQL设计,打包为PostgreSQL扩展。

  • 受益于PostgreSQL 20多年研究(包括流复制,备份)的成熟基础。
  • 灵活的管理选项(与现有的PostgreSQL生态系统和工具兼容)。

本节的其余部分描述了TimescaleDB体系结构的设计和动机,包括为何时序数据不同,以及在构建TimescaleDB时如何利用其特性。

Next: In part to understand TimescaleDB’s design choices, let us ask: What is time-series data?

Download the Guide

If you want a quick visual intro to TimescaleDB, click on the image below to download the starter guide.

原文:TimescaleDB Overview

[什么是data backfill]
参考:https://www.quora.com/What-is-backfill-data
Let’s say you have a NaN (or empty position) in your data, and you want to fill this value with the nearest value (not-NaN) in the future. This call backfilling progress.
If you want to fill this NaN with the most recent not-NaN in the past. This is forward filling.