Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 1.47 KB

README.md

File metadata and controls

43 lines (28 loc) · 1.47 KB

Interstellar

项目成员

@crazycs520

@xuanwo

@rebelice

项目介绍

该项目为 TiDB 设计了一个新功能,某表会自动将历史数据分区,并移入更便宜的对象存储(S3)中去。同时对外的SQL查询接口不变,依然可以同时查询到 SSD 磁盘,也能查询到对象存储中的数据。

用户故事

当用户对一个表写入大量时间数据(比如交易日志,订单信息)时,对于旧的历史数据,客户查询的频次会比新数据低很多,常见的只是对历史数据偶然的 TP 访问和低频次的分析访问。这时候把历史数据和新数据一样放在 SSD 磁盘上,就显得特别昂贵。该功能能够降低用户成本,扩充 TiDB 生态。

同时,对比使用时序数据库方案上能够利用上 TiDB 高写入带宽、快速 TP 查询、支持 HTAP 场景等优点。

项目设计

  1. 当有新数据写入时,按照某一种规则自动将新旧分区。
  2. 可以指定某个规则,让旧的分区自动移入 S3,且变成只读。
  3. 可以向普通表一样读取任意分区的数据
  4. 当 TiKV, TiFlash 的存储容量快要满了的时候,可以手动指定某一个分区存储到S3

项目实现

  • DDL 语句格式
    • Create table
    • Alter partition
    • Table meta 定义
    • Auto create partition
  • S3 存储
  • 数据迁移
    • meta 信息更新
    • 数据删除与迁移
  • 存储格式
  • 查询支持 partition on s3

operator.md