非关系型数据库SequoiaDB虚拟机下应用再探
上一次浅谈了SequoiaDB在虚拟机上的安装及在web下图形界面的基本操控,现在来体验命令行操作及运行samples文件。
基本DDL操作
首先在视窗窗口同时按Ctrl+Alt+T,进入到命令行窗口,这时要切换成超级用户root,进入到sequoiadb命令行窗口,执行:sudo su -,密码为sequoiadb,如图:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

以上是Sequoiadb是一些基本DLL操作,下面看看如何停止及启动某一个sequoiadb数据库进程的一些操作。
执行:ps -ef | grep sequoiadb,查看sequoiadb开启的进程端口号,如果是用startSequoiadb.sh启动sequoiadb数据库,那么50000端口属于协调节点,30000属于编目节点,其余的端口为数据节点,如图:

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

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

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

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

集合空间环境的清理
执行:/opt/sequoiadb/bin/sdb “db=new Sdb(‘localhost’,50000)”,如图:

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

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

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

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

执行/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及其目录下的文件,如图:

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

至此,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
非关系型数据库SequoiaDB虚拟机下应用再探的更多相关文章
- 非关系型数据库SequoiaDB虚拟机下应用初探
SequoiaDB是广州巨杉软件有限公司开发的一款新型分布式非关系型数据库.可应用于linux操作系统下.在虚拟机下试用了一下(操作系统Ubuntu),感觉不错,操控简单易上手,在此分享一下心得. 下 ...
- 一文读懂非关系型数据库(NoSQL)
为了更好的理解非关系型数据库,我又深入的度娘了下 原文地址:https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&co ...
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- 使用.Net+非关系型数据库MongoDB 实现LBS商家按距离排序_按离我最近排序
.Net MongoDB LBS地理位置定位 开发过程,实现商家按距离排序 前言: 在使用美团点外卖,看电影,找好吃的时候,经常会注意到软件有一个按距离排序,找离我最近的商家,心中有一些疑问,.Net ...
- Redis非关系型数据库
1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...
- 数据库基础 非关系型数据库 MongoDB 和 redis
数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...
- 非关系型数据库--redis
0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...
- 关系型数据库和非关系型数据库区别、oracle与mysql的区别
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...
- 非关系型数据库来了,CRL快速开发框架升级到版本4
轮子?,我很任性,我要造不一样的轮子,同时支持关系型和非关系型的框架有没有 新版数据查询作了些调整,抽象了LabmdaQueryy和DBExtend,升级到版本4,非关系数据库MongoDB被支持了! ...
随机推荐
- xml中俩种解析方式
两种解析方式 1.from xml.etree import ElementTree as ET 利用ElementTree模块下的xml方法可以把一个字符串类型的东西转换成Element类,从而利用 ...
- django apache error.log过大
利用apache运行django框架,发现apache中error.log增长迅猛,寻找原因不得,于是手动清空... 但是当server遇到问题时,文件过大,导致定位问题十分不便 于是决定探个究竟 首 ...
- idea 文件名乱码问题的解决
参考:http://www.cnblogs.com/xingma0910/p/4651889.html idea:文件名乱码:
- python常用内置函数
Python所以内置函数如下: 下面列举一些常用的内置函数: chr()和ord() chr()将数字转换为对应的ascii码表字母 >>> r=chr(65) >>&g ...
- PC上安装MAC X Lion
PC上安装MACXLion 网上关于如何在PC下安装MAC的文章已近不少了,但对于一些初学者在实践当中会遇到各种问题,以下视频资料为大家展示两种虚拟机安装MacOS. 1.VmwareWorkstat ...
- 线程中CreateEvent和SetEvent及WaitForSingleObject的用法
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面. CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象. EVENT有两种状态 ...
- pxecfg&kickstart生成脚本
em tm 00:00:00:00:00:12 10.180.1.12 255.255.255.0 173.45.34.25 255.255.255.225 173.45.34.1 em tm 00: ...
- BG雪碧图制作要求
使用软件 firework 保存png-8 然后参数如下图: 格式:PNG 8 调色板:最适合 深度:128 透明度:Alpha 透明度
- 【MVC】 文件及URL 的整理
我们平时在做Asp.Net MVC(以下就简称mvc)项目的时候,页面文件结构都用了"/Views/Controllers/page.aspx",而把一些PartialView呢放 ...
- php mkdir函数
if(!is_dir($targetPath)){mkdir($targetPath, 0700); } is_dir 判断目录是否存在 mkdir 不能创建多级目录