In base alla progettazione attuale, la maggior parte dei dati viene archiviata in MySQL e utilizziamo il modello di repository nella nostra app Web come livello per recuperare i dati dal DB. Facciamo la stessa cosa quando recuperiamo le relazioni, usando i modelli del nostro framework e l'ORM per recuperare i modelli e le loro relazioni tutto in una volta.
Alcune delle nostre tabelle, principalmente log-like, sono cresciute in maniera massiccia e abbiamo in programma di trasferirle su Cassandra o qualcosa di simile. Per ora, vogliamo fare il lavoro iniziale di separare le query mysql e inserire le tabelle dei big data in una connessione di database separata.
Abbiamo difficoltà a trovare un modo pulito e organizzato per gestire i dati relazionali quando si trovano su diversi database. Ad esempio, possiamo avere una classe RelationManager
che contiene metodi per prelevare due diverse parti correlate di dati e restituirle la strada verso la logica di dominio dell'applicazione, come erano prima, in modo da ridurre al minimo il refactoring nel resto dell'app. Ma qualcosa sembra solo sbagliato in proposito.
Qualche suggerimento su come altre società gestiscono i dati in molti database?