我想将信息存储在数据库中许多不同树的节点上。
首先将有超过 20000 个节点在 500 棵树之间共享,每个节点将有 5 个数字属性。一旦构建,每个节点都需要引用它的所有直接子节点,而不需要引用其他节点。
我需要在初始化时在内存中构建所有树,并在程序进入停机时间后更新/添加节点(可能每隔一小时左右,尽管越多越好)。
我查看了 sql 邻接模型,它似乎构建每个表需要很长时间(必须进行太多的数据库调用),嵌套集模型是一种可能性,但扩展树更复杂,这是会发生很多,它增加了数据库的复杂性,因为我认为这可能是一个非常基本的结构和查询集。
我也研究过 MongoDb,但它似乎更适合 JSON 类型的对象,而且我正在使用 java,并且可能会过度杀戮,而且 HBase 肯定会过度杀戮(优点是如果节点数量变得巨大,它可能会出现很有用,这对未来来说是一种可能性,我可以增加对数据库的写入时间,这也是一个优势)
有人对我如何解决这个问题有任何建议吗?
NoSql dbs 是否矫枉过正?他们在存储树结构方面做得更好吗?将它们与 sql 数据库一起使用是不好的做法吗?