写点什么

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:003006
用户头像

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

关注

评论

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

10款低/无代码开发平台哪个才是适合你的?

低代码小观

程序员 低代码 无代码 低代码平台 无代码平台

网络攻防学习笔记 Day129

穿过生命散发芬芳

日志分析 9月日更

13. AlphaGO带给人类的启示到底是什么

Databri_AI

人工智能

这个 TCP 问题你得懂:Cannot assign requested address

AlwaysBeta

Linux TCP TCP/IP Linux内核 TCP协议

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质,带你领略SQL的世界!

Java MySQL 架构 面试 架构师

Filecoin价格今日走势:filecoin暴涨!Filecoin未来会涨到多少钱?

区块链 分布式存储 filecoin未来价格预测? filecoin价格走势 filecoin大涨

Java设计模式如何优雅的使用本地缓存?

张音乐

Java 缓存 9月日更

谈 C++17 里的 FlyWeight 模式

hedzr

c++ 设计模式 Design Patterns 享元模式 flyweight

Navicat Premium 查询 x 列时不显示

玄兴梦影

MySQL navicat select

FontAwesome图标大全

入门小站

工具

模块七作业:王者荣耀商城异地多活架构设计

Felix

架构学习模块二

George

职场浅谈三则

姬翔

9月日更

【网络安全】记一次挖洞的日常

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

阿里内部流传的JDK源码剖析手册!GitHub已获上千万的访问量

Java 编程 架构 jdk 面试

网红郭老师遭全平台账号封禁,违背公序良俗的网红该被封杀

石头IT视角

模块七课后作业

NewBranSTONE

#架构实战营

推荐三个实用的 Go 开发工具

AlwaysBeta

Go 语言

Kubernetes踩坑问题集

玏佾

Kubernetes k8s k8s文档

去中心化身份务实

CECBC

Redis集群docker部署

非晓为骁

redis Docker redis集群

国家发改委:利用区块链等新技术开展绿色电力交易试点

CECBC

“IBP在城市大脑项目中的应用”入选工信部2021年大数据产业发展试点示范项目名单

云计算

pyhanlp 添加自定义词典(qbit)

qbit

Python nlp 分词

如何让项目准时上线?

石云升

项目管理 管理 引航计划 内容合集 9月日更

【布道API】关于 API 分页

devpoint

API REST API 9月日更

linux之ssh命令

入门小站

Linux

区块链赋能供应链金融风险管控探析

CECBC

TLS协议分析 (七) 安全性分析

OpenIM

【架构设计模块七】:王者荣耀商城异地多活架构设计

Ryoma

女科学家流失之殇

脑极体

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