Skip to content
forked from pingcap/tidb

TiDB is an open source distributed HTAP database compatible with the MySQL protocol

License

Notifications You must be signed in to change notification settings

TiInterstellar/tidb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

TiDB is an open source distributed HTAP database compatible with the MySQL protocol

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.2%
  • Shell 1.3%
  • Yacc 1.2%
  • TypeScript 0.2%
  • Makefile 0.1%
  • Ragel 0.0%