写点什么

Cosmos DB:全球分布式数据库

  • 2017-11-13
  • 本文字数:964 字

    阅读完需:约 3 分钟

今天是 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

2017-11-13 18:003134
用户头像

发布了 391 篇内容, 共 152.0 次阅读, 收获喜欢 257 次。

关注

评论

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

C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践

汪子熙

Cloud CRM SAP C4C

Inner Join, Left Outer Join和Association的区别

汪子熙

SAP abap ST05

SAP Fiori Launchpad Tile点击后跳转的调试技巧

汪子熙

JavaScript SAP Fiori SAP UI5

使用DOM Breakpoints找到修改属性的Javascript代码

汪子熙

JavaScript html chrome

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

如何将BSP应用配置成Fiori Launchpad上的一个tile

汪子熙

SAP abap Fiori SAP UI5 bsp

SAP Fiori 应用 Footerbar 区域按钮的高亮显示逻辑

汪子熙

JavaScript SAP Fiori SAP UI5

到底哪种类型的错误信息会阻止business transaction的保存

汪子熙

CRM SAP abap

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

汪子熙

JavaScript chrome

学生考试系统存储设计

王硕

架构训练营

一个查看 SAP UI5 控件所有公有方法的小技巧

汪子熙

JavaScript SAP SAP UI5

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

【架构实战营】第 4 模块作业

swordman

架构实战营

模块四-千万级学生管理系统试卷存储方案

华仔架构训练营

另一种方式实现事务码SE16里的结果集修改

汪子熙

JavaScript SAP Fiori

架构实战营 模块四:课后作业

👈

架构实战营

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

☕【Java技术之旅】从底层角度去认识线程的原理

码界西柚

Java 线程 Thread 线程协作 5月日更

SAP CDS view注解解析 - @Environment.systemField

汪子熙

SAP abap

架构实战营 模块四:学习总结

👈

架构实战营

HBase常见问题

数据社

大数据 HBase 5月日更

如何在SAP CRM WebClient UI里创建HANA Live Report

汪子熙

CRM SAP WebClient UI

找出 SAP OData service出错根源的小技巧

汪子熙

SAP Fiori SAP UI5 OData

SAP 不同 ABAP 系统里同一 Customizing activity 的显示差异分析

汪子熙

CRM SAP ERP abap 定制化

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

Authorization object在哪些ABAP代码里使用到

汪子熙

CRM SAP abap Netweaver

架构实战营作业4

大肚皮狒狒

python-运算函数-sum

Geek_6370d5

Java Elasticsearch 使用

Java elasticsearch

Cosmos DB:全球分布式数据库_.NET_Jeff Martin_InfoQ精选文章