cassandra - Cassandra 中的 Datomic 索引与 BiTemporal 索引中的数据库作为值有何不同?

标签 cassandra datomic temporal bi-temporal

Datomic数据库具有“Database as a Value”的概念'。这意味着您可以获得 reference to the database在某个时间点 - 并对其进行查询。

看起来 BiTemporal IndexesCassandra做几乎同样的事情。

我的问题是:Cassandra 中的 Datomic 索引与 BiTemporal 索引中的数据库作为值有何不同?

最佳答案

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

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

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

关于cassandra - Cassandra 中的 Datomic 索引与 BiTemporal 索引中的数据库作为值有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43492991/

相关文章:

SQL Server 2016 - 手动设置期间开始和结束日期时间

时间:如何以编程方式创建命名空间?

sql-server - BACPAC 导入和临时表可能存在 BUG

Cassandra 节点丢失

cassandra - 使用 Hector Api 从 Cassandra DB 获取特定时间间隔内的数据

limit - Datomic Free 可以处理多少吞吐量?

clojure - 语法 : hash (pound) then symbol

clojure - 如何为 datomic 编写可重用的规范查询

java - 当我安装了 Java 7 时,cassandra 2 提示 Java 7

cassandra - Cassandra 修复后要注意什么