Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да разделя Mysql между МНОГО СЪРВЪРА?

С MySQL хората обикновено правят това, което се нарича базирано на приложение шардиране .

Накратко, ще имате същата структура на базата данни на множество сървъри за бази данни. Но няма да съдържа същите данни.

Така например:

Users 1 - 10000: server A
Users 10001 - 20000: server B

Разделянето (разбира се) не е техника за архивиране, а е предназначено да разпределя четене и запис в клъстер.

Техниките, използвани за шард, са например MySQL-Proxy. Това не е нищо, което HScale е измислил, това е повече или по-малко прост LUA скрипт, който разпределя четене и запис на различни сървъри в задната част. Трябва да има много примери в MySQL ковачницата.

Друг инструмент (базиран на MySQL Proxy) е SpockProxy . Напълно съобразен за раздробяване. Те също така се отърваха от Lua и работиха върху различни неща, за да го направят по-бърз от проксито. Досега тествах само SpockProxy, но никога не го пусках в производство.

Сега освен тези прокси сървъри, можете да разделите и себе си. Задължителна би била главна таблица, напр.:

-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------

След това изградете своите четения и записвания към сървъра. Не е много красиво, но работи. Следващото препятствие би било да го направим по-слабо толерантен. Така например, server1 , server2 и server3 всеки трябва да е малък клъстер.

И не на последно място, друг интересен подход към разделяне на данни и индекси между сървъри е IDDB . Не съм сигурен дали някога са пускали кода му, но публикациите в блога им дават страхотни подробности за това какво прави.

Кажете ми, ако това помогне!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Управление на потребителски акаунти, роли, разрешения, удостоверяване PHP и MySQL - част 6

  2. Преобразуване на число в дума в Mysql

  3. Как да импортирам дъмп на mysql, докато преименуваш някои таблици/колони и изобщо не импортираш други?

  4. Изпълняване на mySQL заявка като cron работа?

  5. Архивиране на таблица с колона GEOMETRY с помощта на mysqldump?