[Moscow.pm] Что стало с модулем DBIx::DBCluster?
Alexandr Gomoliako
zzz на zzz.org.ua
Ср Мар 7 17:44:22 PST 2012
On 3/8/12, Ruslan Zakirov <ruz at bestpractical.com> wrote:
> Какие-то оценки у вас странные. Откусили блок в Х ключей и
> переместили, если необходимость перенести быстрее. Кто сказал, что
> нужно ввести ноду за пять минут. Пять дней тоже нормально.
Нужно ввести ноду за 0 минут, за пять дней может и конец света наступить :)
Но вообще правило примерно такое: новая копия должна создаваться
быстрее, чем время между отказами дисков/появлением бэдблоков с учетом
каскадных отказов, иначе данные будут теряться.
Вот тут можно почитать подробнее:
http://pdos.csail.mit.edu/papers/carbonite:nsdi06/
> Из вашего примера было сложно понять, что у вас изначально шард больше
> чем нод и количество шард статичное.
>
> Это плюс. Шарды у вас просто в разных БД на одном инстансе СУБД?
Шарды там, где вам удобно :) Хотите, можно приписывать в имена таблиц,
а можно и просто назвать базу по имени шарды.
> Что делать, когда шард станет меньше чем нод? Или шард просто ну очень
> много?
Да, их очень, заранее берется побольше. Например, если начинаете с 1-й
ноды (сервера) и хотите вырасти в 100 раз, то берите сразу 2 hex
буквы, т.е. 256 шард.
> Блокировки все равно нужны для переноса шард между нодами.
Это если не использовать никакую распределнную модель хранения данных.
> Как это связано с разбиением данных по шардам и нодам? Не вижу супер
> прямой связи. Если только вы не реплицируете данные больше одного раза
> и не разбрасываете их по различным шардам.
А как это может быть без нескольких реплик? Потеряли данные и забыли? :)
Или упал мастер ну и пусть, подождем, пока суппорт починит и вернет?
За это время большие шансы потерять данные и те что есть.
Подробная информация о списке рассылки Moscow-pm