Note that there are some explanatory texts on larger screens.

plurals
  1. POImplement read only / write only database server architecture
    primarykey
    data
    text
    <p>We have an ASP.NET MVC3 Web Application which consists of following:</p> <ul> <li>Website (MVC3)</li> <li>Data Access Service (WCF + EF)</li> <li>Database Server (SQL Server 2008 R2)</li> </ul> <p>We were suggested to implement an architecture to the following for performance benefits:</p> <ul> <li>Web Server Cluster (Website + Data Access Service) <ul> <li>It has <strong>Round Robin Load Balancing</strong></li> <li>Each server in this cluster has a <strong>Cache</strong> (read-only) database</li> <li>We have a set of SPs that we can distinctly divide into two categories - <strong>Read SPs</strong> and <strong>Write SPs</strong></li> <li>Each Read SP will connect to <strong>Cache DB</strong> and each Write SP will connect to <strong>Write DB</strong></li> </ul></li> <li>Database Server(s) with Replication/Mirroring <ul> <li>This is the <strong>Write DB</strong>.</li> <li>Whenever it changes, it propogates <strong>all the changes</strong> to all the <strong>Cache DBs</strong></li> <li>In addition to that, it has replication/mirroring implemented so it has backups when it goes down.</li> </ul></li> </ul> <p>This is very rough idea and I am not sure it will give our system a performance boost. </p> <p>The argument in favor of it was <strong>80%</strong> of the times, the operations are read-only. They can be made on <strong>Cache DBs</strong> (since there are configured to be read-only, they are faster). The other <strong>20%</strong> can be made on <strong>Write DBs</strong>.</p> <p>But, I have following questions:</p> <ul> <li><strong>Read-Only Configuration</strong>: can we actually configure <strong>Cache DBs</strong> to be read-only? Since <strong>Write DB</strong> will need to push changes to them whenever it changes.</li> <li><strong>Sync</strong>: with all this complexity over the network, how easy it is to make sure that everything is in sync? <strong>Network Latency</strong>: and what about network overheads to keep everything in sync?</li> <li><strong>Complexity and Maintenance</strong>: is it really worth the added maintenance overheads and the added complexity to the system?</li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload