我是 Azure Cosmos DB 的新手,但我想对以下内容有一个生动的了解:
- 分区键是什么?
目前我的理解还很肤浅 -> 具有相同分区键的项目将转到相同的分区进行存储,这可以在系统变大时更好地进行负载平衡。
- 如何决定一个好的分区键? 有人可以举个例子吗?
非常感谢!
最佳答案
您必须根据您的工作负载选择分区。它们可以分为两类。
- 大量阅读
- 写重
读取繁重工作负载是指读取的数据多于写入的数据,例如产品目录,其中目录的插入/更新频率较少,而浏览产品的人较多。
写入繁重的工作负载是指写入的数据多于读取的数据。常见场景是物联网设备从多个传感器发送多个数据。您将向 Cosmos DB 写入大量数据,因为您可能每秒都会获取数据。
对于读取繁重的工作负载,请选择分区键,其中该属性用于过滤器查询。产品示例将是产品 id,它主要用于当用户想要阅读信息并浏览其评论时获取数据。
对于写入繁重的工作负载,请选择分区键,其中属性更加唯一。例如,在IoT场景中,使用deviceid_signaldatetime这样的分区键,它是串联发送信号的device-id,信号的DateTime更具有唯一性。
关于azure - 如何为 Azure Cosmos DB 确定合适的分区键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50884209/