|
0
|
| Benjamin79 · 技术社区 · 4 年前 |
|
|
1
1
根据你提供的信息听起来像
需要注意的一件事是热分区。你说你的
另一方面,这对你的用例来说并不重要。因为没有一个数据库会超过5GB,所以你会一直呆在一个分区内,但事先考虑一下总是好的;由于情况可能会发生变化,最终会出现一个拆分为多个分区的数据库。
最后,我永远不会对所有数据使用单个分区。它没有任何好处。如果您没有可用作分区键的属性,那么
|
|
|
2
0
我强烈建议你先看看这个 segment of the Data Modelling & Partitioning presentation 托马斯·韦斯,宇宙数据库项目经理。在我看来,这是了解如何思考分区的最佳资源之一。 同意David Makogon的观点,你没有提供足够的数据。例如,我们知道每个数据库有30个文档类型——给定cosmosdb数据库使用容器,我实际上希望每个文档类型都有自己的容器——与您所写的相反:
这意味着您希望对所有数据使用单个容器。我不会把用户和员工作为文档放在同一个容器中。它们是独立的域,应该有自己的容器。 请参见上的Azure文档页面 Partition Strategy 以及关于访问模式的后续段落。建议是:
在访问模式一节中,提到的良好实践是将数据分为热数据、中数据和冷数据,并将其放入各自的容器中。一个警告是,根据这个 page 每个数据库共享吞吐量的最大容器数为25。 如果这是不可能的,并且所有数据都必须在一个容器中结束,那么docType似乎是正确的分区键,因为如果我理解正确,您的查询将按docType获取数据。 正如404所写,您希望避免热分区,即将容器中的大多数文档阻塞到单个或几个逻辑分区中。因此,您需要根据最频繁的操作选择分区键。 |