我正在开始一个新项目,虽然我习惯了 MySQL,但我担心效率。我对其他选项持开放态度,图形数据库听起来很有趣。
我需要根据位置和类似值的评级来找到类似的用户。在 mysql 中,我可能必须根据位置和这些值的距离(可能是欧几里德距离)加入 2 个多对多关系和顺序。MySQL 在这样的事情上似乎很慢。
我还需要做一些事情,比如找到 10 个节点,其文本以子字符串开头,并且连接数最多(我猜这是一个自动完成)。
Neo4j 或其他图形数据库会轻松有效地做到这一点吗?
我正在开始一个新项目,虽然我习惯了 MySQL,但我担心效率。我对其他选项持开放态度,图形数据库听起来很有趣。
我需要根据位置和类似值的评级来找到类似的用户。在 mysql 中,我可能必须根据位置和这些值的距离(可能是欧几里德距离)加入 2 个多对多关系和顺序。MySQL 在这样的事情上似乎很慢。
我还需要做一些事情,比如找到 10 个节点,其文本以子字符串开头,并且连接数最多(我猜这是一个自动完成)。
Neo4j 或其他图形数据库会轻松有效地做到这一点吗?
是的,Neo4J 肯定比 MySQL 更合适。我自己用它来进行相似性搜索,并继续这样做。根据您的标准的复杂程度,查看Cypher或Gremlin ——连同内置的 Lucene 索引,这非常棒。
您可能尝试实现的示例:http: //docs.neo4j.org/chunked/stable/data-modeling-examples.html