2015-01-08 39 views
0

我正在申请nodejs其中我必须创建cassandra数据库CQL在nodejs中创建cassandra数据库。

我曾尝试使用helenus卡桑德拉驱动但没有能够通过定制列表创建密钥空间。

我也曾尝试阿波罗卡桑德拉,也能够连接到数据库,并创建密钥空间,进入元组,但是当我们火查询再次重新启动应用程序,然后后它显示schime失配误差

cassandra的哪个nodejs驱动程序很简单,并且完全支持CQL?

回答

2

Datastax在公司github回购中有一个正式的驱动程序。

https://github.com/datastax/nodejs-driver

司机是Apache Cassandra的。该驱动程序仅与Cassandra查询语言版本3(CQL3)和Cassandra的本地协议一起工作。

高层次的特点:

  1. 自动节点发现
  2. 简单,准备和批量声明支持
  3. 负载均衡策略
  4. 故障切换重试和重新连接政策
  5. SASL AUTH支持

It工作得很好,并积极配合。

+0

我已经尝试使用它来创建数据库,但没无法这样做。你能否提供一些正在运行的示例代码。事实上,我必须为不同的用户创建不同的密钥空间,然后在此基础上,必须执行查询。 – ashishkumar148

+0

稍后我可以提供一个示例,但是,请检查每个节点的cassandra.yaml并设置** start_native_transport:true **,因为驱动程序会说明二进制协议并且默认情况下未启用(并重新启动) – jmingov

+0

这已是事实。 – ashishkumar148

1

另一条路线(如果你不喜欢写查询语句直接在你的代码)是CassanKnex,它采用了datastax driver执行查询 - 用法:

var cassanKnex = require("cassanknex")({ 
    connection: { // default is 'undefined' 
    contactPoints: ["10.0.0.2"] 
    }, 
    exec: { // default is '{}' 
    prepare: false // default is 'true' 
    } 
}); 

cassanKnex.on("ready", function (err) { 

    var qb.createKeyspace("cassanKnexy") 
    .withSimpleStrategy(1); 
    .exec(function(err, res) { 

     if (err) 
     console.error("error", err); 
     else 
     console.log("res", res); 

    }); 
    } 
});