Hi, My name is Raja and I work in a telecommunications industry. We deal with lots of data everyday that represent customer phone calls. I have been writing applications using JSP, JAVA, Servlets and Postgresql database over years now to support this business. But we reached a stage where single database cannot do all the work. So I started to split the database into multiple ones so that reports are calculated on different servers and consolidated at one place at the end of the day. Howver, now even the reports data in the database because so huge that all queries are very slow no matter how well they are written and after applying all indexes. I would like to seek a solution where some information about customers is spread across other servers and some orders of customers is spread in othe database etc. Basically splitting one database into many to make sure that all queries are fast enough and serve from different servers. Is there any good book or real world examples out there that explains about this. I have read some books but all of them talk about distributing data but doesn't give enough examples or hints. For example, Amazon and Ebay have millions of customers. How do they make sure that customers informaiton is spread across multiple databases? We have multiple web servers for serving customers but in the end they deal with same database. How to scale applications so that we have no issues of this sort? Please help.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus