58 集团拥有⼤量需要长期保留的数据,但 MySQL 的单机存储容量有限,扩容不便。在数据量特别⼤的情况下,只能采⽤分库分表。
MySQL 的⾼可⽤⽅案是主从复制+ MHA,当主库挂掉时,需要切换主从,势必影响⼀定时间的写⼊。此外,MySQL 读延时⽐较⾼,读流量增加会进⼀步带来⾼延迟。
经过选型对⽐,58 集团选⽤ TiDB 来解决上述问题。 基于分布式架构的 TiDB ⽀持⽔平伸缩,在计算能⼒不够时直接加节点就可以进⾏扩展。 且 TiDB 具有多副本,可以保证数据安全及⾼可⽤。此外,TiDB Server 没有状态,⽀持多点读写。TiDB 也⽆需分库分表,操作⽐较简单,不⽤定期清理数据。
58 将 TiDB 接⼊到了“58 云 DB 平台”中,利⽤开源 inception 来处理 DDL/DML ⼯单。平台分为管理端和⽤户端,管理端是 DBA ⽤来做元信息维护、⼯单处理、运营报表、监控概览等。⽤户端⽅⾯,业务会在上⾯申请 TiDB 集群、DDL/DML ⼯单,账号管理,查看集群的信息及监控情况,还可以⾃助查询库中的数据。
TiDB 切实解决了汽车之家在应⽤ SQL Server 时候的痛点:
⽔平伸缩:在当前集群内可以随时加节点,更换节点也轻⽽易举;
海量数据⽀持:基于其特性以及业内使⽤的经验,⼗亿乃⾄百亿级别的数据量轻松搞定;
⾼可⽤:相较 SQL Server 的主从模式,TiDB 基于 Raft 协议,可以实现 100% 的数据强⼀致性,并且多数副本可⽤的情况下,可实现⾃动故障恢复;
HTAP:TiDB ⾃⾝就⽀持⼀定程度的 OLAP 场景,更复杂的 OLAP 分析可以通过 TiSpark 项⽬来完成。
因篇幅问题不能全部显示,请点此查看更多更全内容