用于表示树结构的最佳DB

时间:2013-10-17 15:45:15

标签: sql mongodb graph-databases database nosql

哪个是树形结构的最佳数据库?

我有不同种类的对象,可以有父对象或子对象。这个对象的结构是dinamic,ej:有些可以有'name'字段而有些可以没有,有些可以有'menu'字段而有些可以有'image'字段。

一个元素可以有1000个字段(或属性),而其他元素只有1个。

放弃SQL数据库,因为它不能是无模式的

目前,我将它存储在mongoDB中,但我认为这不是最适合的事情,因为我不能在一个文档上有无限的孩子​​或父母(限制为16mb)所以我必须为每个物体,然后是mongodb最大的优势之一就丢失了。

另一个解决方案migth是一个图形数据库,我不熟悉它们,但它们似乎是完美的解决方案,毕竟树是一个图形。

那你觉得怎么样?

2 个答案:

答案 0 :(得分:3)

图形数据库听起来像是正确答案。请考虑查看TinkerPop这是一个开源图形技术堆栈。它可以以不可知的方式连接到大多数图形数据库(Neo4j,Titan,OrientDB,Bitsy等)。显然,这使您可以尝试不同的图形实现,以便为您找到合适的图形。

与真正的图形数据库相比,虽然远没有表现,但它甚至还有MongoDB implementation的图形。我建议从简单的内存TinkerGraph and a Gremlin REPL开始,开始学习过程。

答案 1 :(得分:0)

看看图形数据库。 Neo4j领先于此。