11月18日,2023 Rakuten 技术大会在东京、上海和大连三地线下联动召开,期间有一场 TiDB 的 Talk,《刘洋:TiDB 在乐天积分系统的最佳实践》。
活动地点很近,就在我司对面,所以中午专门抽时间去聆听了刘洋老师的分享,只是会后又匆忙溜回公司搬砖,没来得及好好交流。
关于乐天 Rakuten
可能好多同学对这家公司很陌生,因为这是一家三资企业。也有些同学似曾听过,只不过这不是韩国的乐天集团(Lotte)。
- 日本楽天集团 Rakuten Group
创立于1997年2月,总部位于东京,是日本最大的电商平台之一,也是日本家喻户晓的互联网综合服务平台。Rakuten Group 旗下有70多个业务领域、涵盖网络购物商城、信用卡、电子支付、银行、证券、保险、旅游、专业体育、拍卖、通讯、媒体等,利用楽天会员制度为枢纽将这些服务相互串起,创造出独有的「楽天生态圈」,目前楽天的服务业务已在全球拥有超17亿的注册用户。
- 楽天中国 Rakuten CNTD
乐天创研(北京)科技有限公司成立于2010年10月,是 Rakuten Group 在华投资建立的全资子公司。2015年3月在上海成立了第一家分公司,2019年3月在大连成立了第二家分公司。楽天人在中国搭建起的业务服务平台与全球业务纵向互通,覆盖全球范围内的电子商务、营销、旅游、通信、证券、数据科学等服务,并充分利用Rakuten Group在互联网领域所积累的经验和最前沿技术,发挥中国优秀人才的聪明才智,为全球客户提供更加完善、优质的服务。
TiDB Talk 内容
刘洋老师在 2023 Rakuten 技术大会上分享的 TiDB 在乐天积分系统中的最佳实践。
目前使用 60+节点,单表90亿+,介绍了乐天积分系统的早期碰到的数据量不断增加厚的挑战,以及背后的数据架构。
在选型初期对比了 YugabyteDB 和 CockroachDB 的弹性扩缩容方面的性能对比。
更多 PPT 实拍请参见帖子: https://asktug.com/t/topic/1017425
说回技术话题。
或许有同学会有疑问,单表90亿+ 的数据量,之前是什么数据库,单机怎么支撑的了。
答案很简单,之前用的不是开源数据库,而是 Oracle RAC 集群,而且是主备两套 Oracle RAC,嗯哼,一切都说的通了。
或许是上云趋势不可逆,或许是这家企业对开源社区有浓厚的兴趣,整体技术架构都在进行一场大变革。
基础设施方面,由混和云构建,自建了 Rakuten One Cloud,引入了 Azure 云,这里没用 AWS?蛮有趣。
数据库方面,转向 NewSQL,引入 Cassandra / MySQL / TiDB / etcd 。
应用层方面,将传统的单体服务进行拆分,基于微服务改造,应用服务运行在 k8s 上。
乐天积分系统,用 TiDB
经过审慎严谨的选型对比,在最终确认新架构的方案中,选择了用 TiDB。
选择的理由主要是:
- MySQL 兼容性;支持二级索引
- 高扩展性,支持将数据处理节点和存储节点水平扩展
- 友好的管理接口、工具;跨区域部署
- 强大的开源社区;本地商业支持
在 TiDB 拓扑设计上,设计了主、备双中心,实现异地容灾,双中心通过 TiCDC 进行数据同步。
存储节点使用了 TiKV 行存引擎和 TiFlash 列存引擎,两款存储引擎。在 Talk 中,刘老师有介绍到,他们的点查响应在 20+ ms。
后期迭代升级
在 Talk 中,刘老师介绍了该系统对 TiDB 日后的创新使用,或将引入两项强大特性,冷热分离和资源管控。
从 TiDB 6.0 开始,Placement Rules in SQL 特性 GA,通过该功能,DBA 可以将表和分区指定部署至不同的地域、机房、机柜、主机。借助该特性,可将热数据和冷数据分别存储到 SSD 和 HDD,以降低存储成本。
关于该特性的详细介绍,请参阅官方文档: Placement Rules in SQL
以及,专栏文章: TiDB 冷热存储分离解决方案
从 TiDB 7.1.0 LTS 开始,资源管控特性 GA,通过该特性,DBA 可以自定义资源组,通过资源组限定硬件资源配额,并将用户绑定到某个资源组,以实现应用的资源隔离,满足服务质量 (QoS) 要求。
关于该特性的详细介绍,请参阅官方文档: 使用资源管控 (Resource Control) 实现资源隔离
以及,专栏文章: TiDB 7.1.0 LTS 特性解读 | 资源管控 (Resource Control) 应该知道的 6 件事
最后,关于 TiDB 版本选择,刘老师介绍本番环境将会用到最新的 7.1.x。
Ps. TiDB 7.5.0 LTS 不日将会发版,欢迎迫不及待的同学先参阅专栏文章: TiDB 7.x 源码编译之 TiDB Server 篇,及新特性详解
总结
感谢刘老师带来的线下 TiDB Talk,活动很棒,现场参会人数很多,去晚的我只能坐在角落,hhh~
TiDB 社区线下地区活动,上海站已经举办了若干场,大连这边陲小镇有机会还要加油搞起来,啊~