CockroachDB生产环境成功应用案例

百度云

业务类型

业务分成三部分:在线交易、轻量级的在线分析(例如实时营销类业务根据用户画像推送相关联的产品)、重量级的离线分析(例如构建用户画像)。在线交易和轻量级分析直接由CockroachDB集群处理,离线分析部分由Spark集群通过CockroachDB提供的KV接口读取数据运行离线分析,把离线分析业务和在线业务之间的影响降到最低,同时二者共享一份数据。

数据量

两个产品布置在百度云上,一共30个左右cockroachdb node,总数据量30TB左右,峰值qps为10w。基础结构由顶层的负载均衡节点和多个cockroachdb node组成。

定制开发

百度云结合自身在数据库研发和运维方面的积累,在开源CockroachDB基础上把CockroachDB打造成一个真正开箱即可用的数据库服务。针对CockroachDB构建了完善的运维管理能力,例如监控管理、灾备管理、故障切换、安全增强等等,释放用户在运维管理方面的人力投入,也针对CockroachDB内核做了如下深度开发:
1. 提供兼容MySQL协议和PostgreSQL协议两个版本,可以无缝对接mysql应用。
2. 新加入CDC、MySQL、PostgreSQL*在线迁移*功能,方便业务迁移到CockroachDB服务。目前支持在线迁移MySQL、PostgreSQL、CockroachDB迁移到CockroachDB。离线迁移支持CSV, SQL文件和SST文件三种数据源。
3. 结合硬件(例如:RDMA,GPS原子钟,FPGA)做了深度优化,在性能和稳定性上有了很大的提升。CockroachDB的分布式事务使用一个称为混合逻辑时钟(HLC)的时钟算法在节点间分配时间戳作为事务排序的依据。百度结合GPS原子钟提实现了一套高精度的时间同步算法,解决时钟漂移,跳变等问题,并结合CockroachDB的HLC算法,保证节点之间时钟偏差不超过20ms,事务处理吞吐提升一倍。同时使用RDMA技术降低节点之间通信时延,结合FPGA加速数据压缩和RocksDB的compaction。

系统架构

CockroachDB生产环境成功应用案例_第1张图片
Kindred

业务类型

kindred是一家提供博彩类游戏的公司,主要是为全球用户提供高可用,低延时,强一致性的游戏数据(比如用户信息)和金融事务(收付款)处理,需要支持全球范围的多活数据中心,需要支持可串行化隔离等级。其中游戏业务需要对数据复杂规则的处理,并且需要避免复杂的应用层逻辑;金融业务有着超过200个子服务,因此需要弹性,可扩展及高度自动化的系统。

数据量

一年大约处理全球范围内的6亿级别的金融事务。

定制开发

为了实现指定地区支付服务以及按地理位置分区存储用户数据,kindred和cockroachdb团队合作开发实现了表级分区(table-level partioning)。

Tierion

业务类型

Tierion是一家提供分布式总账技术的区块链公司,用户可以通过平台分布式存储的账本来验证一系列数据的正确性并提供及时性的证明,其中账本一致性需要可串行化隔离等级保证,而新合作者加入也需要相同的账本(ledger)来进行他们的证明(proof),因此tierion需要一个分布式的,一致性的容易扩展的账本记录系统。

数据量

Tierion测试cockroachDB能够支持每秒4000+的他们的账本操作,tierion总共用它支持了每天100M 级的区块链proof吞吐量。

系统架构

Tierion将数据分布在三个不同的zone里,每个zone有三个布置在docker的node,当有node崩溃掉线时通过Docker Compose重启节点并重新加入集群进行恢复。

Heroic labs

业务类型

Heroic labs是一家为游戏公司和APP公司提供分布式服务器架构的公司,他们需要满足游戏公司为全球上百万用户提供24小时实时多人对抗游戏服务的需求。业务上主要有如下几种要求:1.为客户提供易接入的接口而避免复杂的应用层调整。2.为客户从本地开发到投入生产提供相同的环境,传统数据库需要分区而难以在本地测试。3.为客户提供自动化和容错性以及可扩展的服务器架构。

你可能感兴趣的:(cockroachdb)