SequoiaDB的聚集、数据的一致性检验

聚集

相当于SQL中的group by
db.foo.bar.aggregate()与 find()方法功能比较接近,也是从 SequoiaDB 的集合中检索文档记录,并返回游标
命令行

按条件选择记录,并指定返回字段名
db.foo.bar.aggregate( {$match:{$and:[{no:{$gt:1002}},{no:{$lt:1015}},{dep:"计算机学院"}]}, $project:{no:1, "infoName":1, major:1} })

按条件选择记录,并对记录进行分组
db.foo.bar.aggregate( {$match:{$dep:"计算机学院"} }, {$group:{_id:"$major", Major:{$first:"$major"}, avg_age:{$avg:"$info.age"} } })

按条件选择记录,并对记录进行分组、排序、限制返回记录的起始位置和返回记录数
db.foo.bar.aggregate( {$match:{interest:{$exists:1}} }, {$group:{_id:"$major", avg_age:{$avg:"info.age"}, major:{$first:"$major"}}}, {$sort:{avg_age:-1, major:-1}}, {$skip:2}, {$limit:3})

$match:匹配查询
$and:与
$project:在其内指定返回指定的字段名,0为不返回,1返回
$first:返回第一条记录的指定字段值
$last:返回最后一条记录的指定字段值
$exists:是否存在
$skip:跳过前2条记录开始返回
$limit:限制返回记录的条数
$sort:排序后返回,1为升序,-1降序

数据的一致性检验

:查看当前集群的节点情况,有无节点掉线
以上为每个参数对应的数字

分别连接到3个节点的11830数据节点中
d1 = new Sdb("node-1", 11830)
d2 = new Sdb("node-2", 11830)
d3 = new Sdb("node-3", 11830)

d1.snapshot(6, {}, {CurrentLSN:null, IsPrimary:null})
d2.snapshot(6, {}, {CurrentLSN:null, IsPrimary:null})
d3.snapshot(6, {}, {CurrentLSN:null, IsPrimary:null})

可以发现,d2的数据节点是主节点,其他是备用节点,根据offset的值对比,三个节点相同,所以数据一致

节点数据一致性检测工具

bin/sdbinspect

参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值