我想将数百万条记录作为批处理从MongoDB插入Aerospike。我按照文档找到了这个文档:http://www.aerospike.com/docs/client/nodejs/usage/kvs/write.html 但是我们一次只能插入一条记录。
请帮助我如何一次执行数百万个键值的插入。任何优化写操作的建议
答案 0 :(得分:3)
由于Aerospike有一个创纪录的锁定记录,所以写入Aerospike的每条记录都将成为单一记录。看不出如何在一次操作中写出一百万条记录。给定命名空间的记录基于其集合名称和记录密钥的散列在Aerospike集群中均匀分布。因此,从客户端写入Aerospike集群必须是单独的记录写入。
答案 1 :(得分:3)
Aerospike是一个多节点,多核,多线程的分布式键值数据库。如果要在尽可能短的时间内执行大量写入操作,则需要利用此事实并并行执行写入操作。正如Piyush指出的那样,每个对象本身都是作为单个写入编写的,因此您应该将工作分成多个客户端和这些客户端中的多个线程。这就是aerospike/aerospike-loader和asrestore等工具的工作方式。
我已在一篇关于Aerospike internals的单独帖子中描述了它在每个节点内的工作原理。