我正在使用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耐藥性緩存(又名高性能緩存)。 –