首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datomic : t->tx的语义?

Datomic : t->tx的语义?
EN

Stack Overflow用户
提问于 2016-02-02 15:54:14
回答 1查看 159关注 0票数 1

我不理解datomic.api/t->tx的含义,它接受t值并返回事务id。

T值不是在每个事务中递增的数据库属性吗?如果是这样的话,如何独立于任何数据库从它导出事务号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-02 16:30:19

事务数据( Transaction Data,tx)是一个具有id的实体。t不是id,但是有一种有效的机制来发现tx的t,而对于tx则是t。这意味着您可以在一个时间范围内有效地查找事务。

T确实是一个值,它指示事务发生的顺序,尽管我不会称它为数据库的属性,也不会推测它是如何计算的,因为它没有定义,而且可能发生更改。没有定义的术语“事务号”,但我想您是在问,如果没有数据库属性,如何才能创建一个严格增加的数字。一个答案是使用一个时钟,并防止每个滴答的事务数超过一个。在任何情况下,这不是我们需要知道的实现细节,以便使用系统。

术语表提供了以下定义,我认为这些定义很有帮助:

数据库中的一个时间点。每个事务都被分配一个大于数据库中任何以前t的数值t值,并且所有进程都会看到ts的一致继承。事务值t可以用Peer.toTx转换为tx id。

表示事务的实体。数据体数据库中的每个数据都包括创建它的tx,从而允许恢复数据库的整个历史。事务自动与挂钟时间相关联,但在其他情况下是普通实体.特别是,应用程序代码可以对事务进行额外的断言。可以使用Peer.toT将tx实体id转换为事务t。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35157981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档