微软构建分布式数据库Cosmos DB的思路
极客时间编辑部
讲述:杜力大小:1.10M时长:02:24
在近期举行的 PASS 2017 峰会上,微软 Cosmos DB 组产品经理丽玛·内梅(Rimma Nehme)发表演讲,介绍了微软设计和构建 Cosmos DB 所用的方法。
在开始介绍 Cosmos DB 之前,丽玛探讨了一些影响设计团队考虑的市场趋势。据她介绍,全世界 90% 的数据都是在近两年间创造的,而根据预测,从 2010 起的 10 年期间,全世界的数据量有望增长 50 到 100 倍。
如果将适合该趋势的需求与计算应该接近数据的理念相结合,那么传统的“俗世”数据库从技术上并不适于应对这种复杂的局面。
“佛罗伦萨计划”是微软为应对这种趋势而提出的一个解决方案,它是由达尔马·舒克拉(Dharma Shukla)启动的。选择佛罗伦萨为项目名称的背景是,舒克拉在该城市度假时提交了项目的首个代码。从更宽泛的意义上看,佛罗伦萨是欧洲文艺复兴开始的中心,这符合当今计算机世界对数据的需求将会爆发这一预测。
此后,“佛罗伦萨计划”演变为 Azure Cosmos DB 产品。项目开始时的目标取决于 Bing、Xbox Live 等微软内部客户的需求。至 2010 年,项目的需求发展为:
全球分布的一站式解决方案;
全球范围内 99% 的低延迟保证;
区域和全球范围内的高可用性保证;
确保一致性;
全球范围内通量和存储的弹性扩展,并可随时按需提供服务;
全面 SLA(可用性、延迟、通量、一致性);
低运维代价;
迭代和查询,无需关心具体的模式和索引管理;
提供一系列的可选数据模型和 API。
简而言之,Cosmos DB 团队的任务是在确定如何构建全球分布式云数据库的同时,也满足微软内部客户的需求。
从开发人员的角度看,Cosmos 主要使用 C++ 语言编写。同时,Cosmos DB 提供了五种一致性模型,分别是:强一致性(Strong)、受限无状态一致性(Bounded-stateless)、会话一致性(Session)、前缀一致性(Consistent Prefix)和最终一致性。其中最广泛使用的是会话一致性,它的使用远远领先于第二位的受限无状态一致性。
此外,Cosmos DB 的成功使得其成为 Azure 内部的“首环”(Ring 0)服务,即一旦有新的 Azure 地理区域建立,Cosmos DB 就是该区域内首批提供的服务之一。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论