Do really large (say, 100 million rows) databases regularly get split up? I am totally not really acquainted with scaling -anything-, but believed that maybe one database could behave as a vital to bigger portions from the actual data, just as one index that will say "Ok last one, that question needs the 20,000,000-25,000,000 block" and transmits the query into that block, missing the relaxation. This isn't something I have to implement, but thought I'd request for assets pointing me within the right direction. Regards.
They actually could be. I understand, for example, that large systems frequently have multiple datacenters which contain bits of their database and load balance together.
From the understanding, a vital concept to dividing up a sizable database like you are speaking about is database sharding. This article should help you to get a much better concept of how sharding divides up a database for simpler access and also to reduce strain on individual servers.
I remember when i thought I desired this kind of way of a database around millions of rows, but when i learned 3NF and proper database structure I fixed my horribly implemented database. Thank you for telling me of the! I'm going to be interested to determine the other solutions you receive.
The greatest problem with large tables is when much data you're FETCHING together with your queries. Good utilisation of the LIMIT clause becomes vital whenever using publish a million row tables (to the stage that by trying to choose the entire factor you'll basically get rid of the server, I made that mistake exactly once).
Between indexes and LIMIT clauses, MySQL tables can be quite performant with large datasets saved, as lengthy while you aren't attempting to access the entire dataset at the same time.
MySQL 5.1 has got the table partitioning feature which could break a table into sections while you describe (in a fundamental level). However, MySQL has whole selection of performance tuning features, you have to be familiar wonderful them to be able to select the right one for every installation.