Al momento disponiamo di un database SQL relazionale sql server che è il nostro database di applicazioni master. Stiamo cercando di migliorare un meccanismo di archiviazione dei documenti esistente che utilizzi tipi di dati xml con qualcosa di più schematico che possa gestire documenti simili ma non identici e pensiamo che couchdb sarebbe adatto.usando il divano db e il server sql fianco a fianco
L'idea è che i metadati comuni relativi ai documenti possano essere memorizzati all'interno di SQL Server per facilità di visualizzazione/aggregazione/reporting, ma i documenti effettivi vengono memorizzati nel divano per gestire le sottili differenze nei documenti. L'idea è di sfruttare al massimo le due diverse tecnologie.
Ad esempio lo stato, il tipo, la persona correlata e la data di creazione sarebbero tutti comuni su tutti i documenti e memorizzati in sql ma una e-mail e una lettera (ovviamente con campi diversi) potrebbero essere memorizzati nel divano.
Quindi possiamo visualizzare la griglia del documento per tutti i tipi di documento (migliaia di documenti) che possono essere interrogati tramite sql ma la visualizzazione del documento ottiene i dati dal divano quando l'utente richiede di visualizzarlo.
Qualcosa da tenere a mente è che alcuni tipi di documento sono generati da modelli che sono anche documenti stessi (si pensi alla stampa unione/trova e sostituisci).
livello di applicazione è asp.net 4.5, C#, Pattern Repository, Windsor per CIO, JavaScript
Così, alla domanda ...
È questo approccio un modo ragionevole per rendere la maggior parte del due diversi paradigmi di archiviazione dei dati?
Stiamo rendendo inutilmente complessa la nostra vita di programmazione nel desiderio di "utilizzare la tecnologia più appropriata per il problema"?
Qualcuno ha qualche esperienza di provare qualcosa di simile e se sì, come è andata?