基于Databend的TiDB数据归档实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 基于 Databend 的 TiDB 数据归档实践
主讲人:冯光普
2022.10
3306π
2. 冯光普
• 多点DMALL数据库负责人
‣ MySQL / TiDB / Redis / MongoDB
‣ 数据库平台
‣ DB中间件,双活架构
• 更早,阿里巴巴数据库AliSQL团队
3306π
3. 目录
CONTENTS
为什么选择 Databend 归档 TiDB
归档工具、归档流程、实践效果
归档实践总结,未来展望
3306π
4. 为什么选择 Databend 归档 TiDB
3306π
5. TiDB 数据归档,why?
TiDB透明水平扩展
- 研发无感:数据增加,架构保持不变
TiDB基本无限容量
- 循环增强:更多的数据 -> 更多的分析需求 -> 更多的数据
TiDB扩缩容便捷
- DBA友好:加节点即扩容,自动rebalance
3306π
成本
6. - 24个存储节点
- 60TB数据
3306π
7. 选 Databend 归档 TiDB,why?
基于对象存储,成本低
3306π
在线查询
- SSD块设备的1/10
- 按实际用量付费 - 无须从冷备中恢复
- 可接受的查询性能
支持大单表 兼容TiDB
- TB级别
- 分批持续归档 - MySQL协议
- 数据类型兼容
8. Databend 归档 TiDB
MySQL client
databend-meta-0
scalable
databend-query
databend-query
databend-meta-1
databend-meta-2
object storage
3306π
-
-
-
-
Metadata
Security
Management
Transaction
9. 归档工具、归档流程、实践效果
3306π
10. 理想的归档工具
pt-archiver的问题
- bulk模式下(load file),遇到JSON字段特殊字符,处理有异常
- 串行方式执行SELECT-INSERT-DELETE,难以发挥目标端性能
- 批量数据量太多,可能导致TiDB故障,或TiCDC延迟
- 批量数据量太少,Databend中会产生大量snapshot,归档越来越慢
保护源端,可自适应调整执行速率
3306π
源端读取
目标端写入
解耦
发挥目的端性能
11. 归档工具(安全+高效)
TiDB
Databend
CREATE table…
1
table transform(type, index)
2
SELECT… limit N SELECT… limit N SELECT… limit N
|_______________________________|
flow control
3
batch ~ 10MB
memory limit
channel
INSERT into …
async
4
3306π
DELETE from …
12. 归档流程
目标 :最大化赋能DBA、研发
研发提归档工单
业务审批
DBA审批
查询归档数据
- 全自动流程
- 24小时安全运行
- 研发自助捞归档数据
3306π
归档任务
自动授权
13. 从TiDB 到 Databend
类型转换
类型映射
FLOAT
DOUBLE [PRECISION], REAL
- Databend数据类型更少
索引处理
- Databend表无主键、二级索引
DECIMAL(M,D), NUMERIC(M,D)
TINYINT BIT(M)
SMALLINT CHAR(M)
MEDIUMINT
BIGINT
INT
VARCHAR(M), VARBINARY(M)
STRING
BIGINT
ENUM('value1','value2',...)
NULL
- Databend表字段默认NOT NULL
函数
SET('value1','value2',...)
BLOB, TEXT
YEAR
STRING
TIME
DATE
DATE
3306π
TIMESTAMP
TINYBLOB, TINYTEXT
MEDIUMBLOB, MEDIUMTEXT
LONGBLOB, LONGTEXT
DATETIME
DATETIME
- 不完全与MySQL对应
BINARY(M)
JSON
14. 实践效果 - 性能
单个并发归档速率:16MB/s(16K rows/s, 1KB/row),~ 1.3TB/day
3306π
15. 实践效果 - 压缩
150GB
RocksDB
25GB
18GB
Parquet
0
40
80
数据仅供参考,结论:TiDB 和 Databend 均有较好的数据压缩效果 %
3306π
120
160
16. 实践效果 - 降本98%
1
3副本 => 1份数据
Databend
TiKV
TiKV
2
不预留,按实际付费
object storage
TiKV
3
单价仅 ~ 1/10
数据从 TiKV 归档到 Databend 后,存储成本:(1/3) * (60%) * (1/10) = 2%
3306π
17. 归档实践总结,未来展望
3306π
18. 归档实践总结
归档场景下 Databend 优势
- 降本显著:基于对象存储,冷数据存储成本降低98%
- 云中立:支持AWS、Azure、GCP、阿里云、腾讯云、华为云、⻘云、火山引擎
- 研发友好:MySQL协议兼容、可在线查询、统计分析性能好
- 运维无忧:无限空间、高可靠、免维护、迁移便捷
3306π
19. 对 Databend 未来展望
与MySQL 生态,更好地连接
- 兼容性:SQL语法、数据类型、内置function
- 工具:dump / restore 等ETL、甚至准实时DTS/DRC
- 社区:TP + AP、融合、共建
3306π
20. THANKS!
3306π