views:

51

answers:

4

I am intrested to know a little bit more about databases then i currently know. I know how to setup a database backend for any webapp that i happen to be creating but that is all. For example if i was creating three different apps i would simply create three different databases and then configure each database for the particular app. This is all simple knowledge and i would now like to have a deeper understanding of how databases actually work.

Lets say that I developed an application for example that needed lot of space and processing power.This database would then have to be spread over numerous machines. How exactly would a database be spread across numerous machines and still be able to write records and then retreieve them. Would each table get their own machine and what software is needed to make sure that the different machines have all performed their transactions successfully.

As you can see i am quite a database ignoramus lol.

Any help in clearing this up would be greatly appreciated.

+1  A: 

I don't know what RDBMS you're using but I have two book suggestions.

For theory (which should come first, in my opinion): Database in Depth: Relational Theory for Practitioners

For implementation: High Performance MySQL: Optimization, Backups, Replication, and More

I own both these books and they are both pretty great, especially the first one.

Jason Swett
+1  A: 

That's quite a broad topic... You might want to start with Multi-master replication, High-availability clustering and Massively parallel processing.

Frédéric Hamidi
A: 

If you want to know about how to keep databases running with ever increasing load, then it's not a basic question. Several well known web companies are struggling to find the right way to make their database scalable.

Using memcached to cache database information is one way to decrease load on your database if your application is read-intensive. If you application is write-intensive then may be you would want to consider using a NOSQL datastore like MongoDB or Redis.

ardsrk
A: 

Database Design for Mere Mortals

This is the best book about the subject if you don't have any experience with databases. It's got historical background and practical examples. Most books often skip the historical stuff because they assume you know what a db is, or it doesn't matter, and jump right to the practical. This book gives you the complete picture.

picardo