写点什么

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

  • 2017 年 10 月 29 日
  • 本文字数:951 字

    阅读完需:约 3 分钟

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

2017 年 10 月 29 日 19:006396
用户头像

发布了 321 篇内容, 共 116.6 次阅读, 收获喜欢 122 次。

关注

评论

发布
暂无评论
发现更多内容

RocketMQ - 如何实现顺序消息

Java收录阁

RocketMQ

在 Go 中使用并发编程 - 第二部分

TuringTuring

并发编程 协程 线程模型 Go 语言

提升输入效率第一步——切换双拼

dongh11

效率工具 提升效率 生产力 分享 有趣

假如孔乙己是程序员

顿晓

学习 程序员 孔乙己

redis数据结构介绍五-第五部分 对象

Nick

redis 源码 数据结构 源码分析 算法

平台化服务的基石:用户认证模型设计

孤岛旭日

企业架构 模型 用户权限

redis数据结构介绍四-第四部分 压缩表

Nick

redis 源码 数据结构 源码分析 算法

教师节H5案例制作思路分享

喵喵侠

大前端 H5游戏

写给产品经理的信(4):你一定要做产品经理么?

punkboy

生涯规划 产品 程序人生 产品经理 职业规划

KubeFATE 部署多集群联邦学习平台 FATE

亨利笔记

学习 Kubernetes FATE KUBEFATE

ansible-playbook中when结合tags使用,实现变量控制执行

唯爱

使用 Python 分析 Google Calender 日程

Roc

Python 总结 日历

OBS推流学习笔记

IT蜗壳-Tango

直播 OBS 推流 B站直播

财富的大门给我开了一条缝

YoungZY

读书笔记 读书

ARTS week 1

时之虫

ARTS 打卡计划

栀子花,我们应该像你一样静静绽放

小天同学

个人感想 感悟 日常思考

Java 异步编程:从 Future 到 Loom

理帆

Java 并发编程 kotlin Netty

2020年下半年计划

IT蜗壳-Tango

年度计划

企业也有中年危机?探讨数字化与永续经营

finclip

数字化转型 小程序生态

学慢点儿,想深点儿

熊斌

学习

Git数据传输模型及常用命令整理

王坤祥

git git flow

ARTS-weekly-31

落英坠露

ARTS 打卡计划

微信推文无缝滚动是这样炼成的

喵喵侠

微信 大前端 微信公众号 微信推文 图文混排

Windows10 如何正确修改本地用户的名称及目录

喵喵侠

windows Windows 10 电脑故障 Windows技巧

Kubernetes in action 笔记

FeiLong

Kubernetes 容器

使用 Python 和 SudachiPy 进行日语分词

Roc

Python 日语 分词

数据与广告系列三:合约广告与与衍生的第三方广告数据监控

黄崇远@数据虫巢

数据挖掘 互联网 广告 移动互联网

RASP研发踩坑之agent 加载机制(1)

国服第一

Java JVM 类加载 RASP

redis数据结构介绍六 快表

Nick

redis 源码 数据结构 源码分析 算法

使用 Markdown 制作五线谱

Roc

GitHub markdown 五线谱

2020全球首创币期权DAPP智能合约强势来袭,闪耀数字经济

极客编

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