Если вы хотите учиться, бросаясь в глубокий конец ... DasKeyboard Ultimate заставит вас быстро набрать текст:)
В MySQL люди обычно делают то, что называется шардингом на основе приложений .
Вкратце, у вас будет такая же структура базы данных на нескольких серверах баз данных. Но он не будет содержать те же данные.
Так, например:
Users 1 - 10000: server A
Users 10001 - 20000: server B
Шардинг (конечно) не является методом резервного копирования, он предназначен для распределения операций чтения и записи по кластеру.
Для шардирования используются следующие методы. MySQL-Proxy, например. Это не то, что изобрел HScale, это более или менее простой сценарий LUA, который распределяет операции чтения и записи на разные серверы. Примеров MySQL forge должно быть много.
Другой инструмент (основанный на MySQL Proxy) - SpockProxy . Полностью адаптирован к шардингу. Они также избавились от Lua, и они работали над разными вещами, чтобы сделать его быстрее, чем прокси. Пока я только тестировал SpockProxy, но никогда не запускал его в продакшене.
Теперь, помимо этих прокси, вы также можете осколить себя. Требуется главная таблица, например:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Затем сконструируйте свои операции чтения и записи на сервер. Не очень красиво, но это работает. Следующим препятствием было бы сделать его более опасным. Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
Я только тестировал SpockProxy, но никогда не запускал его в продакшене.Теперь, помимо этих прокси, вы также можете сегментировать себя. Обязательной будет главная таблица, например:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Затем создайте свои операции чтения и записи на сервер. Не очень красиво, но это работает. Следующим препятствием было бы сделать его более опасным. Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
Я только тестировал SpockProxy, но никогда не запускал его в производственной среде.Теперь, помимо этих прокси, вы также можете сегментировать себя. Требуется главная таблица, например:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Затем сконструируйте свои операции чтения и записи на сервер. Не очень красиво, но это работает. Следующим препятствием было бы сделать его более опасным. Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
вы также можете осколить себя. Требуется главная таблица, например:-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Затем сконструируйте свои операции чтения и записи на сервер. Не очень красиво, но это работает. Следующим препятствием было бы сделать его более опасным. Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
вы также можете осколить себя. Обязательной будет главная таблица, например:-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Затем создайте свои операции чтения и записи на сервер. Не очень красиво, но это работает. Следующим препятствием было бы сделать его более опасным. Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
Так, например, server1
, server2
и server3
каждый должен быть небольшим кластером.
И, наконец, что не менее важно, еще один интересный подход к разделению данных и индексы на серверах - это Digg IDDB . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.
Сообщите мне, поможет ли это!
Вот что написано при анонсе HSCALE 0.1:
Сейчас нам нужно просто разделиться огромные столы, но позже мы хотим распределить разделы по нескольким Экземпляры сервера MySQL, чтобы иметь реальные горизонтальное масштабирование. Самая тяжелая часть будет иметь дело с транзакциями где мы должны использовать распределенные транзакции (XA) или запретить транзакции с разделами на разные хосты ...
Взгляните на этот проект: http://sourceforge.net/projects/hscale/ возможно он вам подойдет.