gpt4 book ai didi

azure - 宇宙数据库 : Efficiently migrate records from a large container

转载 作者:行者123 更新时间:2023-12-02 06:18:35 24 4
gpt4 key购买 nike

我在 CosmosDB 中创建了一个容器,用于跟踪有关每个 API 调用的元数据(时间戳、用户 ID、方法名称、持续时间等)。分区键设置为UserId,每个id都是随机的Guid。这个容器还帮助我对每个用户实现速率限制。到目前为止,一切都很好。现在,我想通过将记录移动到 Azure 表(或其他表)以进行长期存储并生成报告来定期清理此容器。迁移记录还可以帮助我避免 20GB 逻辑分区大小限制。

但是,我担心跨分区查询最终是否会影响我。假设我想迁移一周前创建的所有记录。另外,假设我有数百万活跃用户。因此,该容器看到大量事件,并且我无法在查询中指定分区键。我读到,当 RU/s 和存储大小都很大时,我们应该避免跨分区查询。请参阅this 。我不知道将来我最终会处理多少个物理分区。

我的设计完全不合格吗?如何高效迁移记录?我希望 CosmosDB 团队能够看到这一点并帮助我找到解决这个问题的方法。

最佳答案

更简单的方法是使用 time to live只需将事件\数据同时写入 Cosmos 数据库和表存储,以便它永远保留在表存储中,但在 TTL 过期时从 Cosmos DB 中消失。您可以在文档级别指定 TTL,因此如果您需要某些文档的生命周期更长 - 这是可以做到的。

另一种方法可能是使用 change feed .

关于azure - 宇宙数据库 : Efficiently migrate records from a large container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61038309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com