Download - Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва
![Page 1: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/1.jpg)
Быстрый и простой способ шардирования MySQLс помощью CUBRID SHARD
Эсен Сагынов22 апреля 2013 г.
![Page 2: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/2.jpg)
2
План на сегодня
1. Об NHN2. Шардирование в производственных средах3. Почему CUBRID SHARD4. Как шардировать базы данных MySQL5. Демо6. CUBRID SHARD в Ndrive
![Page 3: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/3.jpg)
Обо мне3
• Эсен Сагынов (NHN Corp.)
– @CUBRID– fb.com/cubrid
![Page 4: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/4.jpg)
30,000+Веб серверов
Япония
США
Корея
Китай 150+ Веб сервисов
Об NHN
Вьетнам
Сингапур
![Page 5: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/5.jpg)
Шардирование в производстве
• Использует реляционное СУБД с шардированием• Данные хранятся в виде ключ-значение
• Использует реляционное СУБД с шардированием• Шардирование и репликация абстрагированы с помощью Gizzard
• Использует реляционное СУБД с шардированием• Использование Hbase ограничено
• Использует реляционное СУБД с шардированием• Кэширование данных различными путями
• Использует реляционное СУБД с шардированием• ACID – главная причина выбора реляционного СУБД
• Использует реляционное СУБД с шардированием• Легче всего реализовать. Больше всего подходит их нуждам.
• Использует реляционное СУБД с шардированием и высокой доступностью
• Главная причина - согласованность и связь между данными
![Page 6: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/6.jpg)
Существующие решения шардирования
Название Тип Требования Интерфейс
СУБД Другие
Hibernate shards Фреймворк, библиотекаСУБД с поддержкой Hibernate
- Hibernate- JVM Java
HiveDB Фреймворк, библиотека MySQL - Hibernate- JVM Java
dbShards Промежуточное ПО ибиблиотека MySQL Java, C, PHP,
Python, Ruby
Gizzard (Twitter) Промежуточное ПО Любая - JVM Java
Spider for MySQL Промежуточное ПО и хранилище для MySQL MySQL Любой
Spock Proxy Промежуточное ПО MySQL Любой
Shard-Query Промежуточное ПО MySQL PHP, RESTful API
CUBRID SHARD Промежуточное ПО - CUBRID- MySQL Любой
![Page 7: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/7.jpg)
Категории решений шардирования
• Библиотека• Хранилище• Тяжеловесное промежуточное ПО• Легковесное промежуточное ПО
![Page 8: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/8.jpg)
8
Библиотеки и хранилища
Библиотеки• Hibernate Shards• HiveDB
Недостатки• Требует библиотеку Hibernate/Java• Конфигурация с помощью многих XML
файлов• Не для действующих сервисов
Хранилища• Spider for MySQL
Недостатки• Требует изменения
хранилища• Не для действующих
сервисов
![Page 9: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/9.jpg)
9
Тяжеловесные промежуточные ПО
dbShards Gizzard• Требует изменения кода
приложения• Необходимо установить агентов на
каждый сервер СУБД• Не для действующих сервисов
• Неактивный
![Page 10: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/10.jpg)
10
Легковесное промежуточное ПО
• Spock Proxy– Активный проект– Легковесный– Гибкий– Легко
настраиваемый– Не требует
изменения кода приложения
![Page 11: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/11.jpg)
11
Spock Proxy
Spock ProxyХранилище для конфигураций шардирования
База данных MySQL
Правила шардирования По модулюОпределение ключа шарда Полный разбор SQLПреимущества Не требует изменения кода программыНедостатки • Деградация производительности:
• Дополнительный разбор SQL• Слияние результатов
• Поддерживает не весь SQL синтаксис MySQL
• Однопоточный
Блог: http://www.cubrid.org/blog/dev-platform/database-sharding-platform-at-nhn/
![Page 12: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/12.jpg)
12
Производительность Spock Proxy
• Однопоточный• Разбирает и переписывает SQL
1 5 10 20 30 50 70 100 200 4000
50000100000150000200000250000300000350000400000450000500000
Шардинг на уровне приложенияSpock ProxyCUBRID SHARD
Параллельные клиенты
Время выполнения
![Page 13: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/13.jpg)
Spock Proxy
Активный проект Легковесный Гибкий Легко настраиваемый Не требует изменения кода программы✕Ведет к деградации производительности
![Page 14: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/14.jpg)
14
Легковесное и легко настраиваемоепромежуточное ПО для шардирования MySQL
CUBRID SHARD
![Page 15: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/15.jpg)
15
Spock Proxy и CUBRID SHARD
Spock Proxy CUBRID SHARD
Хранилище для конфигураций
База данных MySQL Конфигурационный файл
Правила шардирования
По модулю • По модулю• Хэш-функции пользователя
Определения ключа шарда
Полный разбор SQL Поиск SQL подсказки
Преимущества• Не требует изменения
программы
Недостатки• Деградация
производительности:• Дополнительный
разбор SQL• Слияние результатов
• Поддерживает только MySQL• Поддерживает не весь SQL
синтаксис MySQL• Однопоточный
Преимущества• Поддерживает CUBRID и MySQL• Полная поддержка MySQL синтаксиса• Высокая производительность
• Нет разбора SQL• Многопоточность• Пул соединения• Балансировка нагрузки
• Пользовательские правила шардирования• Легкость конфигураций
Недостатки• Требует изменения SQL запросов для
вставки SQL подсказок
Блог: http://www.cubrid.org/blog/dev-platform/database-sharding-platform-at-nhn/
![Page 16: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/16.jpg)
Факты о CUBRID
Реляционное СУБД ПО с открытым кодом (www.cubrid.org) Оптимизирован для веб сервисов Высокая производительность Поддержка больших баз данных Высокая доступность Шардирование баз данных Более 90% совместимости с синтаксисом MySQL, а также
аналитические функции Oracle ACID транзакции Онлайн резервное копирование Разрабатывается NHN Corp.
![Page 17: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/17.jpg)
SHARD Брокер
Архитектура CUBRID SHARD
APIC, JDBC, ADO.NET, OLEDB, ODBC,PHP, Perl, Python, Ruby, Node.js
BrokerCAS
CAS for MYSQL
CAS
…
Proxy
CAS for MYSQL
…
CUBRID
сервер
…
ШардыMySQL
сервер
CUBRID
сервер
…
MySQL
сервер
Единое представление базы данных
или
![Page 18: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/18.jpg)
Шардированная среда
APIC, JDBC, ADO.NET, OLEDB, ODBC,PHP, Perl, Python, Ruby, Node.js
SHARD Брокер 1
…
ШардыMySQ
L серве
р 3
MySQL
сервер N
SHARD Брокер N
SHARD Брокер 2
…
MySQL
сервер 1
MySQL
сервер 2
……
![Page 19: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/19.jpg)
Установить CUBRID SHARD очень легко!
![Page 20: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/20.jpg)
Легкая установка
http://www.cubrid.org/downloads
apt-getyumchef ⭐VM
EC2 AMIcloud service
Страница в документации: http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions
![Page 21: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/21.jpg)
Настройка очень легкая и интуитивная!
![Page 22: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/22.jpg)
23
Шаги конфигурирования
1. Создать шарды2. Добавить пользователей в шарды3. Создать единую схему в шардах4. Настроить CUBRID SHARD
– Информацию о единой шардированной базе данных, к которой подключается клиент
– Информацию о подключениях к шардам– Правила шардирования
5. Запустить CUBRID SHARD6. Изменить код программы
– URL подключения– SQL подсказки шард #0 шард #1 шард #2 шард #N
CUBRID SHARD
Клиентское приложение
![Page 23: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/23.jpg)
# 1. Создать шарды
• Хост 1..N:
$> mysql –ushard -ppassword –hnode1mysql> CREATE DATABASE sharddb;
![Page 24: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/24.jpg)
# 2. Добавить пользователей
• Хост 1..N:
$> mysql –ushard -ppassword –hnode1mysql> USE mysql;mysql> GRANT ALL PRIVILEGES ON sharddb@localhost TO shard@localhost IDENTIFIED BY ‘shard123’mysql> GRANT ALL PRIVILEGES ON sharddb@localhost TO shard@shardBrokerNode IDENTIFIED BY ‘shard123’
![Page 25: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/25.jpg)
# 3. Создать единую схему
$> mysql –ushard -ppassword –hnode1mysql> USE sharddb;mysql> CREATE TABLE tbl_users (id BIGINT PRIMARY KEY, name VARCHAR(20), age SMALLINT)
$> mysql –ushard -ppassword –hnode2…
• Хост 1..N:
![Page 26: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/26.jpg)
# 4. Легкая настройка
• shard.conf– Основной файл для конфигурации CUBRID SHARD.
• shard_connection.txt– Список шард ID (shard_id) с названиями баз
данных и хостов, к которым указывает тот или иной шард ID.
• shard_keys.txt– Список названий колонок шардированной
таблицы с их правилами шардирования.
Страница в документации: http://www.cubrid.org/manual/91/en/shard.html#configuration-and-setup
![Page 27: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/27.jpg)
shard.conf
Задать:1. SHARD_DB_NAME2. SHARD_DB_USER3. SHARD_DB_PASSWORD4. APPL_SERVER
…SHARD_DB_NAME = sharddbSHARD_DB_USER = shardSHARD_DB_PASSWORD = shard123APPL_SERVER = CAS_MYSQL…
Страница в документации: http://www.cubrid.org/manual/91/en/shard.html#default-configuration-file-shard-conf
![Page 28: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/28.jpg)
shard_connection.txt
Задать:1. Шард ID2. Настоящее имя базы данных на хосте3. Название удаленного/локального хоста
# shard-id real-db-name connection-info0 sharddb mysqlA:33061 sharddb mysqlB:33062 sharddb mysqlC:3306…
** Название хостов обязательно должно быть идентичным выводу команды hostname на каждом из хостов.
Страница в документации: http://www.cubrid.org/manual/91/en/shard.html#setting-shard-metadata
![Page 29: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/29.jpg)
shard_keys.txt
Задать:1. Нижний предел шард ключа2. Верхний предел шард ключа3. Шард ID
[%student_no]# min max shard_id0 63 064 127 1128 191 2192 255 3
** По умолчанию правило шардирования - по модулю 256 (SHARD_KEY_MODULAR в shard.conf ).
Страница в документации: http://www.cubrid.org/manual/91/en/shard.html#setting-shard-metadata
![Page 30: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/30.jpg)
Пользовательская библиотека
int fn_shard_key_udf(int type, void *val){ int mod = 2;
if (val == NULL) {
return ERROR_ON_ARGUMENT; }
switch(type) {
case SHARD_U_TYPE_INT:{ int ival; ival = (int) (*(int *)val); return ival % 2;} break;case SHARD_U_TYPE_STRING: return ERROR_ON_MAKE_SHARD_KEY;default: return ERROR_ON_ARGUMENT;
} return ERROR_ON_MAKE_SHARD_KEY;}
shard.conf1. SHARD_KEY_LIBRARY_NAME2. SHARD_KEY_FUNCTION_NAME
[%student_no]SHARD_KEY_LIBRARY_NAME=$CUBRID/conf/shard_key_udf.soSHARD_KEY_FUNCTION_NAME =fn_shard_key_udf
Страница в документации: http://www.cubrid.org/manual/91/en/shard.html#setting-user-defined-hash-function
![Page 31: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/31.jpg)
# 5. Запустить CUBRID SHARD
$> cubrid shard start@ cubrid shard start ++cubrid shard start: success
![Page 32: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/32.jpg)
пользователь пароль
# 6. URL подключения
connectionURL ="jdbc:cubrid:node1:45511:sharddb:shard:shard123:
?althosts=node2:port2,node3:port3
&loadBalance=true";
название шард базы
порт CUBRID SHARD
Список альтернативных хостов для отказоустойчи-вости науровне API
балансировканагрузки науровне API
хост
![Page 33: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/33.jpg)
Шардированные запросы
SELECT name FROM student WHERE student_no = /*+ shard_key */ ?;
SQL подсказкаключевая шардированная колонка
• связанная переменная
• фиксированное значение
![Page 34: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/34.jpg)
Типы SQL подсказок
SQL подсказки Описание
/*+ shard_key */ Подсказка, которая указывает на: - связанную переменную - или фиксированное значениеключевой шардированной колонки.
/*+ shard_val(value) */
Подсказка для явного указания значения ключевой шардированной колонки, на случай если в запросе не указана сама ключевая колонка.
/*+ shard_id(shard_id) */
Подсказка для непосредственно указания шард ID, на котором должен обрабатываться этот запрос.
![Page 35: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/35.jpg)
String query = "SELECT name FROM student WHERE student_no = /*+ shard_key */ ?; ";PrepareStatement query_stmt = connection.prepareStatement(query);query_stmt.setInt(1,100);ResultSet rs = query_stmt.executeQuery();// получить результат
2. Поиск SQL подсказки3. Хеширование shard_key
для получения шард ID4. Передача запроса безизменения конечномушард серверу.
CUBRID
SHARD
шард #0 шард #1 шард #2 шард #3
key_columnrange
(hash result) shard_idmin max
student_no 0 63 0
student_no 64 127 1
student_no 128 191 2
student_no 192 255 3
Выборка шард сервера
1. Выполнение запросаКлиентское приложение
![Page 36: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/36.jpg)
MySQL Sharding DEMO
Требования:
• 1ГБ свободного RAM• 3ГБ свободного места для 2 VM• VirtualBox• Vagrant
![Page 37: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/37.jpg)
39
MySQL Sharding DEMO
https://github.com/kadishmal/cubrid-shard-demo
![Page 38: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/38.jpg)
CUBRID SHARD
• Легко– Конфигурация без хлопот!– Без сюрпризов
• Надежный– Высокая производительность– Нет SPOF
• Open source– Разрабатывается NHN Corp.
![Page 39: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/39.jpg)
Недостатки CUBRID SHARD
Необходимо вставлять SQL подсказку во все запросы
Пока нет автоматической балансировки данныхЧто требует тщательного планирования стратегии
шардирования.Нет графического инструмента для
мониторинга. Только инструменты для командной строки.
![Page 40: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/40.jpg)
43
CUBRID SHARD лучше всего подойдет…
• для действующих Веб сервисов• с быстрорастущим объемом данных,• которым необходим стабильное решение• с возможностью легкой настройки• в рамках ограниченного времени
![Page 41: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/41.jpg)
44
Облачное хранилище Ndrive
• Мета данные файлов пользователей• Шардирование по ID пользователя• 24 мастер шардов– Intel(R) Xeon(R) L5640 @ 2.27GHz * 8, 16G RAM, 820G HDD
• 10ТБ данных• Характеристика нагрузки:– 75~80% SELECT vs. 20~25% INSERT– Avg. ~3000 QPS/шард– Avg. ~5% CPU нагрузки на шард
![Page 42: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/42.jpg)
45
Облачное хранилище Ndrive
• 1 SHARD Брокер• 4 Прокси на Брокер• 50 CAS на Прокси
• Нет деградации производительности после установки CUBRID SHARD
64 128 192 256 3200
10
20
30
40
50
60
70
80
90
0
2000
4000
6000
8000
10000
12000
14000
16000
Сравнение производительности SHARD vs. Broker
Broker - broker cpuShard - proxy CPUBroker - Mean Time(ms)Shard - Mean Time(ms)Broker - RPSShard - RPS
Vuser
RP
S
![Page 43: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/43.jpg)
CUBRID SHARD Next
Балансировка данныхМониторинг шардовФункции агрегации
![Page 44: Быстрый и простой способ шардирования MySQL с помощью CUBRID SHARD - 2013 RIT++, Москва](https://reader031.vdocuments.mx/reader031/viewer/2022020105/555e0e64d8b42a99188b4d51/html5/thumbnails/44.jpg)
47
Спасибо!
• Сагынов Эсен (NHN Corp.)
– @CUBRID– fb.com/cubrid