Datomic:您能说出它处理时间的能力的哪些用例

标签 datomic temporal-database

查看过去数据的能力似乎很有用,但我不清楚如何实际使用它。哪些领域可以从该功能中受益?也许有一些众所周知的“临时性”用例?

最佳答案

哲学

这非常困难,而且并不完全有必要列出所有域。如果您提供您考虑使用 Datomic 的域,那么您问题的答案将会更有值(value)。

我不会认为时间只是历史或一个特征,而是一个自然维度,我们在所有领域中每天“使用”,无论它是否是软件。

话虽如此,我可以想到我考虑和使用 Datomic 的两个领域:

交易

只需查看即可了解华尔街工作和思考的简化方式

enter image description here

您在这里注意到一件事:一切都与时间和“时机”有关。

当需要任何类型的财务分析时,无论是 future 预测还是根据当前市场走势进行调整,基于时间的思维(阅读“查询、设计、UI 等......”)不仅至关重要,而且很自然.

每个人都与位、零和一打交道,你归档思维的方式可能有很多,但如果这些位已经以你告诉他们“给我显示从 X 时间到 Y 时间的引言,并将它们切片”的方式组织起来通过在此时间间隔发生的交易,并向我展示之前进行过交易的公司......”,这些位只是理解您并提供数据是一个巨大的胜利。 (与拥有自己的实现相比)。另一个有趣的预测用途是 Datomic 的“with

身份

人们在任何地方的识别方式都不同:驾驶执照、护照、社会安全号码、健身卡、信用卡、家庭住址等。这些的独特组合可以识别一个人,有时是一个家庭,有时是一个企业,或者有时是随机的一群人等等。

但有趣的是,这些 ID 会随着时间的推移而不断变化……不断变化。不仅“现在”通过任何此 ID 来始终识别个人/组很有用,而且还需要能够向后移动,有时甚至向前移动:“功劳是什么?如果他/它有这张信用卡(账号),这个人/企业的分数是多少?”

哲学

虽然上面只是两个不相关且狭窄的领域,但它们是真实的。是的,您可以向所有数据库记录/文档/KV/列族/“什么不是”添加时间戳,但它会给您的只是:没有实际系统感知的“时间戳”的时间。 Datomic 确实给了你这种感觉。它的作用远不止于此,但那是另一个问题了。

关于Datomic:您能说出它处理时间的能力的哪些用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980937/

相关文章:

neo4j - 如何在图形数据库中对客户调查进行建模?

clojure - 如何构造与DataScript中的引用向量完全匹配的查询?

database - 时间与时间序列数据库

java - 如何使用 JPA 实现时态表?

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

clojure - 从 Datomic 实体获取所有字段

clojure - 在查询中使用 Datomic pull

neo4j - 基于事件的数据的时间图数据库

mysql - 存储对实体的更改 : Is MySQL the proper solution?