BT

你的观点很重要! 快来参与InfoQ调研吧!

Cosmos DB:全球分布式数据库

| 作者 Jeff Martin 关注 6 他的粉丝 ,译者 盖磊 关注 1 他的粉丝 发布于 2017年11月14日. 估计阅读时间: 3 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

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

在开始介绍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在今天春季撰写的一篇文章

查看英文原文: Cosmos DB - A Globally Distributed Database

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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