Neo4j 帮助 Wanderu 解放美国旅行者
挑战
Wanderu 的主要业务挑战是如何收集、标准化,然后将所有这些数据连接在一起——来自巴士和火车公司以及多个公共来源,包括 Google Maps。
首席技术官 Eddy Wong 是一位拥有 15 年软件行业经验的资深人士,曾任 Open Sesame(一家被 Adobe 收购的个性化技术初创公司)的首席架构师,他很快意识到这项任务超出了传统关系数据库的范围。
“我们开始时对 Neo4j 一无所知,但通过观察问题,我们发现自己想要一个图模型。我们想要一个无模式数据库的灵活性,并且关系模型中的自连接根本无法执行——我们不喜欢关系模型来处理我们的主要用例。”
解决方案
Wanderu 已经将其关于城市、车站、行程和运营商的数据存储在 MongoDB NoSQL 数据库中,但它需要 Neo4j 来执行“路径查找”——即为客户推荐最佳旅行选择所需的复杂搜索和发现。因此,该公司将 MongoDB 和 Neo4j 连接在一起,使用称为 Mongo Connector 的复制机制。“
我们的解决方案是拥有两个存储,并让 Neo4j 执行路径查找,”Eddy 说。“他们说在 NoSQL 方法中,你应该尽量避免连接,但即使我们在 Neo4j 和 MongoDB 之间进行了连接,它也比关系数据库的自连接好得多,所以我们很高兴能选择 Neo4j 以及 MongoDB。”
在解释 Wanderu 为什么选择 Neo4j 而不是其他图数据库时,他说:“我们选择 Neo4j 是因为它的图遍历框架是我们见过的最先进和最灵活的框架。我们能够使用 Neo4j 实现最短路径算法的变体,而其他图数据库似乎并不容易做到这一点。”
“我们查看的其他图数据库是专有的,而我们想要一个开源的。使用开源,你可以根据需要检查代码,并且可以选择扩展功能。我们也喜欢 Neo4j 背后充满活力的开源社区。”
下载案例研究