2015-01-08 37 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); 

    }); 
    } 
});