【发布时间】:2013-07-31 21:02:57
【问题描述】:
查看过去数据的能力似乎很有用,但我不清楚如何实际使用它。受益于此功能的领域有哪些?也许有一些众所周知的“时间性”用例?
【问题讨论】:
查看过去数据的能力似乎很有用,但我不清楚如何实际使用它。受益于此功能的领域有哪些?也许有一些众所周知的“时间性”用例?
【问题讨论】:
列出所有域非常困难,而且并非完全有必要列出。如果您提供您认为 Datomic 的域,您的问题的答案会更有价值。
我不认为时间只是历史或特征,而是一个自然维度,我们每天在所有领域“使用”它,无论它是否是软件。
话虽如此,我可以想到两个我考虑和使用 Datomic 的领域:
你可以看到华尔街的一种简化的工作方式和思考方式
您在这里注意到的一件事:一切都与时间和“时间”有关。
当需要任何类型的财务分析时,无论是对未来的预测还是针对当前的市场走势进行调整,基于时间的思维(阅读“查询、设计、用户界面等”)不仅至关重要,而且很自然.
每个人都使用位、0 和 1,您归档思维的方式可能有很多,但如果这些位已经按照您告诉他们的方式组织起来“给我展示从 X 时间到 Y 时间的报价,然后将它们切片通过在此时间间隔内发生的交易,并向我展示之前交易过的公司......”这些位只是了解您并提供该数据是一个巨大的胜利。 (与拥有自己的实现相比)。另一个有趣的预测用途是 Datomic 的“with”
每个人的身份都不同:驾照、护照、社会保险号、健身卡、信用卡、家庭住址等。这些的独特组合可以识别一个人,有时是一个家庭,有时是一个企业,或者有时是一群随机的人,等等。
但有趣的是,这些 ID 会随着时间不断变化……不断变化。不仅总是通过“现在”任何这些 ID 来识别一个人/组是有用的,而且还只是需要能够返回,有时向前:“功劳是什么?这个人/企业的分数是他/它是否有这张信用卡(帐号)?”
虽然上面只是两个不相关且狭窄的领域,但它们是真实的。是的,您可以为所有数据库记录/文档/KV/列族/“什么不是”添加时间戳,但它会给您的只是:没有实际系统感知的“时间戳”的时间。 Datomic 确实给了你这种感觉。它的作用远不止于此,但这是另一个问题。
【讨论】:
我认为大多数对现实世界问题进行建模的系统都可以从 Datomic 提供的时间模型中受益,这仅仅是因为该模型更接近于现实世界中实际发生的事情。请参阅 Rich Hickey 的演示文稿:Deconstructing-Database。
更具体地说,任何需要版本控制或数据审计功能的应用程序都可以从 Datomic 的不变性中受益匪浅,因为这些功能本质上是内置的。有时这些功能是不错的功能,有时它们是强烈的要求(例如,对于银行应用程序)。
【讨论】: