Creación de múltiples bases de datos en un servidor usando Neo4j


¿Cómo crear múltiples bases de datos en un servidor usando neo4j? Tengo varios clientes, y quiero separar toda la información del cliente en una base de datos diferente para evitar fugas de datos.

Author: Chris Skardon, 2014-09-04

3 answers

Necesita tener varias instalaciones Neo4j con una configuración de puerto diferente en conf/neo4j.properties y conf/neo4j-server.properties.

Alternativamente, puede usar alguna herramienta de virtualización o contenedor como http//docker.io para un enfoque más sofisticado.

 33
Author: Stefan Armbruster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-04 07:57:55

O agregue un label especial a cada nodo para un cliente, por ejemplo, :ClientName. o cree un nodo raíz para cada base de datos de clientes, y siempre comience la consulta en el primer nodo.

En neo4j db, puede tener subgrafos separados. si programma su código bien, no debería haber ninguna razón para tener tales fugas.

 8
Author: ulkas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-04 09:39:23

Como @stefan-armbruster ha mencionado, podría ser bueno usar varias instancias de contenedores Neo4j docker para ejecutar varias bases de datos

Puede estar por debajo de docker compose archivo debe ser capaz de ayudar a u en hacer esto

version: '2'
services:
  neo4j:
    image: neo4j:latest
    network_mode: host
    restart: always
    environment:
      - NEO4J_AUTH: neo4j/neo4j
    cap_add:
      - SYS_RESOURCE
    ports:
      - "7474:7474"
      - "7687:7687"
    volumes:
      - $HOME/neo4j/data:/data

Una vez que haya guardado lo anterior en una docker-compose.yml, ejecutar debajo del comando

docker-compose up 

Si desea ejecutar en segundo plano

docker-compose up -d 

Ahora debería poder acceder a la base de datos como http://localhost:7474, si está utilizando docker-machine, tendrá que usar el docker - dirección IP de la máquina para acceder a la base de datos

Al mantener múltiples archivos docker-compose con diferentes puertos en ellos, puede mantener múltiples bases de datos, esto no es solo para neo4j, puede hacerlo para cualquier tipo de DBs (Mongo, Redis, RabbitMQ, etc.,)

Para especificar diferentes archivos de docker compose, intente debajo del comando

docker-compose -f <your docker compose file name> 
 3
Author: Basav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-09 04:54:28