我正在使用Neo4j社区版以及Scala-Neo4j包装器的Scala,并且我刚刚下载了Neo4j的企业版。我看到企业版中的一些附加功能,如高性能缓存,群集和3 *生产实例。我如何使用这些功能?我是否需要对使用社区版编写的代码进行更改以利用这些功能?Neo4j - 企业版功能
回答
这取决于您的部署模型。
如果您在嵌入模式下使用Neo4j,通常使用GraphDatabaseFactory.newEmbeddedDatabase(path)
初始化数据库。在嵌入Neo4j Enterprise时,您必须将其替换为HighlyAvailableGraphDatabaseFactory.newHighlyAvailableDatabaseBuilder(path).setConfig(map).newGraphDatabase()
,其中map
包含部署的配置设置,尤其是http://docs.neo4j.org/chunked/stable/ha-configuration.html中记录的ha参数。
如果部署的应用程序通过REST(服务器部署)访问Neo4j,则不应更改访问负载均衡器URL的URL。
请注意,Neo4j企业是双授权:AGPL(affero-GPL)或商业授权,请参阅http://www.neo4j.org/learn/licensing了解更多信息。
我知道这是一个相当古老的问题,但其他人可能会觉得这很有用。可以将Scala Neo4j Wrapper与HA实例一起使用。您可以扩展GraphDatabaseServiceProvider
。要获得群集等企业功能,您需要在每个群集节点上运行应用程序实例。
package graphdatabase
import scala.collection.JavaConversions._
import eu.fakod.neo4jscala.{
Neo4jWrapper, DatabaseService,
DatabaseServiceImpl, GraphDatabaseServiceProvider
}
import org.neo4j.cluster.ClusterSettings
import org.neo4j.kernel.ha.HaSettings
import org.neo4j.graphdb.factory.HighlyAvailableGraphDatabaseFactory
object HighAvailabilityGraphDatabase extends Neo4jWrapper with GraphDatabaseServiceProvider {
def neo4jStoreDir = "/path/to/db"
// The config params will vary for each cluster node.
// You could use environment variables for example to configure.
def configParams = Map(
ClusterSettings.server_id.name -> sys.env.get("SERVER_ID").get, // e.g. 1
HaSettings.ha_server.name -> sys.env.get("HA_SERVER").get, // e.g. server1:6001
ClusterSettings.cluster_server.name -> sys.env.get("CLUSTER_SERVER").get, // e.g.server1:5001
ClusterSettings.initial_hosts.name -> sys.env.get("INITIAL_HOSTS").get // e.g. server1:5001,server2:5001
)
val ds: DatabaseService = {
val gdb = DatabaseServiceImpl(new HighlyAvailableGraphDatabaseFactory()
.newHighlyAvailableDatabaseBuilder(neo4jStoreDir)
.setConfig(mapAsJavaMap(configParams))
.newGraphDatabase
)
sys.addShutdownHook({
shutdown(gdb)
})
gdb
}
}
你也应该能够在配置配置高性能缓存,虽然我会检查the docs为
然后,您可以使用Neo4j的Scala的包装,你会通过其他任何地方HighAvailabilityGraphDatabase
进口。但您现在可以从其他企业功能(如实时备份)中受益。从Scala包装器访问底层的Java数据库服务也很容易。
import graphdatabase.HighAvailabilityGraphDatabase._
object Foo {
withTx { implicit db =>
// use db.gds to access the underlying GraphDatabaseService object.
// otherwise create nodes etc as per usual.
val node = createNode
node("foo") = "bar"
}
}
注:您还需要确保你有Neo4j的HA在build.sbt(或类似),因为它是不包括在斯卡拉包装。
libraryDependencies ++= Seq(
"org.neo4j" % "neo4j-ha" % "2.1.3" // Replace 2.1.3 with your version
)
- 1. Neo4j 3.0.4企业版试用版未能在Windows中启动
- 2. Neo4j企业版安装错误2.0.0
- 3. Rubymotion企业版
- 4. 非企业版
- 5. 的Neo4j-企业升级
- 6. Graoware社区版可以在Neo4j企业版上使用吗?
- 7. 如何用企业版本替换社区版本的Neo4j
- 8. 使用企业版iPhone版
- 9. Magento企业版社区版
- 10. 什么是Visual Studio企业版中的Xamarin Embeded Assembly功能?
- 11. MSSQL 2012企业版与MSSQL的json功能2016
- 12. 如何从Neo4j社区迁移到企业版(在Ubuntu上)?
- 13. neo4j企业版3.0.6 base64编码的凭据不被接受
- 14. Neo4j企业版可以在Heroku上运行吗?
- 15. datastax企业图搜索功能
- 16. Alfresco社区企业功能比较
- 17. neo4j企业1.8.1 Cypher ExecuteEngine错误?
- 18. Neo4j HA企业主/从控制
- 19. 从Neo4j社区迁移到企业
- 20. Magento企业版索引
- 21. 使用Hazelcast SSL企业版
- 22. .NET企业版CMS推荐
- 23. SSRS企业版安装
- 24. 企业版Magento reindex问题
- 25. Magento预购企业版
- 26. Magento企业版升级
- 27. Ruby企业版和Ruby 1.9
- 28. Visual Studio 2015企业版和混合版?
- 29. Visual Studio Community 2017 - 企业版和专业版作为选项
- 30. SQL服务器R2企业版下载?
我在嵌入模式下使用Neo4j。我可以得到我在我的问题中提到的功能的任何解释(高性能缓存,群集和3 *生产实例)。 – yAsH
这一切都在参考手册中,请参阅http://docs.neo4j.org/chunked/stable/ha.html的Clustering和http://docs.neo4j.org/chunked/stable/operations-backup.html的在线备份和http://docs.neo4j.org/chunked/stable/configuration-caches.html#_object_cache以获得GC耐药性缓存(又名高性能缓存)。 –