Comment créer plusieurs bases de données sur un serveur en utilisant neo4j? J'ai plusieurs clients et je souhaite séparer toutes les informations client dans une base de données différente pour éviter les fuites de données.
Vous devez disposer de plusieurs installations Neo4j avec différentes configurations de port dans conf/neo4j.properties
et conf/neo4j-server.properties
.
Vous pouvez également utiliser un outil de virtualisation ou de conteneur comme http // docker.io pour une approche plus sophistiquée.
ou ajoutez un label
spécial à chaque nœud pour un client, par exemple :ClientName
. ou créez un nœud racine pour chaque base de données clients et commencez toujours l'interrogation au premier nœud.
dans neo4j db, vous pouvez avoir des sous-graphiques séparés. si vous programmez bien votre code, il ne devrait y avoir aucune raison d'avoir de telles fuites.
comme @ stefan-armbruster l'a mentionné, il pourrait être utile d'utiliser plusieurs instances de conteneur Docker Neo4j pour exécuter plusieurs bases de données
Peut être en dessous du fichier de composition docker devrait être en mesure de vous aider à le faire
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
une fois que vous avez enregistré ce qui précède dans un docker-compose.yml, exécutez la commande ci-dessous
docker-compose up
si vous voulez exécuter en arrière-plan
docker-compose up -d
Vous devriez maintenant pouvoir accéder à la base de données en tant que http://localhost:7474
, si vous utilisez docker-machine, vous devrez utiliser l'adresse IP de docker-machine pour accéder à la base de données
En conservant plusieurs fichiers de composition de docker avec différents ports, vous pouvez gérer plusieurs bases de données, ce n'est pas seulement pour neo4j, vous pouvez le faire pour tout type de bases de données (Mongo, Redis, RabbitMQ etc.,)
pour spécifier un autre fichier de composition docker, essayez la commande ci-dessous
docker-compose -f <your docker compose file name>