Javascript 使用NodeJs在Aerospike中进行批量导入

Javascript 使用NodeJs在Aerospike中进行批量导入,javascript,node.js,mongodb,aerospike,aerospike-loader,Javascript,Node.js,Mongodb,Aerospike,Aerospike Loader,我想将数百万条记录作为从MongoDB到Aerospike的批处理过程插入。我按照文档进行操作,发现此文档: 但有了这个,我们一次只能插入一条记录 请帮助我如何一次插入数百万个键值。任何优化写入操作的建议由于Aerospike具有记录级别锁定,因此写入Aerospike的每条记录都将是单记录写入。不知道如何在一次操作中写入一百万条记录。给定名称空间的记录根据其集合名和记录键的散列均匀分布在Aerospike集群中。因此,从客户端写入Aerospike群集必须是单独的记录写入。Aerospike是

我想将数百万条记录作为从MongoDB到Aerospike的批处理过程插入。我按照文档进行操作,发现此文档: 但有了这个,我们一次只能插入一条记录


请帮助我如何一次插入数百万个键值。任何优化写入操作的建议

由于Aerospike具有记录级别锁定,因此写入Aerospike的每条记录都将是单记录写入。不知道如何在一次操作中写入一百万条记录。给定名称空间的记录根据其集合名和记录键的散列均匀分布在Aerospike集群中。因此,从客户端写入Aerospike群集必须是单独的记录写入。

Aerospike是一个多节点、多核、多线程的分布式键值数据库。如果您想在尽可能短的时间内完成大量的写操作,您需要利用这一事实并并行地完成写操作。正如Piyush所指出的,每个对象本身都是作为一个写操作来编写的,因此您应该将您的工作拆分为多个客户端和这些客户端中的多个线程。这就是像和这样的工具是如何工作的


我已经在关于的单独帖子中描述了它在每个节点内的工作方式。

要深入了解服务器端的并行性,请阅读Ronen在其关于Aerospike Internal的回答中下面的链接。谢谢@Ronen,我只使用了一个客户端连接,当我尝试循环放置请求时,我得到以下错误:{AerospikeError:Max node/event loop BB993AA892C9B0E异步连接将被超过:300消息:“Max node/event loop BB993AA892C9B0E异步连接将被超过:300”,代码:-7,func:“as_event_get_connection”,文件:“src/main/aerospike/as_event.c”,行:447}这300是并发异步操作的最大数量。它由设置客户端的控制。如果您只使用一个客户端连接,您将在客户端而不是服务器端进行限制。与群集可用于执行这些写操作的内核和线程数相比,一个线程的异步仍然有限是的。