问题标签 [batch-insert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2504 浏览

c# - Cassandra batch insert using DataStax c# driver

I'm building app to measure NoSQL databases performance and I have a problem to batch insert a large amount of data, in the Cassandra database.

When I'm trying to batch insert more then 1000 records, using DataStax C# driver, I get an AggregateException.

This is my data model:

And this is my code:

Can someone explain to me what I'm doing wrong?

0 投票
1 回答
237 浏览

c# - 在 TransactionScope 中批量插入时出现 ORA-00604 错误

我正在尝试使用 TransactionScope 内的 ADO.NET 将 100k+ 项批量插入到我的 Oracle 数据库中。像这样:

对于低于此 (10k-30k) 的项目,交易成功完成。但是对于更高的项目(如 100k),我得到ORA-00604: error occurred at recursive SQL level %s

如果我完全删除 TransactionScope,则任何项目大小都不会出现任何错误,它可以正常工作。

如何使 TransactionScope 处理大量项目?

0 投票
1 回答
374 浏览

c# - 在 C# 中将大数据集合插入 Cassandra 的最快方法

我对将大型集合插入 cassandra 数据库的最快方法有点困惑。我读到我不应该使用批量插入,因为它是为原子性而创建的。甚至 Cassandra 也为我提供了使用异步写入来提高性能的信息。我使用了没有'batch'关键字的最快插入代码:

来自:https
://medium.com/@foundev/cassandra-batch-loading-without-the-batch-keyword-40f00e35e23e 但它仍然比我使用的批处理选项慢得多。我当前的代码如下所示:

它确实工作得更快,但我只能插入约 2500 个准备好的语句,不能再插入了,我想测量大约 100000 个对象插入的时间。

我的代码正确吗?也许我应该增加插入阈值?请解释一下我的正确方法。

0 投票
1 回答
2646 浏览

hibernate - JPA(Hibernate) 和 postgres sql 使用 nativequery 批量更新

我想使用JPAPostgres 执行批量更新插入。我不能使用合并,因为我正在检查不是 PK 的唯一约束上的冲突。我发现要在 postgres 中进行更新,我们现在可以使用 ON Conflict 功能。所以基本上我想在JPA. 查询将类似于:

我将遍历对象列表并进行查询。

所以我的问题是在原生查询插入的情况下,我们可以使用手动刷新吗em.flush()?它是否适用于批量插入。

如果没有,那么有人可以告诉我这个问题的可能解决方案是什么?

谢谢你的时间。

0 投票
1 回答
15 浏览

mysql - 两种批量插入方式,性能是否相同?

关于批量插入的性能。
1.

2.

关于以上两种方式的性能相同或不同?哪种方式对mysql更友好?

0 投票
1 回答
62 浏览

neo4j - Neo4j 索引不起作用

我正在使用批量插入方法来创建 neo4j 图形数据库。加载 DBpedia 数据集并构建它的属性图。

这是我用于索引的代码。


在查询操作期间,我想使用索引来提高效率。但不幸的是,它不起作用。这是我的代码:

它返回 null,但我确定 db 包含带有resourceName. 我应该如何在这里使用索引进行查询?

0 投票
1 回答
753 浏览

ruby-on-rails - 如何提高 100K MongoDB 对象的“db.collection.insert()”批量插入速度

在我的 Ubuntu 服务器上,我有一个依赖于 MongoDB 的 Ruby on Rails 应用程序。我经常使用Mongoid将对象注入数据库,但是当注入大量对象时,我编译了大量的哈希并使用 mongo Shell 方法db.collection.insert()注入它:

批量插入时间对我来说是一个瓶颈。例如,批量插入 150000 个对象需要 23 秒。是否可以以使批量插入更快的方式分配资源?

0 投票
1 回答
1294 浏览

java - 批量插入时获取 TemporaryFailureException

我正在向 CouchBase 批量插入数据,并在几分钟后收到此异常:

com.couchbase.client.java.error.TemporaryFailureException 在 com.couchbase.client.java.CouchbaseAsyncBucket$13.call(CouchbaseAsyncBucket.java:445) 在 com.couchbase.client.java.CouchbaseAsyncBucket$13.call(CouchbaseAsyncBucket.java:426 ) 在 rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54) 在 rx.observers.Subscribers$5.onNext(Subscribers.java:234) 在 rx.subjects.SubjectSubscriptionManager$SubjectObserver.onNext(SubjectSubscriptionManager.java: 222) 在 rx.subjects.AsyncSubject.onCompleted(AsyncSubject.java:101) 在 com.couchbase.client.core.endpoint.AbstractGenericHandler$1.call(AbstractGenericHandler.java:265) 在 rx.internal.schedulers.ScheduledAction.run( ScheduledAction.java:55) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask 的 java.util.concurrent.FutureTask.run(FutureTask.java:266)。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 运行(ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 运行(ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 运行(ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)

这是代码:

有什么我做错了吗?

0 投票
1 回答
251 浏览

java - 我怎样才能得到我的 Neo4j 的路径在批量插入器方法中?

我在 Web 应用程序中使用 Neo4j 2.2.8 和 Spring Data。我正在使用 xml 来配置我的数据库,例如:

但我正在尝试使用批量插入器添加超过 100 万个来自 .txt 文件的节点。读取文件并设置对象列表后,我的批处理代码类似于:

是否可以在“插入器”中的 xml 中配置我的数据库路径?因为使用上述配置 Neo4j 给了我一个关于多个连接的错误。我可以设置一个属性来解决这个多连接的错误吗?有没有人遇到过这个问题并且知道如何解决它?欢迎提出想法。

谢谢大家!

0 投票
1 回答
742 浏览

java - JOOQ 批处理语句中的绑定调用次数是否有上限?

我们在插入时使用批处理语句如下:

这在过去插入数千个对象时效果很好。但是,它提出了几个问题:

  1. .bind()一个批次的调用次数有上限吗?
  2. 如果是这样,限制取决于什么?
  3. .bind()执行后似乎可以再次调用.execute()。会.execute()清除以前绑定的值吗?

澄清最后一个问题:执行以下代码后......

我应该期待什么结果?

不幸的是,Javadoc文档都没有讨论这种特定的使用模式。

(我问这个特定的问题是因为如果我.execute()每 1000 次绑定左右以避免上述限制,我需要知道我是否可以将batch对象重用于多个.execute()调用。)