« Distributed Computing & Google Infrastructure | Main | A Bunch of Great Strategies for Using Memcached and MySQL Better Together »

Separation into read/write only databases

At least in the articles on Plenty of Fish and Slashdot it was mentioned that one can achieve higher performance by creating read-only and write-only databases where possible.
I have read the comments and tried unsuccessfully to find more information on the net about this. I still do not understand the concept. Can someone explain it in more detail, as well as recommend resources for further investigation? (Are there books written specifically about this technique?) I think it is a very important issue, because databases are oftentimes the bottleneck.

Reader Comments (2)

It' similar to building an OLAP database from an OLTP database. The write database is the database of record. All your transactions go through the write database. It's optimized to be fast for writes. It has minimal indexing, for example, yet maintains referential integrity and other data constraints. Data from the write database flows into the read database. It flows because your application writes the data in two places, from a cron job that moves data over, database replication mechanism, or some other magic. Applications direct all read queries to the read databases. Try something like MySQL Proxy. The read database can be denormalized and fully indexed to make queries faster.

November 29, 1990 | Unregistered CommenterTodd Hoff

Thank you Todd! Do you know books that talk about it?

November 29, 1990 | Unregistered Commentermofey

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>