3

Datomic数据库具有“数据库”的概念。这意味着您可以在某个时间点获得对数据库的引用- 并对其进行查询。

Cassandra中的BiTemporal Indexes似乎做了几乎相同的事情。

我的问题是:在 Cassandra 中,数据库作为 Datomic 和 BiTemporal 索引中的值有什么不同?

4

1 回答 1

1

这两个概念非常相似,因为它们允许您在特定时间点查询数据库。但是,有几点将它们分开:

  1. 时态查询从一开始就内置在 Datomic 中,而它是 Cassandra 的插件。此外,使用 Cassandra,您必须自己维护时间字段 - 该演示文稿中的插件仅有助于查询,而不是插入或更新。
  2. “数据库即值”超越了时间点查询。例如:

    • 您可以在 Web 请求的中间件中获取数据库值,并将其传递给以下中间件和处理函数。这确保了在请求期间进行的所有查询都是自动一致的——您可以根据需要对它执行任意数量的查询,而不必担心在读取事务中执行它们。您也许可以使用时间点查询来完成与这项工作类似的工作,但在代码方面会更难看。
    • 您可以对数据库值进行“假设”更新,而不会对实际数据库产生任何影响。
于 2017-05-07T04:08:33.227 回答