SequoialDB实验
2016-03-01 11:35
489 查看
使用SequoialDB进行实验。
修改/etc/hosts,将主机的IP与机器名映射关系配置到该文件中,如:
在每台数据库服务器上检查SequoiaDB配置服务状态:
确认服务正在运行,否则执行如下命令启动配置服务:
运行SequoiaDB shell
作用分别为:
切换到sdbadmin用户(后续配置均在sdbadmin用户下完成)
添加PATH环境变量
启动 SequoiaDB Shell 控制台
启动一个临时协调节点
作用分别为:
连接到本地的集群管理服务进程sdbcm
创建临时协调节点
启动临时协调节点
连接到临时协调节点
配置和启动编目节点
作用分别为:
创建一个编目节点组
配置和启动数据节点
作用分别为:
创建数据节点组
添加数据节点
启动数据节点组
配置和启动协调节点
作用分别为:
创建协调节点组
创建协调节点
使用集合
作用分别为:
创建一个新的 sdb 连接
创建集合空间
创建集合
导入导出
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190654&edition_id=0
导出
把
导入
把
批量导入
注意导入的数据必须是utf-8
可以用
注意把文件中的CRLF转换为LF
作用分别为:
写入记录
返回所有结果
返回当前游标指向的记录
返回当前游标的记录总数
返回
删除集合中的所有记录
删除集合中
索引
如:
聚集
下载Python驱动
把两个文件夹放入开发工程目录中,编写代码即可。
1. 环境准备
有关SequoiaDB更详细的资料详见 http://www.sequoiadb.com/cn/index.php?a=index&m=Files修改/etc/hosts,将主机的IP与机器名映射关系配置到该文件中,如:
172.16.158.207 lpoc4468-158-207.localdomain
2. SequoiaDB配置
检查SequoiaDB的配置服务状态在每台数据库服务器上检查SequoiaDB配置服务状态:
service sdbcm status
确认服务正在运行,否则执行如下命令启动配置服务:
service sdbcm start
运行SequoiaDB shell
su - sdbadmin PATH=/opt/sequoiadb/bin/:$PATH sdb
作用分别为:
切换到sdbadmin用户(后续配置均在sdbadmin用户下完成)
添加PATH环境变量
启动 SequoiaDB Shell 控制台
启动一个临时协调节点
oma = new Oma("localhost", 11790) oma.createCoord(18800, "/opt/sequoiadb/database/coord/18800") oma.startNode(18800) db = new Sdb("localhost", 18800)
作用分别为:
连接到本地的集群管理服务进程sdbcm
创建临时协调节点
启动临时协调节点
连接到临时协调节点
配置和启动编目节点
db.createCataRG("lpoc4468-158-207.localdomain", 11800, "/opt/sequoiadb/database/cata/11800")
作用分别为:
创建一个编目节点组
配置和启动数据节点
dataRG = db.createRG("datagroup") dataRG.createNode("lpoc4468-158-207.localdomain", 11820, "/opt/sequoiadb/database/data/11820") dataRG.start()
作用分别为:
创建数据节点组
添加数据节点
启动数据节点组
配置和启动协调节点
rg = db.createCoordRG() rg.createNode("lpoc4468-158-207.localdomain", 11810, "/opt/sequoiadb/database/coord/11810")
作用分别为:
创建协调节点组
创建协调节点
使用集合
db = new Sdb("localhost", 11810) db.createCS("foo") db.foo.createCL("bar")
作用分别为:
创建一个新的 sdb 连接
创建集合空间
创建集合
导入导出
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190654&edition_id=0
导出
把
localhost:11810中的
foo集合空间的
bar集合的
name和
value字段导出到
test.csv中。
sdbexprt -s localhost -p 11810 --type csv --file test.csv --fields name, value -c foo -l bar
导入
把
test.csv(第一行为字段名)
name和
value字段导入到
localhost:11810中的
foo集合空间的
bar集合中。
sdbimprt -s localhost -p 11810 --type csv --file test.csv -c foo -l bar --fields='name string default "Anonymous", value int' --headerline=true
批量导入
for i in {1..9} do sdbimprt -s localhost -p 11810 --type csv --file "$i.csv" -c foo -l bar --headerline=true done
注意导入的数据必须是utf-8
可以用
vim来查看并且转换为utf-8:
vim test.csv :set fileencoding=utf-8
注意把文件中的CRLF转换为LF
sed -i 's/\r//g' "test.csv"
3. SequoiaDB操作
CRUD操作db.foo.bar.insert({"name":"sequoiadb"}) db.foo.bar.find() db.foo.bar.find().current() db.foo.bar.find().count() db.foo.bar.find({age:23}) db.foo.bar.remove() db.foo.bar.remove({"_id.$oid":"1234567890abcdef00000001"})
作用分别为:
写入记录
返回所有结果
返回当前游标指向的记录
返回当前游标的记录总数
返回
age = 23的记录
删除集合中的所有记录
删除集合中
_id.$oid = 1234567890abcdef00000001的记录
索引
{ "name" : "<索引名>", "key" : "{ "<索引字段1>" : <1|-1>, [ "<索引字段2>" : <1|-1> ...] }, [ "unique" : <true|false> ], [ "enforced" : <true|false> ]}
如:
{ "name" : "employee_id_key", "key" : {"employee_id" : 1 } }
聚集
db.foo.bar.aggregate({$group:{_id: "$name", value_avg: {$avg: "$value"}, Count: {$count: "$value"}, name: {$first: "$name"}}}, {$sort:{valuee_avg: 1}})
4. Python驱动
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190749&edition_id=0下载Python驱动
pysequoiadb.tar.gz并解压,得到
bson文件夹、
pysequoiadb文件夹和
setup.py。
把两个文件夹放入开发工程目录中,编写代码即可。
相关文章推荐
- 全局搜索数据库
- codeforces 630B Moore's Law
- [bzoj3622]已经没有什么好害怕的了
- LDAP服务原理详解
- 网络知识方面的面试题
- #leetcode# Best Time to Buy and Sell Stock II
- PAT-A1002A+B for Polynomials(模拟)
- btrfs使用方法
- HBase安装
- linux 下源码安装cmake
- 使用live delegate on来解决js对后加载的html失效的问题
- Web使用中会话,会话跟踪,Cookie,Session的相关知识
- FOJ-2214 Knapsack problem
- Android控件获取焦点
- Fragment加载轮换add,show,hide,replace方法
- HBase源码分析之HRegionServer上MemStore的flush处理流程(二)
- 创建自己的动态链接库(类库)
- android: ADB错误“more than one device and emulator”
- C# IOCP完成端口模型(简单实用高效)
- 去除HTML5 number右边的箭头