云原生分布式数据库 CockroachDB 在推出之日起就受到了广泛关注。近日,包括百度在内的一些公司纷纷投入CockroachDB的怀抱。百度的DBA团队原先使用的是MySQL,现在开始使用CockroachDB,那么CockroachDB究竟帮助百度解决了哪些MySQL无法解决的痛点?
云原生分布式数据库 CockroachDB 在推出之日起就受到了广泛关注。近日,包括百度在内的一些公司纷纷投入CockroachDB的怀抱。百度的DBA团队原先使用的是MySQL,现在开始使用CockroachDB,那么CockroachDB究竟帮助百度解决了哪些MySQL无法解决的痛点?
百度DBA团队在生产环境需要支持十亿用户对应用程序的访问,所以他们必须提供大规模且性能稳定的基础设施。他们最开始使用的是MySQL,并通过分片和中间件为关键应用提供支持。但DBA团队希望在有新应用加入时,不仅能够提供大数据量存储,还能保持高并发的实时访问。为了加快查询速度,还需要支持二级索引,同时还能支持基于已有数据执行一些实时的数据分析。如果继续使用MySQL,开发人员就必须在应用程序端做很多开发工作,才能实现这些需求。而如果改用NoSQL数据库,就要放弃二级索引、聚合功能和事务特性,这样也会给应用程序增加很大的复杂性。
百度DBA团队作为CockroachDB项目的贡献者之一,他们发现CockroachDB不仅可以满足他们的需求,而且不需要使用中间件,也不会给应用程序带来任何复杂性。该团队一边参与该项目,一边使用真实的流量负载来测试CockroachDB。最后,他们认为CockroachDB的架构非常适合他们的场景。
开发人员可以继续使用SQL,而DBA团队不仅能够更快地作出运维响应,还能满足开发团队不断增长的需求。如果要扩展容量,只要加入新的服务器,在上面安装CockroachDB,然后重新配置负载均衡器就可以了。负载均衡器自动对数据库流量进行路由、均衡和复制。
现在,百度在生产环境已经有两个应用在使用CockroachDB。他们在10台裸机上安装CockroachDB,再加上一个负载均衡器来分配流量。每天访问2TB数据,执行5000万次写入操作。不仅可以使用二级索引,还支持分布式SQL查询。
在CockroachDB的帮助下,百度DBA团队现在对原先的一些手动执行工作进行了自动化,包括数据库复制、均衡管理和失效备援。
百度表示会继续为CockroachDB项目作出贡献,不断增加新的特性,提升产品的可用性。百度还与Cockroach Labs合作,在中国举办了CockroachDB开发者见面会。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。
凡本网注明“来源:XXX(非科技狗)”的内容,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 如有侵权及时联系本网站:yzl_300@126.com 本网将在第一时间删除!
2023-02-28
2023-02-20
2023-03-17
2023-02-01
2023-03-17
从单车智能到车路云协同,Smart Solution 2.0有哪些
4月18日,全球瞩目的第二十届上海车展盛大启幕,作为国际领先的移动出...