【巨杉数据库Sequoiadb】如何通过oid值定位该记录存储在哪个数据节点

KaiZhaoKZ 2019-09-07

【客户场景】
现在客户直接通过驱动进行在线交易,交易时会把oid或者唯一键值打印到业务系统日志中,在实际交易的时候交易成功了,但是有时候发生交易缓慢,如果可以直接定位到哪个数据节点就可以直接到相应的日志目录去检查日志,然后分析缓慢的原因
【问题】
如何通过oid值定位该记录存储在哪个数据节点上?

【解决办法】

  1. oid是一个12字节的 BSON 对象,构成:
    4 字节精确到秒的时间戳

    3 字节系统(物理机)标示
    2 字节进程 ID
    3 字节由随机数起始的序列号

  2. 无法仅仅通过oid值确定记录落在哪个数据节点。若oid为分区键,在自动切分的情况下,可以结合分区信息,推断记录所在的数据节点。在这种情况下,可使用以下工具确认记录所在的数据节点:sdbshard.tar.gz,下载地址:
    http://pmr.sequoiadb.com:8090/download/attachments/13205507/sdbshard.tar.gz?version=1&modificationDate=1507796046000&api=v2

【参考资料】
oid定义:http://doc.sequoiadb.com/cn/S...

相关推荐