À mon entreprise, environ 10 développeurs partagent un serveur de développement ubuntu. Nous avons des répertoires de code distincts, mais en raison de la taille de notre base de données (environ 50 Go), il n'est pas pratique de cloner la base de données mysql pour chaque développeur. Donc pour le moment, nous partageons tous une seule base de données. Cependant, je me demandais si cela est possible:
Créer un système de fichiers maître (ext4) qui stocke la base de données de 50 Go. Ce système de fichiers n'aura pas de serveur mysql en cours d'exécution et serait pratiquement en lecture seule. Créer un système de fichiers virtuel pour chaque développeur qui référence le système de fichiers maître et stocke une différence de chaque modification apportée. avoir un serveur mysql en cours d'exécution sur chaque système de fichiers virtuel. Ensuite, chaque développeur obtient sa propre base de données pour faire ce qu'il veut, sans dupliquer inutilement la base de données de 50 Go.
Je n'ai pas examiné comment mysql stocke ses données sur le disque, mais en raison du désir de minimiser les E/S sur le disque, je soupçonne que les petits changements que nous apportons dans nos tests de routine ne créeront pas de grandes différences dans le système de fichiers virtuel.
En particulier, voici mes questions:
- Cette architecture est-elle possible?
- Est-ce la manière la plus simple d'atteindre mon objectif?
- Un tel système de fichiers virtuel existe-t-il déjà?