Cosmos DB 架构
面向 Azure Storage 的开发
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
问题陈述
什么是 Cosmos DB?
多模型、全球分布式 NoSQL 数据库。
NoSQL:灵活、类似文件夹的存储。
支持多种 API 和数据类型。
像灵活菜单,可选 API 风格:
SQL(Core)用于 JSON 文档。
MongoDB 适合 Mongo 开发者。
Cassandra 适合宽列数据。
Gremlin 适合图关系。
Table API 用于键值存储。
面向开发者的 Cosmos DB
面向开发者设计。
自动索引,无需模式管理。
查询快速。
五种一致性级别:从 Strong 到 Eventual。
在性能与一致性间权衡。
Strong:所有人即时看到相同结果。
Eventual:稍后最终一致。
扩展与吞吐量(RU/s)
每秒请求单位(RU/s)= Cosmos DB 的性能货币。
每次读、写或查询都会消耗 RU/s。
可选固定预配或自动缩放。
扩展与吞吐量(RU/s)
每秒请求单位(RU/s)= Cosmos DB 的性能货币。
每次读、写或查询都会消耗 RU/s。
可选固定预配或自动缩放。
自动缩放随负载自动调整。
弹性扩展与分区
Cosmos DB 通过分区实现扩展。
每个容器使用一个分区键。
分区键将相关数据归组。
例:Cipher Coffee 订单使用
/customerId
。
用
/customerId
作为分区键时,某客户的订单都在同一分区。
数据增长时查询仍然快速。
热分区:分区负载不均导致性能下降。
全球分发
轻松将数据复制到任意 Azure 区域。
只需勾选复选框,无需复杂配置。
区域故障时自动重路由流量。
零停机、零数据丢失。
如同备用门店可即刻服务客户。
监控与成本优化
在 Azure 门户跟踪性能。
查看 RU/s、延迟、请求费用等指标。
如同车载仪表盘:速度与油耗一目了然。
Cipher Coffee 工程师据此分析。
通过动态调整吞吐量降本。
开始练习!
面向 Azure Storage 的开发
Preparing Video For Download...