Domanda

Sto cercando di sviluppare un'applicazione ASP.NET MVC, che dovrebbe avere la capacità di essere eseguito su Azure in futuro. L'applicazione verrà utilizzato il modello di progettazione CQRS, che sono piuttosto nuovo a. Il modello di scrittura utilizzerà NHibernate con mappature. Non sono sicuro di che tipo di database da utilizzare per il modello di lettura. Il modello di lettura dovrebbe avere le seguenti caratteristiche:

  • Non ha bisogno di essere basato su SQL, ma potrebbe essere. NHibernate potrebbe essere utilizzato anche lì per creare semplice vista del modello -> tipo di tabella di mappature, senza chiavi esterne. SQL CE o SQLite in-memory database potrebbero essere utilizzati come fornitore di dati. Questo dà anche un po 'più di flessibilità quando si tratta di interrogare i dati.

  • Potrebbe essere semplicemente un oggetto serializzato / deserializzatore che memorizza il modello vista oggetti come sono. Si dovrebbe rendere questo facile da usare e potrebbe utilizzare le cose come lo stoccaggio Azure Blob in futuro. Ci sono quadri buoni che gestiscono questo in un buon modo?

mi piacerebbe ottenere un feedback da alcune persone che hanno costruito questo tipo di applicazioni prima.

È stato utile?

Soluzione

Stiamo usando archiviazione Blob per CQRS Visualizzazioni il backup ASP.NET MVC 2 client Web (e il client desktop così). Alcuni dettagli Questo è in produzione ed è un grande miglioramento rispetto alla versione precedente di opinioni (NHibernate oltre SQL Azure)

Gestisce semplice indicizzazione e l'interrogazione pure. Per scenari più complessi che sto pensando di utilizzare sottoinsieme delle funzionalità Storage Table (solo per davvero grandi insiemi che non può essere partizionato).

Altri suggerimenti

Per la Read modello, usiamo SQL Server 2008 R2 con WCF Data Services sulla parte superiore. Il Data Service WCF è quindi configurato per consentire solo lettura. I dati nel database di SQL Server 2008 R2 è una tabella per ogni entità, con vista specializzati creati sulla parte superiore di quelli.

L'applicazione ASP.NET MVC non accede direttamente alle entità, interroga solo i punti di vista.

Uno scenario come questo può essere indicizzato bene e il punto di vista offrono estrema flessibilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top