Datomic数据库具有“Database as a Value”的概念'。这意味着您可以获得 reference to the database在某个时间点 - 并对其进行查询。
看起来 BiTemporal Indexes在 Cassandra做几乎同样的事情。
我的问题是:Cassandra 中的 Datomic 索引与 BiTemporal 索引中的数据库作为值有何不同?
最佳答案
这两个概念非常相似,因为它们允许您在特定时间点查询数据库。但有几点将它们分开:
- 时态查询从头开始内置于 Datomic 中,而它是 Cassandra 的插件。此外,使用 Cassandra,您必须自己维护时态字段 - 该演示文稿中的插件仅有助于查询,而不能帮助插入或更新。
“数据库作为值”超出了时间点查询的范围。例如:
- 您可以在 Web 请求的中间件中获取数据库值,并将其传递给以下中间件和处理函数。这确保了请求期间进行的所有查询自动一致 - 您可以根据需要对其执行任意数量的查询,而不必担心在读取事务中执行这些查询。您也许可以使用时间点查询来完成与此类似的工作,但从代码角度来看,它会更加难看。
- 您可以对数据库值进行“假设”更新,而不会对实际数据库产生任何影响。
关于cassandra - Cassandra 中的 Datomic 索引与 BiTemporal 索引中的数据库作为值有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43492991/