SequoiaDB集群搭建(一台电脑,搭建伪集群)
cd /opt/sequoiadb/bin然后./sdb进入shell环境就不说了哈(你已经说了!)
**
1 创建临时协调节点
**
1.1 连接本地集群管理服务进程 sdbcm:
var oma = new Oma(“localhost”,11790)
1.2 创建临时协调节点
oma.createCoord(18800,”/opt/sequoiadb/database/coord/18800”)
1.3 启动临时协调节点
oma.startNode(18800)
**
2 创建编目节点组和节点
**
2.1 连接临时协调节点
var db = new Sdb(“localhost”,18800)
2.2 创建编目节点组
db.createCataRG(“u1604-wjy”,11800,”/opt/sequoiadb/database/cata/11800”)
2.3 创建编目节点
var cataRG = db.getRG(“SYSCatalogGroup”)
var node1 = cataRG.createNode(“u1604-wjy”,11820,”/opt/sequoiadb/database/cata/11820”)
var node2 = cataRG.createNode(“u1604-wjy”,11830,”/opt/sequoiadb/database/cata/11830”)
var node3 = cataRG.createNode(“u1604-wjy”,11840,”/opt/sequoiadb/database/cata/11840”)
2.4 启动编目节点
node1.start()
node2.start()
node3.start()
**
3 创建数据节点组和节点
**
3.1 创建数据节点组
var dataRG = db.createRG(“datagroup”)
3.2 创建数据节点
dataRG.createNode(“u1604-wjy”,11850,”/opt/sequoiadb/database/data/11850”)
dataRG.createNode(“u1604-wjy”11860,”/opt/sequoiadb/database/data/11860”)
dataRG.createNode(“u1604-wjy”,11870,”/opt/sequoiadb/database/data/11870”)
3.3 启动数据节点组
dataRG.start()
**
4 创建协调节点组和节点
**
4.1 创建协调节点组
var coordRG = db.createCoordRG()
4.2 创建协调节点
coordRG.createNode(“u1604-wjy”,11880,”/opt/sequoiadb/database/coord/11880”)
coordRG.createNode(“u1604-wjy”,11890,”/opt/sequoiadb/database/coord/11890”)
4.2.3
coordRG.createNode(“u1604-wjy”,11900,”/opt/sequoiadb/database/coord/11900”)
4.3 启动协调节点组
coordRG.start()
**
5 删除临时协调节点
**
5.1 连接本地集群管理服务进程 sdbcm
var oma = new Oma(“localhost”,11790)
5.2 删除临时协调节点
oma.removeCoord(18800)
> Question:
1 cataolog要一个个start() ,coord和data可以直接star() 对应组,另外不是有/opt/sequoiadb/bin/sdbcmart 一键拉起全部节点嘛 /吐槽==.
2 db.foo.bar{[…]}这样写Sequoiadb原生sql跟js一样好low /吐槽==. 希望可以直接db.exec/execUpdate(“…”)这样写和写Mysql一样就舒服了
> conlusion:
1 SequoiaDB引入多维度分区概念,采用水平分区结合垂直分区的混合分区,使得存储的大表进一步拆分,使得海量访问高存储密度的服务器的情况 ,大幅提升服务器性能,降低磁盘访问开销(时间大大缩短) /不得不说能实现这点挺厉害的~O_O
2 一个CS(Collection Space)对应/opt/sequoiadb/database/coord/*/下的.data和.idx文件(这两个文件不可轻易改动)
学习随笔,欢迎交流吐槽==。