BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

百度已经在生产环境使用CockroachDB

| 作者 薛命灯 关注 24 他的粉丝 发布于 2017年10月30日. 估计阅读时间: 3 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

云原生分布式数据库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)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT