0

我正在考虑将 HBase 作为交易系统数据库,部分原因在于其一流的基于时间戳的行版本控制。交易一直在被修改,在使用 SQL 数据库时,我们通常必须在数据模型中明确处理。在 HBase 中,我将交易(而不是单个交易版本)建模为行,并让 HBase 努力让我访问之前时间点上的交易版本。

系统查询端需要通过3种主要方式访问交易数据:

  1. 所有交易的当前版本。HBase 明确支持这一点。
  2. 在特定时间戳活跃的所有交易的版本。同样,来自 HBase 的明确支持。此查询的目的通常是希望报告一天中特定时间的交易人数的日终流程。
  3. 2 个时间戳之间的活动。这对于在一天结束时向已经与交易系统同步并想知道发生了什么变化的系统提供信息很有用。它还构成了每日损益 (P&L) 计算的基础,该计算表明 P&L 与昨天的每日价值相比有何变化

所以,我的问题是:HBase 是否有任何内置支持在两个时间戳之间执行“差异”?或者,是否有任何最佳实践方法可以在数据库级别满足此要求?如果没有,我需要考虑构建一个进程,从数据库中提取两个基于时间戳的查询并执行差异操作。

我希望该过程的输出是:

  • 自旧时间戳以来已更改的新时间戳的交易列表。
  • 一个单独的交易列表,从旧的时间戳开始,在新的时间戳上已经过时。

这些信息让我可以应用积极的变化并“退出”消极的变化。例如,如果一笔交易从名义上的 100 万美元变为 200 万美元,我希望能够应用 +200 万美元的变化,然后撤回 -100 万美元的变化,从而导致当天净变化 +100 万美元。

4

0 回答 0