Sequoiadb分佈式數據庫入門使用教程

SequoiaDB分佈式數據庫介紹

      SequoiaDB能夠支持分佈式存儲結構化和半結構化數據,還能夠使用LOB大對象技術存儲海量的非結構化數據。除了能夠支持海量數據分佈式存儲外,還能夠爲用戶提供多索引功能,支持用戶在高併發場景下做數據訪問。其底層主要基於分佈式、高可用、高性能與動態數據類型設計,與Spark這種分佈式計算框架緊密集成。

sdb 'db = new Sdb("localhost",11810)'

#其中localhost表示需要連接的主機名,選擇集羣中任意一臺機器即可,11810爲協調節點。

 創建域的語法爲:

db.createDomain( <name>, <groups>, [options] )

創建一個域。域中可以包含若干個複製組(Replica Group)。

參數描述:

    name :參數類型爲string,其爲域名全局唯一;

    groups : 域所包含的複製組;

    options : 參數類型爲json,創建域時執行的屬性,{“AutoSplit”:true},表示打散域中保存的數據。

給創建的域名爲domain1包含所有的數據組,創建語句爲:

sdb ‘db.createDomain( “domain1”, [“gd1”,”dg2”, “gd3”,”dg4”, “gd5”,”dg6”,“gd7”,”dg8” ,“gd9”,”dg10”],{“AutoSplit”:true})’

    創建語句爲:

db.createCS( <name>, [options] )

參數描述:

    name 類型是string 集合空間名,同一個數據庫對象中,集合空間名必須唯一。 

    options 類型是Json 對象,集合空間可選屬性。

創建名爲 foo 的集合空間,所屬域爲“domain1”

sdb ‘db.createCS( "foo", { Domain: "domain1" } )’
  • 創建集合

創建語句爲:

db.collectionspace.createCL(<name>,[options])

在指定集合空間下創建集合(Collection),集合是數據庫中存放文檔記錄的邏輯對象,任何一條文檔記錄必須屬於一個且僅屬於一個集合。

在foo這個集合空間下創建集合bar

sdb ‘db.foo.createCL("bar")’

給foo.bar這個集合插入一條a=1 、b=2這兩條記錄

sdb 'db.foo.bar.insert({“a”:1})'

sdb 'db.foo.bar.insert({“b”:2})'

查詢foo.bar這個集合中a=1的這條記錄

sdb 'db.foo.bar.find({“a”:1})'

查詢foo.bar這個集合中的所有記錄

sdb 'db.foo.bar.find()'

統計foo.bar這個集合中的數據量

sdb 'db.foo.bar.count()'

修改foo.bar這個集合中b=2 的記錄爲b=3

sdb 'db.foo.bar.update({“$set”:{“b”:3}},{“b”:2})'
  • 刪除(delete)操作

刪除foo.bar這個集合中a=1的這條記錄

sdb 'db.foo.bar.remove({“a”:1})'

刪除foo.bar這個集合中的所有記錄

sdb 'db.foo.bar.truncate()'

SequoiaDB導入數據可以導入csv文件和json這兩種文件。

有csv文件test2.csv

連接數據庫,創建需要的集合空間和集合

使用sdbimprt命令進行導入,其中type類型選擇使用csv,導入後會顯示導入信息。

sdbimprt -s localhost -p 11810 -c foo -l bar --file=./test2.csv --type=csv --fields='a int , b int ,c int '

其中字段類型根據需要自定義。

存在json文件test2.json

連接數據,創建集合空間和集合

       使用sdbimprt導入數據,其中type類型選擇使用json,導入後會打印導入信息。

sdbimprt -s localhost -p 11810 -c foo -l bar --type=json --file=./test2.json

導出json類型數據

sdbexprt -s localhost -p 11810 -c foo -l bar --type=json --file=test2.json

導出csv類型數據

sdbexprt -s localhost -p 11810 -c foo -l bar --type=csv --file=test2.csv --field='a , b ,c'

其中file爲指定導出目錄文件,導出查看相關的目錄文件爲導出數據。

 

 

 

sdb 'db.createDomain( “domain1”, [“gd1”,”dg2”, “gd3”,”dg4”, “gd5”,”dg6”,“gd7”,”dg8” ,“gd9”,”dg10”],{“AutoSplit”:true})'

sdb'db.createDomain(“domain1”,[“gd1”,“dg2”,“gd3”,“dg4”,“gd5”,“dg6”,“gd7”,“dg8”,“gd9”,“dg10” ],{“自動分割”:真})”

 

 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章