2

好吧,我已经在 Google、Stackoverflow 和其他任何我能找到的东西的帮助下,尽我所能,但似乎我无法找到确切的答案!我有多个查询,我很想从数据库人员以及程序员和框架用户那里得到答案。

从编程语言中,我知道 C/C++、Java 和 Python。我已经进行了一个 CMS 项目,该项目需要经常使用 CRUD 的 C 和 R。该项目将至少有 50k 用户。该项目的从头到脚都已经弄清楚了,现在我需要对其进行编码并使其在线上线。

好吧,我想使用 Neo4j 作为我的数据库,因为它的数据表示模型(节点和关系)最接近真实的项目模型。现在,neo4j 具有多种语言的绑定,其中之一是 Python(其 python 绑定非常陈旧,jpype 多年来一直没有更新)。我正在考虑使用一些基于 Java 的框架,但后来我放弃了这个想法,因为我个人没有听说过太多的 Java 框架。但是我的一位合作伙伴告诉我选择 Zend (PHP),因为它具有某种功能,可以让我们执行 Java 代码。这不会减慢代码吗?我的意思是用另一种语言执行一种语言的代码......

所以,这一切都归结为:

1) 数据库:我想选择 Neo4j。但是当可扩展性因素开始时,它会顺利吗?(根据我从谷歌收集到的信息,没有可扩展性问题)。

2) 在 Neo4j 的情况下使用什么框架?我需要一个能够处理大量请求和大数据的框架,因为项目的用户会大量创建和读取数据。

PS:我知道这是一个很长的问题,但不能用更少的词记下来!

4

3 回答 3

3

我不能谈论 Neo4J 对您的特定项目的可扩展性或适用性。

但是,我强烈建议您不要尝试混合和匹配 Java 和 PHP 等语言。坚持为您的特定任务选择最好的要容易得多。我也强烈建议您不要将 JNI 用于任何事情,除非您别无选择。Java 足够快,您几乎不需要 JNI 来提高性能。

也就是说,可以在“完整服务器”模式下运行 Neo4j,然后让您的 PHP 或 Python 应用程序通过网络使用某些驱动程序访问它。我只是不建议在您的应用程序层制作 PHP 和 Java 的丑陋混合体。

您可以查看的一些不错的 Java 框架包括:

它们在行业中是相当标准的,并且它们都有大量可用的资源。

于 2011-06-15T17:44:21.740 回答
2

关于语言互操作性的小问题,Java 提供了 JNI 接口,它允许 JVM 和用户代码调用其他语言,反之亦然。当本地代码(例如Java调用的C代码,或C调用的Java)运行时,它实际上是在其自然环境中运行,因此在实际执行方面没有性能损失。

于 2011-06-15T17:30:40.300 回答
0

Neo4j 作为一个独立的服务器也有 REST API:http://docs.neo4j.org/chunked/milestone/rest-api.html,如果你可以将你的请求嵌入到单个 REST 查询中,就不需要使用原生的嵌入 neo4j . 如果不需要使用嵌入式 neo4j,您可以选择任何语言。

关于扩展性,最近 Neo4j 可以在Azure上使用,所以扩展性一定很容易。要了解更多如何扩展 neo4j,请访问 neo4j.org 上的此页面

更新:在最新版本的 Neo4j 中,添加了对新查询语言的支持 - http://blog.neo4j.org/2011/06/kiruna-stol-14-milestone-4.html

于 2011-06-16T21:47:06.143 回答