介绍TiDB是PingCAP开发的开源分布式关系型数据库。兼容MySQL协议,易于水平扩展,高可用,强一致性,HTAP等特性。目前TiDB已经应用于汽车之家论坛、朋友圈、智能推荐、财务报表、818网络互动等重要业务。本文介绍TiDB数据库在汽车之家的应用与实践。1.TiDB简介1.1TiDB数据库的发展移动互联网时代,海量数据和多样化的应用场景给数据库存储带来诸多挑战,如海量数据的存储扩展、新数据模型的支持、弹性伸缩的需求、等大规模数据(MySQL、SQLServer、Oracle等)带来巨大挑战。在此背景下,新数据库NewSQL层出不穷,TiDB就是其中的佼佼者。TiDB是PingCAP开发的开源分布式关系数据库。它是一个集成的分布式数据库产品,可以同时支持联机事务处理和联机分析处理(HTAP)。2015年诞生,2017年发布1.0版本,2018年发布V2.0版本,2020年发布V4.0版本,2021年发布5.0版本,最新版本为6.1版本。1.2TiDB主要特点TiDB兼容MySQL协议,易于水平扩展,高可用,强一致性,HTAP。TIDB适用于大量数据不足以单机存储,需要分库分表,要求数据一致性,支持分布式事务,要求高可用的应用场景。1.3TiDB架构TiDB分布式数据库将整体架构拆分为多个组件模块,各个组件之间相互通信,形成一个完整的TiDB系统。主要分为TIDBServer、PDserver、TIKVserver组件。2.国内TiDB的开发与应用2.1国内TiDB的发展历程汽车之家在2019年开始对TiDB进行初步尝试,当时使用的TiDB版本为V2.0。2020年TiDB重要版本4.0发布后(支持TiFLash),TiDB在国内快速发展应用,目前在粉丝业务、经销商、金融、智能推荐资源池、818台湾互动等重要业务都有应用。2022年,我们将完成TiDB集群版本升级,以利用V5.x的新MPP特性。2.2TiDB在家的典型应用?2.2.1智能推荐资源池项目背景智能推荐资源池业务:是汽车之家的核心业务,推荐资源池数据量巨大。有10+亿级宽表。使用两套传统MySQL数据库存储,存在单机存储空间不足、无法快速更改表结构、两套MySQL集群数据同步延迟严重等痛点。项目实施优化前:方案选择对比:对比DB中间件、ES、TiDB、HBase方案,综合考虑业务兼容性、扩展性、迁移成本等因素,我们选择了TIDB方案。架构优化后:资源池后端新数据库由MySQL改为TiDB,如图。新存储采用TIDB数据库,解决了原有架构下单机空间不足、大表变更不方便、多套DB同步延迟等业务痛点。?2.2.2财务内审及报告业务项目背景财务内审报告涉及多种数据源,无法通过多表join计算。导入数仓计算不够及时,隔天生成报表,不能满足业务时效性更高的需求。项目实施?2.2.3818台王互动项目背景“818全球汽车之夜”是汽车之家打造的汽车行业顶级盛会。Taiwang互动业务包括红包互动、闪车等,数据量大,需要多机房的高可用、高可靠架构。台网互动后端存储我们使用TIDB数据库。项目实施?2.2.4TIDB应用场景总结3.家庭TiDB运维实践3.1家庭TIDB自动化运维建设数据库自动化建议包括:家庭TiDB运维系统建设主要通过TiDB原生工具+自研自动化运维和维护平台来实现。TiDB自动化产品接口:3.2遇到的问题及解决方案4.结语本文介绍了TiDB数据库的特点和首页的发展历程,典型的业务应用场景,TiDB兼容MySQL协议,易水平扩展,高可用,强一致性,HTAP等特性已经应用到国内很多重要的业务中。此外,文章还介绍了TIDB自动化运维的构建,以及在应用实践中遇到的问题和解决方案。FutureHomeTiDB计划继续构建TiDB运维体系,重点测试和应用TiDB6.0的新特性,同时尝试将TiDB容器化。作者简介陶惠祥C中端产研中心,云平台部。■2020年加入汽车之家,负责汽车之家数据库/缓存运维及RDS产品开发,致力于为公司提供安全、稳定、可靠的数据库/缓存服务。
