• Azure上找不到MongoDB?不妨试试Azure Cosmos DB


    最近被问到Azure上的MongoDB在哪里?

    答:Azure上目前没有Paas层的Mongo DB可用,但仍有两种方式使用Mongo DB, 1是使用Iaas层的虚拟机构建MongoDB集群,2.是使用更强大的Paas层的Cosmos DB。

    Azure Cosmos DB是多区域  分布式  多模型数据库服务。

    您可以观看以下视频内容了解Azure Cosmos DB或者跳过视频阅读文章:

    https://v.qq.com/x/page/r3050khlbou.html

    多区域:

    可以一键将数据复制到与 Cosmos 帐户相关联的所有区域。对于国际版本Azure,Cosmos DB目前已经支持超过30个区域(注:Azure全球已经有55个区域):

    对于中国版Azure,4个区域全部支持:

    多模型:

    目前支持Key-Value,Column-family, Document, Graph4种模型;

    多种API:

    目前支持了SQL,MongoDB,Cassandra, Table, Gremlin等多种API(还在持续增加种)。

    SLA保证的低时延:

    使用 Cosmos DB 可以生成具有高响应能力的多区域规模应用程序。CosmosDB 可保证全中国任意位置99%的情况下读取(已编入索引)和写入延迟均低于10毫秒。 此功能使高响应度应用可以实现持续的数据引入和超快的查询。

    利用Cosmos DB 的多区域 分布式特点的典型应用:

    在多个区域部署WEB站点;

    用户通过Traffic Manager访问到最靠近用户的区域的站点;

    创建Cosmos DB,并一键复制到全球多个区域;

    各个区域的WEB站点访问本区域或最靠近本区域的Cosmos DB;

    (注)Traffic Manager请参见:

    Azure Traffic Manager- 可以在全球 Azure 区域内以最佳方式分发流量

    五个一致性:

    具体请参考官网:

    https://docs.azure.cn/zh-cn/cosmos-db/consistency-levels

    非常一致性(Strong)

    有限过期一致性(Bounded Staleness)

    会话一致性(Session)

    前缀一致性(Consistent Prefix)

    最终一致性(Eventual)

    分区:

    AzureCosmos DB 使用分区缩放数据库中的单个容器,以满足应用程序的性能需求。 在分区中,可将容器中的项分割成不同的子集(称作“逻辑分区”)。 逻辑分区是根据与容器中每个项关联的分区键值形成的。 逻辑分区中的所有项具有相同的分区键值。

    例如,某个容器保存项。 每个项具有唯一的 UserID 属性值。 如果 UserID 充当容器中的项的分区键,并且有1,000 个唯一的 UserID 值,则会为容器创建1,000 个逻辑分区。

    除了用于确定项的逻辑分区的分区键以外,容器中的每个项还有一个项ID(在逻辑分区中保持唯一)。 将分区键与项 ID相结合可以创建项的索引用于唯一标识该项。

    吞吐量:

    AzureCosmos DB 对数据库的所有操作(增删改等)的成本进行规范化,抽象了支持的数据库操作所需的系统资源,例如CPU、IOPS 和内存,并最终以“请求单位”(缩写为RU)表示。可将每秒 RU 数(RU/S)视为吞吐量的计量单位。  

    读取 1 KB 项的成本为 1 个请求单位(1 个 RU)。 以类似方式为其他所有数据库操作分配 RU 成本。 不管使用哪个API来与AzureCosmos 容器和数据库操作交互,都始终以RU来计量成本。 无论数据库操作是写入、读取还是查询,都始终以RU来计量成本。

    计费方式:

    预配的吞吐量+每小时消耗的存储的费用

    预配的吞吐量可以给 数据库(database)和 容器Container(collection, graph, or table) 单独预配吞吐量(throughput )。

    吞吐量可以预配到容器或数据库上,但是每个容器或数据库的最小预配量为:400RU/S。

    因此,使用Cosmos DB的最低成本为 4*37.94,约等于152元/月。

    除此,还需要增加存储的费用:

    如果将数据扩展至多个区域,则需支付多个区域的总存储成本。

  • 相关阅读:
    Android Studio 工具栏添加图标
    Spring 概述
    Spring的一种拦截器SimpleUrlHandlerMapping
    Spring注解@Resource和@Autowired区别对比
    关于spring中注解和xml混合使用
    MyEclipse快捷键大全(绝对全)
    技术简历
    计算坐标中心点
    Ideal常用 快捷键
    Ideal 报错之 Class ** is never used 解决办法
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/12186089.html
Copyright © 2020-2023  润新知