sdb笔记

这篇笔记详细介绍了Sequoiadb的安装、配置、集群管理、数据操作(包括CRUD)、索引、事务、数据导出导入、存储过程、备份恢复、集群扩容等关键知识点,适合Sequoiadb初学者参考。
摘要由CSDN通过智能技术生成

Sequoiadb精简学习笔记

  • 安装

  1. 硬件要求:磁盘10G,建议100G,内存1G,建议2G,至少一张网卡

  2. 操作系统要求:RedHat6,ubuntu12,CentOS6,SUSE11以上

  3. 修改主机的hostname

  • SUSE修改文件$ vi /etc/HOSTNAME
  • RedHat7以下,$ vi /etc/sysconfig/network
  • RedHat7修改/etc/hostname,HOSTNAME = SERVERNAME
  • ubuntu修改文件$ vi /etc/hostname
  1. 网络映射:$ vi /etc/hosts

  2. 通过ping来进行验证网络映射是否生效

  3. 关闭防火墙

    • SUSE的操作

      • SuSEfirewall2 stop
      • chkconfig SuSEfirewall2_init off
      • chkconfig SuSEfirewall2_setup off
    • RedHat的操作

    • service iptables stop

    • chkconfig iptables off

    • Ubuntu的操作

      • ufw disable
  4. 验证方法:

    • SUSE:$ chkconfig -list | grep fire
    • RedHat:$ service iptables status
    • Ubuntu:$ ufw status
  5. linux推荐配置:

    • 配置/etc/security/limits.conf ----数据库的基本性能配置
    • 配置 /etc/security/limits.d/90-nproc.conf ----线程的最大数目
    • 配置/etc/sysctl.conf -------调整linux内核参数,配置好使用$ /sbin/sysctl -p使配置文件生效
  6. 关闭transparent_hugepage

    • 编辑/etc/rc.local,在第一行 “#!/bin/sh” 的下一行添加如下两行内容
		echo never > /sys/kernel/mm/transparent_hugepage/enabled
 		echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • 执行如下命令,使配置生效:
$ source /etc/rc.local
  • 检查是否成功关闭transparent_hugepage。分别执行如下两条命令,输出结果中都有 “[never]” 则表示成功关闭了transparent_hugepage,如果是 “never” 并且有 “[always]” 或者 “[madvise]” 则关闭失败:
$ cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/defrag
  1. 关闭NAMA

  2. 命令行安装过程

    1. hostname配置
    2. hostname和ip的地址映射
    3. 关闭防火墙
    4. 使用root用户安装
    5. 在每一台物理机上都手动安装一次
  3. 安装链接:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432191002-edition_id-0

  • 节点的启停操作

    1. sdb启动与停止

      • 在root权限下:service sdbcm start|stop(会将所有节点启停)ps:restart只会启动cm节点
      • 在sdb安装的bin目录上可以使用sdblist -h(help)查看返回当前节点
      • sdbstop -p 端口 可以指定某端口停止
      • sdbstart -p 端口 可以指定端口启动
      • sdbstop 能停止除om和cm节点以外的所有节点
      • sdbstop -t all 能停止cm节点以外的节点
      • sdbstop -t db/om/all 默认是all
      • sdbstop -r coord/data/coord/catalog/om
      • sdbcmtop 停止集群管理节点
      • sdbcmart 启动集群管理节点
        在这里插入图片描述
    2. 集群启动:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190661-edition_id-0

    3. 集群停止:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190662-edition_id-0

  • 命令行操作(curd)

    • 在sdb的shell环境下curd操作都是需要先获取到集合空间和集合才能进行操作
      事例:
      var db = new Sdb(“localhost”,11810);//协调节点
      db.createCS(“foo”);
      db.foo.createCL(“bar”);

    • 插入操作
      db.foo.bar.insert({ _id: 1,name:{fist:“Jhon”,last:“Black”}, phone:[1853742000,1802321000]})
      如果不包含_id那么sdb会生成一个添加一个_id字段并且生成一个唯一的$oid值
      链接:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190609-edition_id-0

    • 更新操作
      db.foo.bar.update({ KaTeX parse error: Expected 'EOF', got '}' at position 26: ….first":"Mike"}}̲,{_id:1})//set
      db.foo.bar.update({ KaTeX parse error: Expected 'EOF', got '}' at position 16: unset:{ age:""}}̲)//unset,删除这个字段
      db.foo.bar.update({$inc:{“arr.1”:5}})//数组的便利
      链接:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190611-edition_id-0


      update和upsert的区别就是如果修改的记录不存在update就不做修改,而upsert会进行 插入
    • 删除操作
      db.foo.bar.remove()//删除集合中的所有记录
      db.foo.bar.remove({name:“Tom”})//删除集合中name是Tom的信息
      db.foo.bar.remove({name:“Tom”},{"":“testIndex”})//通过索引遍历删除testIndex是索引名称

    • 查询操作(find返回的是游标类型的对象)
      db.foo.bar.find()//返回所有记录
      db.foo.bar.find({age:23})//查询匹配的年龄(还可以使用条件符)
      db.foo.bar.find({“family”:{$elemMatch:{“Dad”:“Kobe”,“phone”:139123456}}})//嵌套对象查询
      db.foo.bar.find().sort({age:-1})//还可以对结果排序
      db.foo.bar.find().hint( { “”: “testIndex” } )//走索引进行查找
      db.foo.bar.find().limit(3)//限制行数
      db.foo.bar.find().skip(n)//跳过n行,从n+1行开始返回


    查询后的游标 db.foo.bar.find().current()//返回当前游标指向的记录 db.foo.bar.find().next()//返回当前游标指向的下一条记录 db.foo.bar.find().close()//关闭当前游标,当前游标不再可用 db.foo.bar.find().count()//返回当前游标的记录总数 db.foo.bar.find().size()//返回当前游标到最终游标的距离 db.foo.bar.find().toArray()//以数组形式返回结果集 链接:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190610-edition_id-0
  • 水平切分以及数据域

  1. 生成数据域db.createDomain()
    链接 http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190774-edition_id-0

  2. 为数据域添加分组domain.addGroups()
    链接 http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1524019940-edition_id-0

  3. 创建数据组db.createRG()
    链接 http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190776-edition_id-0

  4. 通过上面RG创建节点并启动RG.createNode().start()
    创建链接 http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190867-edition_id-0
    启动链接 http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190875-edition_id-0

  5. 链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值