azure - 分区与 RU
问题描述
场景:我们有大约 800,000 名用户使用我们的系统。我们需要为每个用户每 2 周存储 5-6KB 的报告。任何时候只有少数用户 (50-100) 使用该系统可以访问报告。我认为 UserId 的“分区”是有道理的,因为数据会非常均匀地分布,并且一次总是在 1 个分区上进行查询。
问题:我的困惑是,假设我们为这个集合分配了 5,000RUs 的吞吐量。这些 RU 在所有分区中是否具有弹性?还是始终固定为 5,000RUs/800,000 个分区 = 0.00625 RUs/分区?
解决方案
正如@nick 提到的,RU 是跨物理分区而不是逻辑分区分配的。您可能在同一个物理分区中有一个或多个逻辑分区,但每个底层物理分区的上限为 10GB 和 10,000 个 RU。
如果您分配了 5,000 个 RU,则这些 RU 将均匀分布在分配的物理分区中。如果您创建一个以 5,000 RU 作为初始分配的集合,您可能会发现您有 5 个物理分区,每个分区有 1,000 RU。您可以在数据库的指标刀片中检查这一点(查看吞吐量,对于单个集合)。
当物理分区达到其 10GB 限制或 RU 达到 10,000 RU 容量时,物理分区的数量将重新排列或增加。然后将逻辑分区拆分为不同的(或新的)物理分区。如果物理分区数增加,但不增加 RU,每个分区的 RU 会减少一点(例如,如果你从 5 个物理分区变为 10 个,你的 5,000 RU 现在将被分成 10 路而不是 5 路,这意味着 500 RU /分区而不是 1,000)。
推荐阅读
- c++ - 用 C++ 重写 Matlab 函数的智能方法
- python - Python REGEX 匹配乱序并替换组内的匹配
- c# - .net 访问类内的局部变量
- intellij-idea - 当我在 IDEA 中构建 flink1.6.1 时,类路径中缺少 TypeInformation
- javascript - 在 Rails 资产管道中创建一个通用的 javascript 函数
- functional-programming - erlang中对不可变/持久数据结构的需求是什么
- python - NameError:名称'__'未定义
- html - 修复 bootstrap 4 中的菜单问题,避免每个子下拉菜单相互重叠
- java - 为什么我在 LinkedList 中的 add() 方法不起作用?
- r - facet 一组多面图