写点什么

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

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

关注

评论

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

音视频技术如何为元宇宙提供全真稳的全新体验之漫话腾讯云音视频 | 社区征文

liuzhen007

音视频 1月月更 新春征文

微信业务架构 & 学生管理系统架构

凌波微步

「架构实战营」

「架构实战营」模块一作业

hxb

「架构实战营」

华为云FusionInsight连续三次获得第一,加速释放数据要素价值

华为云开发者联盟

大数据 数据湖 云原生 FusionInsight 华为云

一起玩转LiteOS组件:TinyFrame

华为云开发者联盟

LiteOS 串口 LiteOS组件 TinyFrame

架构实战营5期模块1作业

lovles

「架构实战营」

高效管理邮件的方式

NinetyH

工具软件 办公效率 邮件管理

CVE-2021-4034 Linux Polkit 权限提升漏洞挖掘思路解读

腾讯安全云鼎实验室

云原生 漏洞分析

ChaosCraft:和女朋友一起来 Hackathon 表演绝活丨滑滑蛋团队访谈

PingCAP

模块六

Only

架构师实战营 「架构实战营」

什么时候该减少质量投入?

QualityFocus

质量管理 软件测试 测试思维

微信朋友圈架构设计

刘洋

#架构实战营

写了这么多年后端,你知道事务脚本模式吗?

蜜糖的代码注释

Java 互联网 后端

ReactNative进阶(三十六):ES8 中 async 与 await 使用方法详解

No Silver Bullet

Async React Native await 1月月更

获奖作品公布,快来看看有没有你!

InfoQ写作社区官方

新春征文 热门活动

git 使用总结

麦可

git 开发工具

IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?

BeeWorks

我的架构学习之始

浪飞

架构训练营模块一作业

苍狼

复古冰雪传奇H5游戏详细图文架设教程

echeverra

游戏开发 游戏

Centos7下Nginx编译安装与脚本安装的记录

edd

模块一作业--

Leo

「架构实战营」

WorkPlus赋能数字政府迈入发展新阶段

BeeWorks

研发转岗产品经理,有什么需要注意的呢?

石云升

产品经理 产品思维 1月月更

LabVIEW仪表盘识别(实战篇—6)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 仪表盘识别

[架构实战营]-架构实训一

邹玉麒

「架构实战营」

华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼

华为云开发者联盟

kafka RocketMQ RabbitMQ 华为云 消息中间件

Android Studio开发flutter快捷键及文本显示技巧。

坚果

flutter 1月月更

Linux之ps命令

入门小站

Linux

JavaScript 之 Proxy

编程三昧

JavaScript 前端 Proxy 1月月更

小程序电商业务微服务拆分及基础设施选型

swallowluo

架构实战营 #架构实战营 「架构实战营」

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