password — хост-сервер MySQL, логин и пароль;
host — вес (весовой коэффициент) для чтения из библиотеки; dataBase — имя хоста базы данных; dataBase -> name — название базы данных на узле, соответствует dataBase -> host; dataBase -> maxOpenConns — максимальное количество подключений к базе данных, по умолчанию 16; dataBase -> maxIdleConns — максимально допустимое количество незанятых подключений к базе данных, по умолчанию 4; dataBase -> maxIdleTime — максимальное время простоя подключения к базе данных (в секундах), по умолчанию 60.
Добавить две логические базы данных: db1, test_1; В db1 добавить три логических таблицы: dealer_info, cash_record, api_log;
<schema>
<dataBase name="db1" proxyDataBase="lb_ss" blacklistSql="blacklist/db1.sql">
<!-- rule: hash | range | date_month | date_day -->
<table name="dealer_info" ruleKey="id" rule="rang_1" createSql="dealer_info.sql"/>
<table name="cash_record" ruleKey="add_time" rule="rang_2" createSql="cash_record.sql"/>
<table name="api_log" ruleKey="id" rule="hash_1" createSql="api_log.sql"/>
</dataBase>
<!-- 直接代理 -->
<dataBase name="test_1" proxyDataBase="test"/>
</schema>
Параметры: — dataBase — логическая база данных; — dataBase -> name — уникальное имя базы данных Myhub; — dataBase -> proxyDataBase — имя прокси-базы данных узла; — dataBase -> blacklistSql — SQL-оператор чёрного списка, значением может быть путь к файлу SQL. Несколько операторов SQL разделяются символом «;», «?» обозначает подстановочный знак, например delete from user where id = ?; — table — логическая таблица; — table -> name — имя таблицы (уникальное); — table -> ruleKey — поле, от которого зависит разделение таблицы; — table -> rule — правило разделения таблицы, см. правила; — table -> createSql — оператор SQL для автоматического создания разделения таблицы, значением также может быть путь к файлу SQL.
Myhub в настоящее время поддерживает три правила разделения:
<rules>
<rule name="rang_1" ruleType="range" format="%04d">
<!-- tableRowLimit : 2d,m,y,h-->
<shard nodeDataBase="test" rowLimit="10000" between="1-8" />
<shard nodeDataBase="shard_01" rowLimit="10000" between="8-10" />
</rule>
<rule name="rang_2" ruleType="date" format="ym">
<!-- tableRowLimit : 2d,m,y,h-->
<shard nodeDataBase="test" rowLimit="1m" between="201801-201901" />
</rule>
<!-- 'maxLen' represents the count of hash shard total, default 1024 -->
<rule name="hash_1" ruleType="hash" format="%04d" maxLen = "12">
<!-- 'rowLimit' represents every shard table continuous rows count split by 'ruleKey', default 1;
'between' represents the hash mod value range. ex:'between="0-3",ruleKey's value is 10,
and 'maxlen'= 10, 10%3 = 1,it menas in the between 0-3 -->
<shard nodeDataBase="test" rowLimit="2" between="0-6" />
<shard nodeDataBase="shard_01" rowLimit="2" between="6-12" />
</rule>
</rules>
Параметры: — rule — правило; — name (обязательно) — имя правила, которое будет использоваться в конфигурации логической библиотеки таблиц; — ruleType (обязательно) — правило разделения [range|hash|date]; — format (необязательно) — суффикс имени автоматически созданной таблицы. (1. Если правило разделения — range или hash, формат — %d, например: format = "%04d", созданное имя таблицы — table_0001; (2. Если правило разделения — date, формат — [y|m|d], который может быть комбинацией, например: формат = "ym", созданное имя таблицы — table_201805; — maxLen (необязательно) — используется только в правиле hash, представляет собой модуль числа в операции по модулю; — shard — правило разделения; — shard -> nodeDataBase — имя базы данных узла, соответствующее конфигурации узла dataBase -> name; — shard -> rowLimit — ограничение количества строк для каждой разделяемой таблицы, конкретное значение для каждого правила разделения следующее: (1. range — количество строк для каждой разделённой таблицы, значение — числовое; (2. date — количество строк, разделённых по времени, значение — числовое или комбинация [y|m|d]; (3. hash — остаток от деления количества строк на модуль, значение — числовое. Например, rowLimit = "2", 10 % 0 и 10 % 1 находятся в одной таблице; — shard -> between — диапазон ограничения данных в узле.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )