首页 文章

以最佳方式存储分层数据:NoSQL或SQL

提问于
浏览
4

我正在处理分层数据,就像在树结构中一样 . 我想知道将它们存储在数据库中的最佳方法是什么 .

我从MySQL的邻接列表开始 . 但随着数据的增加,性能似乎有所下降 . 我有大约20,000行存储在具有父子关系的MySQL表中,并且将来会增加 . 获取数据需要很长时间,因为我必须根据树的深度编写许多自连接 .

所以我一直在寻找存储这类数据的最佳方法 . 在同一个地方,我发现嵌套集比邻接列表更好 . 然后我被建议查看NoSQL,如果这可以解决我的问题 . 所以我现在很困惑是继续使用SQL还是进入No SQL,或者是否有其他最好的方法来处理这种数据 .

所以任何人都可以建议我最好的方法是什么?

1 回答

  • 4

    如果MySQL给你带来的麻烦比它解决的更多,那么为了比较,我需要'd take a look at MongoDB, CouchDB or ElasticSearch (depending on your use case). Maybe even Neo4j. Your choice should come down to several points such as replication, scaling capacity, consistency... I advise you to read carefully some official documentations before you decide. Here' .

    去NoSQL将摆脱所有连接并提高性能但是你仍然需要使用邻接列表,嵌套集,物化路径等来实现适当的层次结构......

    请记住,NoSQL技术几乎都使用最终的一致性,这实际上意味着您的数据在某些节点之间的给定时间可能不一致 . 如果这是一个问题,你应该坚持使用RDBMS .

相关问题