Cosmos DB:全球分布式数据库

2017 年 11 月 13 日 AI前线 Jeff Martin


作者|Jeff Martin
编辑|Emily
今天是 PASS 2017 峰会的第二日,上午首个主题演讲是 Microsoft Cosmos DB 组产品经理 Rimma Nehme 对 Azure Cosmos DB 的介绍。Nehme 以丰富的信息量和快速的表达,介绍了 Microsoft 设计和构建 Cosmos DB 所用的方法。

更多干货文章请关注微信公众号“AI 前线”,ID:ai-front

在开始介绍 Cosmos DB 之前,Nehme 探讨了一些影响设计团队考虑的市场趋势。据 Nehme 介绍,全世界 90% 的数据都是在近两年间创造的。从 2010 起算的 10 年期间,全世界的数据量有望增长 50 到 100 倍。如果将适合该趋势的需求与计算应该接近数据的理念相结合,那么传统的“俗世”数据库从技术上并不适于应对这种复杂的局面。

“佛罗伦萨计划”是 Microsoft 为应对这种趋势而提出的一个解决方案,它是由 Dharma Shukla 启动的。选择佛罗伦萨为项目名称的背景是,Shukla 在该城市度假时提交了项目的首个代码。从更宽泛的意义上看,佛罗伦萨是欧洲文艺复兴开始的中心,这符合当今计算机世界对数据的需求将会爆发这一预测。

此后,“佛罗伦萨计划”演变为 Azure Cosmos DB 产品。项目开始时的目标取决于 Bing、Xbox Live 等微软内部客户的需求。至 2010 年,项目的需求发展为:

  1. 全球分布的一站式解决方案;

  2. 全球范围内 99% 的低延迟保证;

  3. 区域和全球范围内的高可用性保证;

  4. 确保一致性;

  5. 全球范围内通量和存储的弹性扩展,并可随时按需提供服务;

  6. 全面 SLA(可用性、延迟、通量、一致性);

  7. 低运维代价;

  8. 迭代和查询,无需关心具体的模式和索引管理;

  9. 提供一系列的可选数据模型和 API。

简而言之,Cosmos DB 团队的任务是在确定如何构建全球分布式云数据库的同时,也满足 Microsoft 内部客户的需求。Cosmos DB 的成功使得其成为 Azure 内部的“首环”(Ring 0)服务,即一旦有新的 Azure 地理区域建立,Cosmos DB 就是该区域内首批提供的服务之一。从开发人员的角度看,Cosmos 主要使用 C++ 语言编写。

Azure Cosmos DB 提供了五种一致性模型,分别是:强一致性(Strong)、受限无状态一致性(Bounded-stateless)、会话一致性(Session)、前缀一致性(Consistent Prefix)和最终一致性。其中最广泛使用的是会话一致性,它的使用远远领先于第二位的受限无状态一致性。

Nehme 的主题演讲的节奏很快,提供了丰富的信息。想要了解 Cosmos DB 的更多技术细节,可以查看 Dharma Shukla 在今天春季撰写的一篇文章:

https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-cosmos-db/?v=17.42n

查看英文原文:

https://www.infoq.com/news/2017/11/passd2-global-dist-db

注:由于微信不能添加外链,相关链接可请点击【阅读原文】,在“AI 前线”知乎专栏中查看

登录查看更多
0

相关内容

Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Services Platform一样,是微软“软件和服务”技术的名称。Windows Azure的主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。Azure服务平台包括了以下主要组件:Windows Azure;Microsoft SQL数据库服务,Microsoft .Net服务;用于分享、储存和同步文件的Live服务;针对商业的Microsoft SharePoint和Microsoft Dynamics CRM服务。
【北京大学】面向5G的命名数据网络物联网研究综述
专知会员服务
36+阅读 · 2020年4月26日
【大规模数据系统,552页ppt】Large-scale Data Systems
专知会员服务
60+阅读 · 2019年12月21日
阿里巴巴全球化架构设计挑战
InfoQ
35+阅读 · 2019年11月25日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
Google 开源机器学习算法;2018 年 SO 数据库调查
技术最前线
4+阅读 · 2018年3月14日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
Arxiv
10+阅读 · 2020年4月5日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
9+阅读 · 2019年4月19日
VIP会员
相关资讯
阿里巴巴全球化架构设计挑战
InfoQ
35+阅读 · 2019年11月25日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
Google 开源机器学习算法;2018 年 SO 数据库调查
技术最前线
4+阅读 · 2018年3月14日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
Top
微信扫码咨询专知VIP会员