使用node.js批量插入不在Cassandra中工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用node.js批量插入不在Cassandra中工作相关的知识,希望对你有一定的参考价值。

我试图使用batch()方法插入超过100条记录。

client.batch(batchQuery,  prepare: true , function (err, result) 
    if (err) 
        res.status(404).json( msg: err );
     else 
        res.json([result.rows][0]);
    
);

batchQuery有超过100个插入查询。如果记录小于7,它正在工作。如果它超过10,那么我得到“批量太大”

答案

您不应该使用批量插入Cassandra(与RDBMS相比) - 这个错误意味着您将数据插入到不同的分区中,并且它会在接收查询的节点上推送额外的负载。只有在插入同一分区时才需要使用批处理 - 在这种情况下,它们将作为单个突变应用。

否则,通过异步执行发送单个插入查询将会快得多。您只需要同时发送太多请求(请参阅此answer)。

你可以在documentation上阅读更多关于批次的好坏使用的信息,然后回答SO:1

以上是关于使用node.js批量插入不在Cassandra中工作的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中使用 sqlite3 执行批量插入?

使用 Node.js/Sequelize 进行批量插入时 PostgreSQL 崩溃

如何使用 Sequelize 和 node.js 进行批量插入

Astyanax Cassandra 驱动程序在批量插入期间意外删除主机

如何在 cassandra 中多插入行

猫鼬批量插入错误