1

我计划将资产记录存储在 Azure CosmosDB 上的 Scalar DL 中。

CosmosDB 将每个(逻辑)分区的所有项目的最大存储大小限制为 20GB。Scalar DL 的资产是 Azure CosmosDB 上的分区键。因此,相同的资产存储在相同的分区中。我认为 Azure CosmosDB 的资产大小存在限制。

我们能避免这个限制吗?Scalar DL 是否具有链接到另一个资产的功能?

另请参阅:https ://docs.microsoft.com/en-us/azure/cosmos-db/concepts-limits

4

1 回答 1

1

最简洁的答案是不。

首先,任何数据库系统通常都有这样的限制。例如,DynamoDB 分区也有 10 GB 的限制。Cassandra 分区最多可以有 20 亿个单元,但从性能角度来看,建议小于 100 MB。(见https://www.instaclustr.com/cassandra-data-partitioning/

因此,正确地对资产进行建模以防止增长过多始终是一种好习惯。

如果您知道自己在做什么,并且除了拥有大型资产(分区)之外没有其他解决方案,请将您的资产拆分为多个资产。(例如,如果有一个资产的 ID 名为 Asset-A,则创建 Asset-A-1、Asset-A-2、...、Asset-AM)在这种情况下,应用程序还必须管理如何他们是分裂的。

于 2021-07-05T11:21:19.167 回答