azure-cosmosdb - Azure CosmosDB - 类字典对象集合的分区策略
问题描述
我们需要从内存缓存中移出大量数据,因为它占用了太多空间。为此,我们正在考虑 CosmosDB。底部提供了数据结构和用例。在测试它时,我遇到了一些我无法解决的问题:单项检索花费的时间太长(大约 2 秒),事务似乎花费更多的 RU,而不是它应该并且无法决定最佳吞吐量。所以,我有这些问题:
- 使用提供的数据结构应该如何处理分区?如果它甚至会产生影响?
- 一周内的一般吞吐量应该很低(每秒几百个请求),但我们预计会及时出现请求峰值(几十倍以上)。我们如何配置容器来绕过节流的风险,并且在使用率低时不会多付钱?
- 我应该考虑替代方案吗?
[
{
id: '<unique_id>',
hash: '<custom_hash>'
data: [{}, {},...]
},
...
]
该集合有三个用例:
- 读取整个集合并获取 id 和 hash'es 以确定哪些项目发生了变化
- 如果有更改,则替换/插入一批项目
- 读取单项检索数据属性值
解决方案
推荐阅读
- javascript - index.php 与 index.html
- python - 用字典值替换 Pandas Dataframe 中的部分字符串
- arrays - 如何加粗数组的第一个单词?
- django - 如何使用choicefield的实例在django中搜索对象?
- mysql - MySQL是否可以根据时间序列计算平均时间?
- python - 如何在 python 中提高睡眠/暂停时间的准确性?
- android - Android - 无法使用 zxing 库检测二维码
- amazon-s3 - 没有公共访问权限的 aws s3 存储桶策略
- excel - 嵌套的 if else 语句无法通过目标单元格工作
- java - 自定义 websocket 握手