我认为任何dbms上的一个常见操作,甚至是datomic,都是检索给定实体的属性的最新值。给我看看乔(最近)的地址。
考虑到4 available indices最后都有T,看来这种常见的操作不会很有效例如,使用eavt,您必须搜索给定实体属性对的所有值,以便找到具有最新t的值。
这个分析有什么遗漏或错误吗如果不是,这不意味着应该有一个EATV索引吗?

最佳答案

Datomic的索引包含索引-请参见docs on this topic。您没有导航多个指针树来充实实体,而是通过导航eavt的索引树(按e)并检索这些数据来检索实体的(排序)数据。事实上,实体本身只是从关于它们的数据中推断出来的,它们不是以其他方式实现的。
若要导航EAVT,请通过索引树导航到有关E的数据,并检索叶段,其中包含有关当前数据库(截至BASIS-T)实体的已排序E、A、V、TX数据。还要记住,datomic支持基数许多属性。

关于algorithm - 为什么Datomic没有EATV指数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22536024/

10-11 17:56