Estoy intentando cargar todo mi Neo4j DB en la RAM para que las consultas funcionen más rápido. Al pasar el mapa de propiedades a la creación del gráfico, no veo que el proceso ocupe más espacio en la memoria que antes, y tampoco es proporcional al espacio de los archivos en el disco. ¿Cuál podría ser el problema? y cómo se puede arreglar ... GraciasCargando todo Neo4J db a RAM
Respuesta
Neo4j carga todos los datos perezosamente, lo que significa que los carga en la memoria en el primer acceso. La opción de almacenamiento en caché es solo acerca de la estrategia GC, por lo tanto, cuando (o si) las referencias serán GCed. Para cargar todo el gráfico en la memoria, su tipo de caché debe ser fuerte y debe atravesar todo el gráfico una vez. Puede hacerlo de esta manera:
// untested java code
import org.neo4j.helpers.collection.IteratorUtil;
// ...
for(Node node : graph.getAllNodes()) {
IteratorUtil.count(node.getRelationships());
}
De esta manera se utilizarán todos los nodos y las relaciones de una vez y por lo tanto cargado en la memoria caché.
Gracias, encontré esto también en los documentos. Realmente desearía que hubiera una simple bandera para encender todo esto. – user971956
la ventaja aquí es que puedes ajustarlo a tu caso de uso y después de todo solo son 2 líneas de código :) –
Michael, cierto, pero desde una perspectiva de usabilidad para novatos (que es el sector mayoritario de un producto nuevo)) tener esas cosas como simples muertas es más importante que la opción de ajustar con precisión. – user971956
- 1. Conexión a neo4j con ColdFusion
- 2. db: semilla no cargando los modelos
- 3. debería conectarse todo con el nodo 0 en neo4j
- 4. DMA transfer RAM-to-RAM
- 5. Cargando un archivo CSV en Core Data managed sqlite db
- 6. Servidor Neo4j contra incrustado
- 7. Counting primitives en Neo4j
- 8. neo4j vs mongodb para búsqueda espacial
- 9. neo4j: ¿Cómo cambiar la base de datos?
- 10. “Pila nivel demasiado profundo” corriendo rake db: crear: todo
- 11. ¿Qué pasará, cuando el tamaño del db de mongodb sea mayor que la RAM?
- 12. Neo4j en la nube
- 13. Utilice neo4j con R
- 14. Neo4j y django modelos
- 15. Neo4j y ORM (Hibernate)
- 16. Neo4j vs OpenLink Virtuoso
- 17. django vars en ram
- 18. Hacer -j Límites de RAM
- 19. ¿Podrá Neo4J manejar 40 Giga de datos?
- 20. Lazy/carga Eager/ir a buscar en Neo4j/Primavera-Data
- 21. RAM total en iPhone
- 22. Analizando un archivo grande con SaxMachine parece que está cargando todo el archivo en la memoria
- 23. Identificadores de nodo en neo4j
- 24. Neo4j Independiente vs servidor integrado?
- 25. Redirigir todo a index.php
- 26. Almacenar objetos binarios en Neo4j
- 27. neo4j y max open files
- 28. Respondiendo a la disponibilidad de RAM en iOS
- 29. ¿Tiene acceso a Neo4j en modo servidor con EmbeddedGraphDatabase?
- 30. Neo4j - Cómo obtener la versión actual a través de REST
También debe asegurarse de tener suficiente memoria para la asignación de memoria de los archivos, es posible que desee configurarlo manualmente (http://docs.neo4j.org/chunked/milestone/configuration-io-examples. html) –