写点什么

【TcaplusDB 知识库】TcaplusDB 表数据缓写介绍

作者:TcaplusDB
  • 2022 年 6 月 13 日
  • 本文字数:983 字

    阅读完需:约 3 分钟

【TcaplusDB知识库】TcaplusDB表数据缓写介绍

【TcaplusDB 知识库】TcaplusDB 表数据缓写介绍

缓写功能介绍:



表数据缓写服务是指 tcaplus 的增量数据可以缓写到第三方系统(目前支持 MySQL 和 Kafka),用作产品数据查询与分析。其原理为 tcapsvr 将(从启用缓写开始的)增量写入数据(基于 tcaplus binlog)同步到 tcapdb,tcapdb 再写入/更改到 MySQL 或者 Kafka 中。所以该功能必须保证 tcapdb 机器有访问 MySQL 或者 Kafka 的权限,如果是 MySQL,还要有在 Mysql 建表的权限。否则改功能无法配置成功。


以缓写 MySQL 为例(Kafka 入口跟配置步骤类似),配置方法为:进入表管理页面,找到相应的表,右边有"缓写"链接,即可配置缓写:



缓写页面如下,填入相应的参数即可配置缓写:



提交后会生成事务,配置服务。


其中:


  1. 缓写周期:代表数据用户可以接受的数据从 Tcapdb 同步到第三方系统的延迟,最小 1s,这个值越大,代表用户对时延越不敏感。Tcapdb 侧会对缓写周期时间窗口内的请求做去重(例如,1s 内对同一个 key 有多次 Replace 操作,去重后只需要将最后一次 Replace 后的内容同步给第三方系统,可以省去了前两次的请求),从而降低整体同步的 QPS 提升性能。

  2. key 字段映射:tcaplus 表 key 字段到 MySQL 表或者 Kafka 的 key 字段的映射,无特别要求的话两个系统的表字段最好保持一致,利于定位问题。不支持二进制类型的 key 字段(即 tdr 中的数组、二级字段,pb 中的 bytes 、repeated 等类型)缓写。

  3. value 字段映射:tcaplus 表 value 字段到 MySQL 表或者 Kafka 的 value 字段的映射,无特别要求的话两个系统的表字段最好保持一致,利于定位问题。value 字段如果是二进制类型,会以 binary 同步到 MySQL 或者 Kafka,需要用户自己从 MySQL 读取反序列化解析。


注意:


  1. tcaplus 缓写功能只会同步缓写启用之后的增量修改到第三方系统,没有启用之前的数据是没有同步过去的,这部分数据如果也希望同步的话需要 DBA 拉取冷备,将 txh 数据 dump 出来导入进第三方系统,再开启缓写。

  2. 缓写的性能瓶颈在于 tcapsvr 同步线程 CPU,tcapsvr 侧单机 QPS 最大可达到 8w/s。tcapdb 侧的能力可以水平扩展不是瓶颈。




更多信息请关注 TcaplusDB 微信公众号,风里雨里,我们一直在等你!



TcaplusDB 是腾讯出品的分布式 NoSQL 数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB 级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

用户头像

TcaplusDB

关注

还未添加个人签名 2020.05.31 加入

TcaplusDB君

评论

发布
暂无评论
【TcaplusDB知识库】TcaplusDB表数据缓写介绍_TcaplusDB_InfoQ写作社区