【问题标题】:Azure cosmos DB physical partition unbalanced with no hot partition key indicatedAzure cosmos DB 物理分区不平衡,未指示热分区键
【发布时间】:2020-04-06 21:33:48
【问题描述】:

我有这个问题: 正在为我创建新的物理分区,并且请求经常发生在同一个分区上。我想知道这怎么可能,因为我没有指定热分区键?

我唯一的分区键是一个 id 组成如下:

用户id_年份_旅行号

我记住了车辆的地理位置。

这显然会产生几个 429。 我希望我是清楚的。

编辑 ----------------------------------------------------

我设置日志并调查:

400kb 的 json 是否有可能产生写入 od 2900 RU/s 的请求? 文件是这样的:

我不明白为什么当我只加载一个文档时控制台的结果显示计数为 4??

【问题讨论】:

    标签: azure-cosmosdb


    【解决方案1】:

    图表显示您有一个热分区。您需要选择具有更高基数的分区键,以便在分区之间更均匀地分布写入并将数据迁移到这个新容器中。最好使用 Change Feed 从现有容器中读取数据并将数据写入新容器。当更改提要赶上时,您可以更改应用程序中的连接字符串并重新启动它,然后写入新容器而停机时间非常短。

    【讨论】:

    • 嗨@Mark,感谢您的回复。如何找到热分区键?抱歉,但我不明白这怎么可能,因为分区键(genKey)的每个值在 cosmos 中最多有 100-150 个文档..
    • 有一些工具可以调查?
    • 是的。您需要启用一些诊断日志。有关如何配置和查询这些的更多信息,请参见此处。 docs.microsoft.com/en-us/azure/cosmos-db/…谢谢
    • 但是,为什么我有一个热分区键?我的PK值范围很广..基数高!
    • 您有一个热分区,因为您的一个或几个分区键值收到了很多请求。要找出那些是您需要使用诊断日志并查询它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多