SQL 到 Cosmos DB 迁移,我们是否需要多个容器作为 SQL 中的不同表?

SQL to Cosmos DB migration, do we need multiple containers as different tables in SQL?

我们正计划 SQL 数据库迁移到 Cosmos DB,因为我是 cosmos 的新手,所以我对容器感到困惑。 我们需要为每个 table 取一个容器,还是一个容器足以容纳所有 table 数据?假设我们正在使用多个容器,我们可以通过 Store Procedure 来通信不同的容器吗?

要在这里取得成功,您需要了解如何建模数据和 select Cosmos DB 中的分区键。这些概念非常新,与关系数据库不同。我鼓励您仔细阅读这些差异,因为这对此类数据库的性能和成本有巨大影响。这些文章是一个很好的起点:

在 Cosmos DB 中建模需要您了解您的数据访问模式、我如何写入数据、读取数据以及每种模式的读取频率。

完成初始设计后,您需要对其进行测试并测量 RU/s 消耗,以确保您得到相当好的优化。它不需要完美,但您应该知道使用 ChangeFeed 并使用单独的分区键将数据写入另一个容器是否可以更好地满足任何跨分区查询的答案。

有很多概念需要理解。我知道这是一种常见的说法,但我绝对鼓励您在深入了解之前先阅读 Cosmos 上的文档。