zoukankan      html  css  js  c++  java
  • 非关系型数据库SequoiaDB虚拟机下应用再探

    上一次浅谈了SequoiaDB在虚拟机上的安装及在web下图形界面的基本操控,现在来体验命令行操作及运行samples文件。

    基本DDL操作

    首先在视窗窗口同时按Ctrl+Alt+T,进入到命令行窗口,这时要切换成超级用户root,进入到sequoiadb命令行窗口,执行:sudo su -,密码为sequoiadb,如图:

    clip_image002

    执行:/opt/sequoiadb/bin/sdb,进入SequoiaDB shell,如图:

    clip_image004

    执行:db=new Sdb(localhost,50000),创建一个协调节点的对象,如图:

    clip_image006

    执行:db.listCollectionSpaces(),查看当前所有数据库集合空间,如图:

    clip_image008

    执行:db.createCS(“testfoo”),创建数据库集合空间,如图:

    clip_image010

    执行:db.testfoo.createCL(“bar”,{ShardingKey:{a:1}}),创建数据库集合,在数据库集合中加入切分条件,以a字段为切分对象,升序切分,(会有几秒等待时间),如图:

    clip_image012

    执行:db.testfoo.bar.insert({a:1}),插入数据,如图:

    clip_image014

    执行:for(i=50;i<=150;i++){db.testfoo.bar.insert({a:i})},利用率for 循环批量插入数据,如图:

    clip_image016

    执行:db.testfoo.bar.find({a:{$lt:55}}),条件查询,查找字段为a值小于55的值,如

    clip_image018

    利用多个物理组,做数据切分。

    执行:db.snapshot(4),查看原数据库存集合存放在哪一个组上,可以在打印的信息中看到”GroupName”:”group1” ,即原数据库集合存放在group1中,如图:(请看最下面两行)

    clip_image020

    执行:db.testfoo.bar.split(“group1”,”group2”,{a:100}),进行数据切分,以a为切分字段,a小于100的数据存放到group1组中,a大于等于100的数据存放到group2组中,如图:

    clip_image022

    执行:data1=new Sdb(“localhost”,51000),连接数据节点group1,如图:

    clip_image024

    执行:data1.testfoo.bar.count(),验证group1中的数据数量,应为51,如图:

    clip_image026

    执行:data2=new Sdb(“localhost”,54000),连接数据节点group2,如图:

    clip_image028

    执行:data2.testfoo.bar.count(),验证group2中的数据数量,应为51,如图:

    clip_image030

    执行:quit,退出Sequoiadb数据库命令,如图:

    clip_image032

    以上是Sequoiadb是一些基本DLL操作,下面看看如何停止及启动某一个sequoiadb数据库进程的一些操作。

    执行:ps -ef | grep sequoiadb,查看sequoiadb开启的进程端口号,如果是用startSequoiadb.sh启动sequoiadb数据库,那么50000端口属于协调节点,30000属于编目节点,其余的端口为数据节点,如图:

    clip_image034

    执行:/opt/sequoiadb/bin/sdbstop -p 51000,可以停止端口为51000的数据节点,如图:

    clip_image036

    执行:ps -ef | grep sequoiadb,再次查看sequoiadb开启的进程端口号,可发现端口51000的进程已经停止了,如图:

    clip_image038

    执行:/opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/51000,即可启动已经被停止的进程,如图:

    clip_image040

    执行:ps -ef | grep sequoiadb,再次查看sequoiadb开启的进程端口号,可发现端口51000的进程已经启动了,如图:

    clip_image042

    集合空间环境的清理

    执行:/opt/sequoiadb/bin/sdb db=new Sdb(localhost,50000),如图:

    clip_image044

    执行:/opt/sequoiadb/bin/sdb db.dropCS(foo),清理集合空间“foo”如图:

    clip_image046

    执行:/opt/sequoiadb/bin/sdb db.dropCS(foo),当再次清理名为“foo”的集合空间是,dropCS命令返回-34,则意味集合空间“foo”已不存在,清空成功,如图:

    clip_image048

    运行samples文件

    执行:cd /opt/sequoiadb/samples/CPP,进入/opt/sequoiadb/samples/CPP目录,如图:

    clip_image050

    执行:ls,可以查看到此目录下的文件,如图:

    clip_image052

    执行/opt/sequoiadb/samples/CPP/buildApp.sh 文件名(不需要加文件后缀),或在此目录下执行./buildApp.sh 文件名(不需要加文件后缀),可编译C、CPP文件。下面举例说明。例如:编译index.cpp文件,执行后会在/opt/sequoiadb /samples/CPP/build目录下生成可执行文件。

    执行:/opt/sequoiadb/samples/CPP/buildApp.sh index,或./buildApp.sh index,然后ls可查看到新生成的目录build及其目录下的文件,如图:

    clip_image054

    执行:LD_LIBRARY_PATH=/opt/sequoiadb/lib/ \

    /opt/sequoiadb/samples/CPP/build/index localhost 50000 “”“”,运行sample的可执行文件,参数有主机名、端口号、用户、密码,(运行时间稍长,约一分钟左右)如图:

    clip_image056

    至此,SequoiaDB数据库命令行基本操控简单介绍完毕,由于接触时间不久,只能做到管中窥豹,愿能起到抛砖引玉吧,若深入了解请详见官网技术文档SequoiaDB信息中心,欢迎更多朋友交流心得体会,谢谢。

    原文链接:http://blog.sequoiadb.com/?p=212


    学习教程下载
    SequoiaDB Demo VMware 学习教程
    Linux 平台(社区版)   
    Sequoiadb-1.3 for IBM Power Linux 64 Installer 202.60MB
    Sequoiadb-1.3 for Linux x86_64 Installer 201.72MB

  • 相关阅读:
    Matplotlib Date Index Formatter 日期索引格式化学习
    Matplotlib 日期格式转换
    Matplotlib基础 可视化绘图 学习笔记
    Python 修饰符@用法
    Linux下基于shell脚本实现学生信息管理系统
    JavaScript的popup框
    HTML语言发展史
    CSS grid 模板
    JavaScript中的正则表达式
    position的四个属性值
  • 原文地址:https://www.cnblogs.com/SequoiaDB/p/3343166.html
Copyright © 2011-2022 走看看