obdumper默认导出数据和导出快照版本数据的区别

导出快照版本数据是导出最近一次合并的数据,刚刚变更的数据不会被导出。那默认导出方式会把在memstore里的数据和sstable融合合并后导出吗

看教材看的比较认真也,快照导出时导出最新合并的数据!

我理解数据库使用多版本特性与快照读,导出在导出那一刻已经提交的数据!导出的那一刻,memstore里的数据和sstable的数据(已经提交)通过链式查询,导出当时那一刻的数据,相当于memstore里的数据和sstable融合合并后的数据,但在数据库中没有发生转储与Minor Compaction,依然有多版本数据!

1 个赞

虽然有多版本数据,但导出的是最新的 对吧

@论坛小助手

obdumper 默认导出的是最新数据,即 MemStore 和 SSTable 融合后的数据。这表示默认情况下,obdumper 会导出当前数据库中最新的事务数据,即使这些数据尚未经过合并。

如果您指定了 SCN 或者 TIMESTAMP 参数,obdumper 会导出指定时间点的快照数据,这意味着导出的是最近一次合并的数据,而不是最近的变更数据。这种快照导出方式确保了数据的一致性和可重复性,适用于需要历史数据的情况。

详情请参考:

  1. 导出数据
  2. obloader/obdumper
  3. 使用导数工具进行数据迁移