azure - 如何为 Azure Cosmos DB 确定合适的分区键

标签 azure azure-cosmosdb data-partitioning

我是 Azure Cosmos DB 的新手,但我想对以下内容有一个生动的了解:

  1. 分区键是什么?

目前我的理解还很肤浅 -> 具有相同分区键的项目将转到相同的分区进行存储,这可以在系统变大时更好地进行负载平衡。

  • 如何决定一个好的分区键? 有人可以举个例子吗?
  • 非常感谢!

    最佳答案

    您必须根据您的工作负载选择分区。它们可以分为两类。

    • 大量阅读
    • 写重

    读取繁重工作负载是指读取的数据多于写入的数据,例如产品目录,其中目录的插入/更新频率较少,而浏览产品的人较多。

    写入繁重的工作负载是指写入的数据多于读取的数据。常见场景是物联网设备从多个传感器发送多个数据。您将向 Cosmos DB 写入大量数据,因为您可能每秒都会获取数据。

    对于读取繁重的工作负载,请选择分区键,其中该属性用于过滤器查询。产品示例将是产品 id,它主要用于当用户想要阅读信息并浏览其评论时获取数据。

    对于写入繁重的工作负载,请选择分区键,其中属性更加唯一。例如,在IoT场景中,使用deviceid_signaldatetime这样的分区键,它是串联发送信号的device-id,信号的DateTime更具有唯一性。

    关于azure - 如何为 Azure Cosmos DB 确定合适的分区键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50884209/

    相关文章:

    azure - ListConnectionStrings cosmosDB 权限

    Azure VM - 由于虚拟机出现故障,无法执行操作

    azure-cosmosdb - 如何在 Azure DocumentDb 上进行不区分大小写的搜索?

    azure - 如何将 CosmosDb SQL 帐户作为二头肌模块参数传递?

    c++ - 适合集合(图形)分区的数据结构

    performance - 是否有关于 Google App Engine 或其他云平台性能的报告或论文

    azure - az 登录命令失败 - Azure cli

    linq - 使用 Id 以外的属性查询 DocumentDB

    algorithm - 将集合 S 公平划分为 k 个分区

    hadoop - Hive 是否支持基于表达式的分区?