Oracle / DB2 имеют лучшую поддержку для разделения на табличные пространства.Я работал с обоими решениями, и когда вы работаете с огромными объемами реляционных данных, наличие поставщика, поддерживающего вас, великолепно.
MySql поддерживает разбиение http://dev.mysql.com/doc/refman/5.1/en/partitioning.html Я никогда не работалнепосредственно с разделением MySql, но это может быть сделано.Есть несколько типов разделов, Hash, вероятно, ваш лучший вариант.Имейте в виду, что кластер MySQL - это несколько версий, стоящих за основным выпуском MySQL.
Другой вариант, в зависимости от уровня приложения, - это использовать что-то вроде осколков Hibernate.По сути, используя алгоритм, ваше приложение направляет запрос в правильную базу данных на основе предоставленного вами определения.
Наконец, всегда есть маршрут NoSQL, если у вас есть опция.Нечто подобное MongoDB / Cassandra создано для больших наборов данных, но вы теряете транзакции ACID.VoltDB поддерживает SQL, и я думаю, что он также поддерживает транзакции ACID.
В целом, если вы не используете NoSQL, я бы сказал, что ваши возможности ограничены «прозрачным» разделением, таким как Oracle / DB2.