新旧引擎数据转换工具

名称:

nemo_to_blackwidow

位置:

/pika-tools/nemo_to_blackwidow

目的:

将Nemo引擎格式的db转换成Blackwidow引擎格式的db

背景:

Pika3.0将数据引擎从Nemo替换成了Blackwidow, Blackwidow为了提高引擎性能对数据存储格式进行了重新设计,由于新引擎的数据格式和老引擎数据格式不同,所以提供了这个工具用于旧引擎db向新引擎db的转换

实现:

  • ClassifyThread

    • 总共会起5个ClassifyThread,对应于Nemo db中的五种数据结构,也就是每一个分类线程对应于一种数据结构
    • 扫描Nemo db中不同数据结构的库,将扫描出来的Key分发给Migrator
  • Migrator

    • 获取到从ClassifyThread发送过来的key
    • 对Key进行解析分类,不同数据结构的Key拿到不同的数据
    • 调用blackwidow的接口将这些数据存储到blackwidow的数据库中

使用:

Usage:
        Nemo_to_Blackwidow reads data from Nemo DB and send to Blackwidow DB
        -h    -- displays this help information and exits
        -n    -- numbers of migrator, default = 6
        -l    -- whether write log, default = 0
        -b    -- number of members in multiple data structures per migration, default = 512
        example: ./nemo_to_blackwidow ./nemo_db ./blackwidow_db -n 10 -l 0 -b 512

地址:

代码:https://github.com/Axlgrep/pika-tools/tree/master/nemo_to_blackwidow