如何解决如何批量上载关系数据并将其转换为RavenDB中的聚合?
| 我正在设法弄清楚如何将关系数据高效地批量插入RavenDB,尤其是在从关系数据转换为聚合的地方。 假设我们有两个表的两个转储文件:“ 0”和“ 1”。它们太大,无法加载到内存中,因此我将它们读取为流。我可以通读每个表,并在RavenDB中创建与每个行相对应的文档。我可以使用批处理请求将其作为批量操作来执行。到目前为止简单高效。 然后,我想在服务器上进行转换,摆脱OrderItems
并将其集成到其父Order
文档中。没有成千上万的往返次数怎么办?
答案似乎介于基于集合的更新,实时投影和非规范化更新之间,但我不知道在哪里。
解决方法
您将需要使用非规范化更新和基于集合的更新来执行此操作。看一下PATCH API,看看它提供了什么。尽管如果您计划一次更新多个文档,则只需要基于集合的更新,但是您可以直接使用PATCH API直接对已知文档进行修补。
实时投影只会在获取查询/索引结果时为您提供帮助,它们不会更改文档本身,只会更改从服务器返回到客户端的文档。
但是,我建议,如果可能的话,在将订单和对应的OrderItems内存中合并之前,将它们发送到RavenDB。您仍然可以从转储文件中流式传输数据,仅在需要时使用一些缓存。这将是最简单的选择。
更新
我已经编写了一些示例代码来演示如何执行此操作。这将修补特定
Post
文档中的Comments
数组/列表,在本例中为\“ Posts / 1 \”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。