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” ],{“自动分割”:真})”

 
 
 

猜你喜欢

转载自blog.csdn.net/u014439239/article/details/84631402
今日推荐