<Windows Azure Platform 系列文章目录> 本次将介绍Cosmos DB的性能指标RU (Request Unit). 总的来说,我们设置的Azure CosmosDB RU数值越高,则表示该CosmosDB的读写的性能越好.但是每个小时的单价越贵. Azure CosmosDB的价格=设置的RU+存储的容量,按照每小时进行收费的. Azure Cosmos DB支持多种API,比如SQL, MongoDB, Cassandra, Gremlin和Table.每种API 具…
<Windows Azure Platform 系列文章目录> 我个人感觉,这个概念和分布式系统中的CAP原则是类似的: CAP原则指的是在一个分布式系统中,Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼 Azure CosmosDB有五种一致性级别,从数据一致性角度来说,我们按照最强的一致性,到最低的一致性,排序如下: 1.Strong (强一致性) 2.Bounded Staleness 3.Ses…
<Windows Azure Platform 系列文章目录> Azure Cosmos DB的体系结构分为以下几个部分: 1.Database Accounts Database Account就是1个可以访问的namespace命名空间 2.Database Database就是CosmosDB Container的集合 3.Database Container Azure Cosmos Container是可缩放性预配的吞吐量和存储单元 下表描述了Azure Cosmos Databas…
<Windows Azure Platform 系列文章目录> 在Azure Cosmos DB中,还支持Unique Key Constraints(唯一键约束). 我们可以在Azure CosmosDB的一个或者多个字段(Field),建立Unique Key Constraints 通过使用Cosmos DB Unique Key(唯一键约束),可以保证数据是唯一的,避免出现重复的数据. 举个例子,假设我们使用Azure Comos DB,创建员工管理系统(CRM, Customer R…
<Windows Azure Platform 系列文章目录> Azure Cosmos DB使用分区键(Partition Key),来对数据进行水平缩放(Horizon Scale),缩放后的数据子集被称为逻辑分区(Logical partitions).在同一个逻辑分区的数据都有相同的分区键(Partition Key). 举个例子,假设我们对上海市所有的人口数据都保存到CosmosDB中,选择不同的分区键Partition Key,则会产生不同的逻辑分区结果. 1.假设我们按照户籍区县…
我们遇到了什么? 我们有这么一个业务场景,就是某供应商会去爬取某些数据,爬到后会发到一个FTP上,然后我们定时去获取这些数据 这个数据有大有小,小的30多M数据量百万级,大的数据量能到数百M上千万数据 然后当这些数据到达的时候,我们需要在有限的时间内把这些数据写入到我们自己的数据库里. 而写入的过程包括先进行一轮数据清洗,按照指定的规则映射到我们自己的数据后在写进去并不是简单无脑的数据来了就batch insert那么简单 原来的实现方案 传统的Sql Server硬抗,DBA叫苦连天,经常投诉…
<Windows Azure Platform 系列文章目录> 当我们为CosmosDB配置多个Azure Region写入,就需要考虑冲突类型和解决策略. 对于配置了多个写入区域的 Azure Cosmos DB 帐户,当写入者同时更新多个区域中的相同项时,可能会发生更新冲突. 更新冲突划分为以下三种类型: 插入冲突: 当应用程序同时从两个或更多个区域插入具有相同唯一索引的两个或更多个项时,可能会发生这些冲突. 例如,可能会因为 ID 属性而发生此冲突. 所有写入最初可能会在其各自的本地区域…
<Windows Azure Platform 系列文章目录> 绝大部分的商业分布式数据库,要求开发人员选择两个极端的数据库一致性:强一致性(Strong Consistency)和最终一致性(Eventual Consistency) 在笔者之前的文章中,我们介绍了Azure CosmosDB的五种一致性级别: - Strong (强一致性) - Bounded Staleness - Session (会话一致性) - Consistent prefix (一致性前缀) - 最终一致性 (…
<Windows Azure Platform 系列文章目录> 为了保证分布式数据库的高可用性和低延迟性,我们需要在可用性.延迟和吞吐量之间进行权衡. 绝大部分的商业分布式数据库,要求开发人员选择两个极端的数据库一致性:强一致性(Strong Consistency)和最终一致性(Eventual Consistency) 强一致性(Strong Consistency)是数据库编程的黄金标准.但是却需要更高的延迟,且在故障期间可用性较低. 另一方面,最终一致性(Eventual Consis…
<Windows Azure Platform 系列文章目录> Azure CosmosDB是一个全球分布式数据库服务(Global Distributed Database),提供低延迟.可扩展的吞吐量,实现数据库的一致性和高可用. 简单来说,如果你的业务系统需要支持全世界访问且需要保证低延迟,同时保证数据库实时在线,和无限的横向扩展能力,这时候就需要Azure CosmosDB数据库服务 你可以将CosmosDB设置为全球分布.为了保证访问的低延迟,我们可以把CosmosDB所在的区域,离…