【问题标题】:keeping track of history in graph databases跟踪图形数据库中的历史记录
【发布时间】:2011-02-19 21:13:59
【问题描述】:

我正在研究使用图形数据库(如 Neo4j - 主要是因为我需要 python 绑定)来对真实物理网络进行建模。但是,要求之一是能够跟踪机器所在位置的历史记录、网络端口的状态等。

在关系数据库中,我可以很容易地创建一个“归档”表,我可以用它来进行历史查询,但是,我已经被固定表模式和相当尴尬的左连接问题困扰了很多次这个地方。

有人对如何最好地维护图形数据库中的历史关系和节点属性有任何建议吗?

【问题讨论】:

    标签: history graph-databases


    【解决方案1】:

    根据节点的数量,您可能能够拍摄图网络的快照。然后索引每个节点,以便您可以在网络的每个修订版中查询它。

    您也可以尝试对每个节点进行版本控制。每次一个节点或它的一个顶点发生变化时,复制该节点并引用它连接到的每个节点的当前版本。然后将刚刚修改的节点的版本号调高。

    【讨论】:

    • 你会在哪里存储节点的副本?进入新数据库?
    【解决方案2】:

    由于 Neo4J 基于文件系统,您可以通过 Git 轻松保存图形数据库的版本。然后在版本之间来回切换,看看图形是怎样的等等。

    【讨论】:

    • git 数据存储最终会随着每次迭代而变得庞大,不是吗?
    【解决方案3】:

    我知道 Sones 在数据库中提供版本控制。 “...将它们置于版本控制之下并管理各种版本...”Link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 2017-07-30
      • 2020-11-07
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      相关资源
      最近更新 更多