Как разделить Mysql через НЕСКОЛЬКО СЕРВЕРОВ?

Если вы хотите учиться, бросаясь в глубокий конец ... DasKeyboard Ultimate заставит вас быстро набрать текст:)

19
задан OMG Ponies 23 October 2009 в 01:38
поделиться

2 ответа

В 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 . Я не уверен, выпускали ли они когда-либо его код, но в их сообщениях в блогах подробно рассказывается о том, что он делает.

Сообщите мне, поможет ли это!

23
ответ дан 30 November 2019 в 04:20
поделиться

Вот что написано при анонсе HSCALE 0.1:

Сейчас нам нужно просто разделиться огромные столы, но позже мы хотим распределить разделы по нескольким Экземпляры сервера MySQL, чтобы иметь реальные горизонтальное масштабирование. Самая тяжелая часть будет иметь дело с транзакциями где мы должны использовать распределенные транзакции (XA) или запретить транзакции с разделами на разные хосты ...

Взгляните на этот проект: http://sourceforge.net/projects/hscale/ возможно он вам подойдет.

0
ответ дан 30 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: