datomic - 所有新的 datomic id 都比以前的大吗?

标签 datomic

我正在编写一个在客户端和服务器之间同步数据的应用程序,因此我经常需要检查服务器上的实体是否比客户端上的任何实体更新。

Datomic 是否保证所有新实体的 id 都大于以前存在的实体?在我将其作为程序逻辑的重要组成部分之前只需要知道。

最佳答案

实体 ID至少由创建实体的分区和单调递增的数字组成。如果您将实体 ID 视为数值,那么它们将不会有连续的 ID。

相反,您应该查看他们的 transaction并比较它们的 :db/txInstant 属性值,该属性值是默认创建的并附加到系统上的所有事务。 :db/txInstant 的值是捕获交易发生瞬间的时间戳。

此外,请查看 (tx-report-queue) ,用于监控或与外部系统同步数据。它使您可以访问交易者广播的基于 Datomic 推送的新颖性模型。

关于datomic - 所有新的 datomic id 都比以前的大吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900462/

相关文章:

clojure - 数据查询 : find all entities with some value

data-modeling - Datomic 中的数据建模

missing-data - 在 Datomic 中查找缺少属性的实体

cassandra - datomic 自托管、分布式存储选项的比较?

clojure - 如何获取数据数据库中最后一笔交易的日期时间?

clojure - 为什么此数据记录查询会聚合?

datomic - Datomic 位于 CAP 三角的哪个位置?

database - 使用 Datomic 嵌套结构

datomic - DataLog 等同于 SQL 吗?

clojure - Datomic中的SQL "limit"子句的等效项