- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在研究将 Azure CosmosDB 用于需要高读取吞吐量和扩展能力的应用程序。 99% 的事件都是读取,但有时我们需要插入某处,从几个文档到可能有几百万个文档。
我创建了一个集合来测试并配置了 2500 RU/秒。然而,我在插入 120 个小(500 字节)文档时遇到了问题(我收到“请求率很大”错误)。
我怎样才能以任何有用的方式使用文档数据库,如果我想插入一些文档,它会使用我所有的 RU 并阻止任何人阅读它?
是的,我可以增加配置的 RU,但如果我只需要 2500 个用于读取,我不想只为偶尔的插入支付 10000 个 RU。
读取需要尽可能快,最好是在 "single-digit-millisecond" 中微软宣传的范围。插入不需要尽可能快,但越快越好。
我尝试使用我见过建议的存储过程,但这也无法可靠地插入所有内容,我尝试使用答案 here 中建议的使用多个线程创建自己的批量插入方法但这会产生非常慢的结果,并且至少在某些文档中经常会出现错误,并且平均 RU 率似乎远低于我所配置的值。
我觉得我一定错过了一些东西,我是否必须大量超额配置 RU 才能进行写入?是否有某种内置功能来限制 RU 用于插入?如何在合理的时间内插入数十万个文档,而不会使集合变得不可用?
最佳答案
在某些情况下可以执行数百万个文档的批量插入。我们刚刚在我的公司进行了一次练习,将 1 亿条记录从 Azure SQL DB 中的各个表移动到 CosmosDb。
编辑CosmosDb 现在有 Autoscale 。启用自动缩放后,您的集合将保持较低的配置 RU/s,并在负载不足时自动扩展到最大阈值。对于您指定的用例,这将为您节省大量资金。自从该功能正式发布以来,我们就一直在使用它。
如果您的大部分操作都是读取,请查看 Integrated Cache 。截至目前,它处于公共(public)预览状态。我没有使用过这个,但如果您的阅读量很大,它可以为您节省金钱。
关于c# - CosmosDB - DocumentDB - 批量插入,无需饱和集合 RU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632778/
我在 CultureInfo 类中发现了一件有趣的事情。我在 ASP.NET 中编写一个应用程序,我正在使用 Thread.CurrentThread.CurrentCulture 获取当前选择的语言
我正在使用 Pony gem 在 Sinatra 中创建一个表单,该表单将在提交时将数据发送到电子邮件。到目前为止,这是我的代码: post '/pemco' do Pony.mail( :fro
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange类的一些代码示例,展示了
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange.stringToInt
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange.parseYearsR
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange.extractFour
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange.containsTwo
本文整理了Java中de.tudarmstadt.ukp.jwktl.parser.ru.wikokit.base.wikt.multi.ru.quote.YearsRange.()方法的一些代码示例
场景:我们有大约 800,000 位用户使用我们的系统。我们需要每两周为每个用户存储 5-6KB 的报告。任何时候只有少数用户(50-100)使用该系统可以访问报告。我认为按 UserId 进行“分区
我已经在使用 php 的 filter_var($email, FILTER_VALIDATE_EMAIL) 来查明地址是否是有效的电子邮件。 我要继续阻止 .ru 电子邮件地址。我应该使用什么正则表
我正在为使用 CosmosDB 的客户开发一份技术文档,在该文档中,客户要求我输入运行 CosmosDB 的每月估计成本。 现在,当我前往https://azure.microsoft.com/en-
我的 cosmosGB gremlin API 设置为 400 RU/s。如果我必须运行一个需要 800 RU 的查询,这是否意味着该查询需要 2 秒才能执行?如果我将吞吐量增加到 1600 RU/s
为什么 RU 消耗高于预配置吞吐量与自动缩放最大吞吐量的比率? 我所看到的: 自动缩放最大吞吐量为 220k 预配置吞吐量仅为 153k 但是 RU 消耗是 100%! 当预配置吞吐量远不及自动缩放最
我在 S3 文档集合中存储了大约 200MB 的数据(最大的一个)。每个文档大小约为 300KB。 但是当我运行查询时,我惊讶地发现它需要 7245.81 RU。由于 S3 的速度为 2500 RU/
我正在尝试了解 RU 的工作原理,以便优化对数据库发出的请求。 我有一个简单的查询,其中按 id 选择 SELECT * FROM c WHERE c.id='cl0' 该查询花费 277.08 RU
我的 cosmosGB gremlin API 设置为 400 RU/s。如果我必须运行一个需要 800 RU 的查询,这是否意味着该查询需要 2 秒才能执行?如果我将吞吐量增加到 1600 RU/s
我正在尝试了解 RU 的工作原理,以便优化对数据库发出的请求。 我有一个简单的查询,其中按 id 选择 SELECT * FROM c WHERE c.id='cl0' 该查询花费 277.08 RU
我想嵌入来自 Ok.ru 的视频,然后指定视频应开始的时间(例如:视频应从第 5 秒开始),并隐藏控件,就像在 YouTube 的嵌入 API 上一样。 我刚刚找到了他们的 API,但我无法找到如何执
我的 cosmosGB gremlin API 设置为 400 RU/s。如果我必须运行一个需要 800 RU 的查询,这是否意味着该查询需要 2 秒才能执行?如果我将吞吐量增加到 1600 RU/s
在俄罗斯社交网络中,有一个在线播放音乐的功能。没有什么特别的,但即使我在网站上导航,音乐也会继续播放。所以 Url 正在改变(不是哈希部分),但音乐播放流畅。 它是如何完成的?只是我很好奇这些人是如何
我是一名优秀的程序员,十分优秀!