Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Partition columns in MySQL are not limited to primary keys. In fact, a partition column does not have to be a key at all (though one will be created for it transparently). You can partition by RANGE, HASH, KEY and LIST (which is similar to RANGE only that it is a set of discrete values). Read the MySQL manual for <a href="http://dev.mysql.com/doc/refman/5.1/en/partitioning-types.html" rel="nofollow noreferrer">an overview</a> of partioning types.</p> <p>There are alternative solutions such as <a href="http://www.hscale.org/display/HSCALE/Home" rel="nofollow noreferrer">HScale</a> - a middleware plug-in that transparently partitions tables based on certain criteria. <a href="http://www.hivedb.org/" rel="nofollow noreferrer">HiveDB</a> is an open-source framework for horizontal partioning for MySQL.</p> <p>In addition to sharding and partioning you should employ some sort of clustering. The simplest setup is a replication based setup that helps you spread the load over several physical servers. You should also consider more advanced clustering solutions such as MySQL cluster (probably not an option due to the size of your database) and clustering middleware such as <a href="http://community.continuent.com/community/sequoia" rel="nofollow noreferrer">Sequioa</a>. </p> <p>I actually asked a relevant question regarding <a href="https://stackoverflow.com/questions/189903/scaling-solutions-for-mysql-replication-clustering">scaling with MySQL</a> here on stack-overflow some time ago, which I ended up answering myself several days later after collecting a lot of information on the subject. Might be relevant for you as well.</p>
 

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