NewSQL

TiDB 分布式数据库在转转公司的应用实践

扶醉桌前 提交于 2019-12-04 20:10:24
作者:孙玄,转转公司首席架构师;陈东,转转公司资深工程师;冀浩东,转转公司资深 DBA。 公司及业务架构介绍 转转二手交易网 —— 把家里不用的东西卖了变成钱,一个帮你赚钱的网站。由腾讯与 58 集团共同投资。为海量用户提供一个有担保、便捷的二手交易平台。转转是 2015 年 11 月 12 日正式推出的 APP,遵循“用户第一”的核心价值观,以“让资源重新配置,让人与人更信任”为企业愿景,提倡真实个人交易。 转转二手交易涵盖手机、3C 数码、母婴用品等三十余个品类。在系统设计上,转转整体架构采用微服务架构,首先按照业务领域模型垂直拆分成用户、商品、交易、搜索、推荐微服务。对每一个功能单元(商品等),继续进行水平拆分,分为商品网关层、商品业务逻辑层、商品数据访问层、商品 DB / Cache,如下图所示: 项目背景 面临的问题 转转后端业务现阶段主要使用 MySQL 数据库存储数据,还有少部分业务使用 MongoDB。虽然目前情况下使用这两种存储基本可以满足我们的需求,但随着业务的增长,公司的数据规模逐渐变大,为了应对大数据量下业务服务访问的性能问题,MySQL 数据库常用的分库、分表方案会随着 MySQL Sharding(分片)的增多,业务访问数据库逻辑会越来越复杂。而且对于某些有多维度查询需求的表,我们总需要引入额外的存储或牺牲性能来满足我们的查询需求