Ho una soluzione di database poliglotta che include i seguenti componenti:
- un'interfaccia di gestione costituita da un'applicazione web e un database basato su documenti (rethinkdb o mongo)
- un servizio di routing che è un database di archivio di chiavi / valori ... con una semplice API REST che consente la funzionalità CRUD.
Il database di routing viene popolato dall'applicazione di gestione. La mia domanda è questa. Devo memorizzare le informazioni di routing nell'applicazione di gestione e il database del servizio di routing? o solo una volta?
Argomenti per la memorizzazione dei dati due volte:
- possibilità di ricreare il database di routing se qualcosa dovesse accadere e l'abbiamo perso.
- quando si tratta di creare report di routing, posso alleggerire il carico sul servizio di routing segnalando l'applicazione di gestione. (il servizio di routing verrà utilizzato molto più dell'applicazione di gestione)
Contro per l'archiviazione due volte (a parte l'ovvio sull'utilizzo di più risorse)
- può potenzialmente finire con discrepanze tra il database di gestione e il database di routing. Avrà bisogno di avere uno script di qualche tipo per verificare queste discrepanze di volta in volta.
Non sono sicuro di cos'altro aggiungere alla mia lista pro / contro. Se hai commenti, sono tutto orecchie.