无模式分层数据库,其中只有“叶子”是文档

时间:2017-12-06 19:38:42

标签: database data-structures nosql rdbms graph-databases

我的数据结构是树状的,其中分支是纯密钥,只有叶子是缺少模式的文档。

示例:

keyA
    KeyA_1
        KeyA_1A{
            key: value,
            key: value,
            key: valeu
        }
        KeyA_1B
            KeyA_1B_1{
               key: value,
               key: value,
               key: value
            }  
   KeyA_2
        KeyA_2A{
            key: value,
            key: value
        }
KeyB
    KeyB_1{
         key: value,
         key: value,
         key: valeu
    }
    KeyB_2{
         key: value
    }

哪个数据库适合我?

1 个答案:

答案 0 :(得分:0)

我认为您在此处描述的数据结构不是它在数据库中的样子,它只是您的应用程序如何考虑它。

如果你想存储它,以后可以很容易地进行存储,我建议将树保存为节点列表,每个节点都是一个模型(行/文档),它包含以下字段:

  • id(pk)
  • 键(如果你还需要它)
  • next(fk,nullable)
  • 数据(json,可选)

通过这种方式,您可以构建自己的树并进行旅行,直到您使用自己喜欢的树遍历技术与next = null会面。

关于数据库本身,如上所述,您可以选择您喜欢的那个(理性/非理性,Postgres v9.2 +或MySql v5.7 +可以为您提供良好的解决方案,因为它们具有JSONB / JSON字段支持您的数据。