首页 > 其他分享 >多点《基于 Databend 的 TiDB 数据归档实践》 | Data Infra 分享第 4 期总结

多点《基于 Databend 的 TiDB 数据归档实践》 | Data Infra 分享第 4 期总结

时间:2022-09-27 17:11:20浏览次数:77  
标签:DMALL 存储 数据 TiDB Infra Databend 归档 Data

本周末 Data Infra 社区分享中邀请到 多点 DMALL 数据库负责人:冯光普 分享了《 基于 Databend 的 TiDB 数据归档实践 》

图片

本次分享的主要内容:

  • 为什么选择 Databend 归档 TiDB

  • 归档工具,归档的流程,实践效果

  • 归档实践总结,对 Databend 未来的展望

为什么选择 Databend 归档 TiDB

TiDB 在多点 DMALL 使用的非常好。可以实现透明扩展, 研发无感,数据增加,架构不变;TiDB 在使用中给人的感觉是没有容量限制,支持更多的数据;在 TiDB 中扩容更便捷,加节点即扩容,自动 Rebalance。基于以上优点,TiDB 越用越舒服,但成本也就越来越高。

图片

上图多点 DMALL TiDB 某集群现在跑在腾讯云上总共 24 个节点,每个节点近 3 T+ 空间(NVME 磁盘),现在总数据量 60 T 了, QPS 接近 10 万 。数据还在不断的上升中,所以考虑需要对 TiDB 进行归档存储。

图片

在选择归档时,分 4 个方面做了对比:

  • 存储成本:对象存储和 HDD, SSD 的成本,其中对象存储是 HDD 的1/10, 是 SSD 的 1/30,

  • 在线查询能力:但数据又不能直接放到对象存储中,还需要提供对外的查询能力,

  • 支持大表持续备份:这块也调研了 MariaDB on S3,需要先写入 InnoDB,然后在转成只读的 s3 engine ,这样备份 10 TB 的表,本地也要有 10 TB 的空间, Databend 是直接写入对象存储。

  • 兼容 MySQL 协议:可以保持 TiDB 的使用习惯。

基于以上条件的对比,最终多点 DMALL 选择了 Databend 。多点 Databend 的部署架构如下:

图片

其中 Databend-query 有点类似于 MySQL server 直接连接对象存储,对于用户管理,权限,meta 信息存储在 Databend-meta 中,这个节点可以单点部署,生产中也可以部署成集群模式。

归档工具、归档流程、实践效果

图片

DMALL 研发一个新的归档工具,工作流程如下:

  1. 先做归档表结构到 Databend 创建

  2. 基于小批量读取源端到 Channel 中,同时检测源端压力,如果源端压力大,降低读取速度,如果压力小,就可以加大读取

  3. Databend 端写入时,可以合并写入,实现更大的 batch

  4. 在 Databend 写入成功后,再去源端删除,保证数据安全

图片

归档任务,由开发人员发起,DBA 审核,自动化归档,数据永久保留。基于上面的方法,可以实现开发人员,查询 2,3 年前的数据,也可以自助完成。

图片

多点采用的单表按 10 M 每个 Batch 写入,评估一天单表可以归档 1.3 T 数据,单集群对于表没有限制,可以根据任务去并发写 Databend 集群,这样一天的量基本非常可观。另外这块,多点 DMALL 也对比了 MySQL,TiDB,Databend 数据压缩能力:

图片

在 MySQL 中占用 150 G 数据,导入 TiDB 中占用:25 G, 在 Databend 中占用:18 G(只有一个副本,数据可用性靠对象存储保证)。

图片

基于成本方面的考查:数据从 TiDB 到 Databend  从 3 副本到 1 份数据(对象存储帮搞定副本),对象存储不需要预留,按实际付费,单价仅是 HDD,SSD 成本的 1/10-1/30 。DMALL 这边使用 Databend 做 TiDB 的归档后,存储成本仅仅是原来存储成本的 2%。

归档实践总结,对 Databend 未来的展望

在归档场景下 Databend 优势:

  • 降本显著:基于对象存储,冷数据存储成本除低 98%,如果你是 SSD 到对象存储,基可以达到 99% 以上的降本。

  • 云中立:支持 AWS, Azure,GCP,阿里云,腾讯云,华为云,青云,火山引擎,minio,ceph 等

  • 研发友好:MySQL 协议兼容,可在线查询,统计分析性能好

  • 运维无忧:无限空间,高可靠性,免维护,迁移便捷

图片

最后冯光普提出希望 Databend 生态方面更加的完善,例如,可以更加完善 TP 到 Databend 的数据同步据,进一步的融合 TP + AP 的能力。

关于 Data Infra 社区

Data Infra 社区是 Databend 开发者邀请数据工作者一起交流数据架构及相关技术的一个社区。关注微信公众号,持续了解 Data Infra 社区。

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

图片
文章首发于公众号:Databend

标签:DMALL,存储,数据,TiDB,Infra,Databend,归档,Data
From: https://www.cnblogs.com/databend/p/16735220.html

相关文章

  • vue中,html中调用methods中的方法修改data中的属性值会引起死循环
    问题描述在引入vue的html页面中,html语句中调用methods中的方法修改data中的属性值,会导致页面陷入死循环。问题原理触发条件(二者需都满足)1:methods中有修改data属性值的......
  • Python中dataclass库
    目录dataclass语法一、简介二、装饰器参数三、数据属性1、参数2、使用示例3、注意事项四、其他1、常用函数2、继承3、总结dataclass语法一、简介官方文档的......
  • 删除DataTable重复列,类似数据库的Distinct函数。
    将数据表放到内存中进行操作,可以极大的提高效率。///<summary>///删除DataTable重复列,类似distinct///</summary>///<paramna......
  • vuex从后端获取data
    //store.jsimport{createStore}from"vuex";importaxiosfrom"axios";conststore=createStore({state(){return{merchants:[]......
  • MongoDB Database Tools All In One
    MongoDBDatabaseToolsAllInOnehttps://www.mongodb.com/docs/database-tools/refs©xgqfrms2012-2020www.cnblogs.com/anonymous007发布文章使用:只允许注册用......
  • C#的System.Data.DataTable各个属性和方法
    在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。1、添加引用usin......
  • SQL Server Master Database
    概述最近公司做了一个关于SQLSERVER的大项目,所以对SQLSERVER进行了探究。master数据库,是SQLServer中最重要的系统数据库。master数据库包含有关SQLServer系统的所有......
  • datafaker的使用--详细教程
    文章目录datafaker的使用一、开源情况二、工具产生背景三、软件架构四、安装流程安装对应数据库包五、使用举例5.1查看版本号,查看参数使用说明5.2......
  • 【C#】System.Data.OleDb操作Excel
    一、DataTable导入导出ExcelusingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.IO;usingSystem.Linq;usi......
  • Arc SQL MI: Multi-cloud Database failover using Distributed AG
    Reference:https://techcommunity.microsoft.com/t5/azure-architecture-blog/arc-sql-mi-demonstrating-multi-cloud-database-failover-using/ba-p/2936589architect......