SequoiaDB错误集合——前十讲

第一讲

  1. Hostname修改如何永久生效?(不同系统需要修改的文件不一样)
    /etc/hostname
    /etc/sysconfig/network
    /etc/HOSTNAME
  2. SequoiaDB还需要配置哪些参数?(除了hostname, hosts, 关闭防火墙)
    /etc/security/limits.conf
    /etc/security/limits.d/90-nporc.conf
    /etc/sysctl.conf

第二讲

  1. SequoiaDB可以运行在哪些操作系统?
  2. 安装SequoiaDB时,“相关开机自启动”是什么含义?
    操作系统开机,自动将sdbcm启动
    SequoiaDB相关进行异常退出后,能够自动重新启动
  3. SequoiaDB OM的默认端口是?
    11790: 默认本地端口
    8000: Web UI的OM端口

第三讲

  1. SequoiaDB支持的数据类型有哪些?
  • string
  • timestamp
  • decimal
  • null
  • date
  • int
  • bson
  • array
  • bool
  • regex

第四讲

  1. SequoiaDB的整体架构包含哪些角色节点?
  • CatalogNode
  • CoordNode
  • DataNode
  1. CoordNode有什么用?
    只有一个用处:作数据库操作的请求转发
  2. SequoiaDB集群中,是否存在单点故障?
    是的,因为只有一台机器拥有OM,所以无法使用集群的选举机制进行重新选举新的OM
    而CM有相应的守护进程sdbcmd,不会出现单点故障,其他节点(CSDD)也有相应的备用节点

第五讲

  1. SequoiaDB的数据域是什么含义?
    管理分区组的逻辑概念
  2. SequoiaDB如何查看集群的部署情况?
    db.list(7) == db.list(SDB_LIST_GROUPS)
    db.listReplicaGroups()
  3. 数据域在哪一个层级生效?
    集合,即CL
  4. 如果用户希望使用数据域,数据切分方式能够支持哪种分区方式?
    目前数据域只支持水平散列分区,即Hash切分

第六讲

  1. 子表和普通集合有何区别?
    没有区别
  2. 主表挂载子表时,需要注意字段的数据类型吗?
    需要。否则容易造成查询数据时,记录不存在(因为数据类型不匹配);或者数据切分时,把数据切分到了意料之外的子表上

第七讲

  1. 启动SequoiaDB节点的命令是?
    ./sdbstart -t all
    ./sdbstart -p SERVICENAME
    ./sdbstart -c conf/local/SERVICENAME.conf

参数列表
2. 停止SequoiaDB节点的命令是?
./sdbstop -t all
./sdbstop -t db == ./sdbstop
./sdbstop -p SERVICENAME
3. 查看SequoiaDB节点的命令是?
ps -ef | grep sdbadmin
./sdblist -m run
./sdblist -t all
options
4. 执行./sdbstart会怎样?
启动CSDD(编目节点、协调节点、数据节点*2)
5. 执行./sdbstop会怎样?
停止CSDD(编目节点、协调节点、数据节点*2)
6. 如何停止OM节点?
./sdbstop -p 11780
./sdbstop -t om
kill -15 $(ps -ef | grep sdbom | grep -v grep | awk -F '''{print $2}')
7. 如何启动OM节点?
./sdbstart -p 11780
./sdbstart -t om
8. 如何启动/停止一个数据组?

  • 定义一个函数,获得数据组的句柄,并停止:db.getRG("group1").stop()
  • 一台台机器逐个停止这个数据组的节点

第八讲

  1. Shell中,如何查看foo.bar集合中的记录数?
    db.snapshot(SDB_SNAP_COLLECTIONS) == db.snapshot(4)
    db.foo.bar.count()
    db.getCS("foo").getCL("bar").count()

  2. 如何在查询记录时,只查看id这个字段的内容?
    在这里插入图片描述
    选择查看指定的字段,在find()函数的第二个参数中设置
    db.foo.bar.find({}, {id:1},{},{})
    db.foo.bar.find({}, {id:null},{},{})

  3. 如何获得集合bar中,id=10的记录数?
    db.foo.bar.count({id:10})
    db.foo.bar.find({id:10}).count()

第九讲

  1. 如何查看当前集群中有哪些集合空间?
    db.list(5)
    db.snapshot(4)
    db.listCollectionSpaces()
  2. 如何在Shell中向foo.bar写入id=1的记录?
    db.foo.bar.insert({id:1})
    db.execUpdate("insert into foo.bar (id)values(1)")
  3. db.foo.bar.remove()命令的用途?
    删除集合中的记录。与truncate()不同,truncate()会直接清空集合中的所有数据(包括Lob和文档数据),但truncate()不会删除其元数据(索引、日志)。truncate()的删除效率比remove()高。

第十讲

  1. SequoiaDB中,创建支持分区集合和创建普通集合有何不同?
  • 普通集合不支持数据切分
  • 普通集合和切分集合都支持CRUD
  • 分区集合支持数据切分
  1. Shell中,如何看一个集合是否支持数据切分?
    db.snapshot(8)
    其中,db.list()无法查看集合、集合空间的概况
  2. 如何查看一个集合切分到了哪些Group中?
    db.snapshot(4) == db.snapshot(SDB_SNAP_COLLECTIONS)
    db.snapshot(8) == db.snapshot(SDB_SNAP_CATALOG)
    其中,db.list()无法查看集合、集合空间的概况
  3. 如何看出foo.bar集合在各个数据组中存储了多少条记录?
    db.snapshot(4)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值