> Допустим, у вас шарды от 0 до 7 на ноде1, а шарды от 8 до F на ноде2 и > у вас появились нода3 и нода4. Берете тупо копируете шарды 4 .. 7 в > ноду3, а шарды C .. F в ноду4
Значит вы все-таки говорите о динамическом распределении данных, а не статическом? Тогда да, решается проблема с добавлением новых нод (не только увеличение их числа в два раза) и даже перераспределения нагрузки между нодами, если, к примеру, на нодах используется разное железо. > Это пятименутное решение проверено пол планетой. Потому и странно, что нет готовой абстракции. Но я начинаю догадываться, что не там ищу - нужно смотреть в сторону MySQL Proxy и тп. Кстати, раз уж я поднял этот вопрос. Скажите, граждане, а как у половины планеты принято переносить данные между нодами, сохраняя работоспособность приложения? Есть ли способ сделать это, не лишая приложение даже небольшой части функционала? 6 марта 2012 г. 6:11 пользователь Alexandr Gomoliako <[email protected]>написал: > On Tue, Mar 6, 2012 at 3:30 AM, Alexandr Alexeev <[email protected]> > wrote: > > А как Вы добавите в ваш шардинг новые ноды? > > Это не мой шардинг. > > Допустим, у вас шарды от 0 до 7 на ноде1, а шарды от 8 до F на ноде2 и > у вас появились нода3 и нода4. Берете тупо копируете шарды 4 .. 7 в > ноду3, а шарды C .. F в ноду4. Все. > Если собираетесь расти очень сильно, то берите побольше шард сразу, > например 256 (00 .. FF) или 4096 (000 ... FFF). > > Для баз данных можно использовать имя шарды как префикс имен таблиц, > чтобы их можно было физически копировать. > > > Что будите делать, если нагрузка > > на одну из нод окажется существенно больше нагрузки на любую другую? > > Вы для того и распределяете по ключам, чтобы этого не случилось. > > > Вот поэтому я не доверяю очевидным пятиминутным решениям, сделанным > > самостоятельно, и ищу готовые, проверенные временем. Конечно, если такие > > есть. > > Это пятименутное решение проверено пол планетой. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- С уважением, Александр Личный блог: http://eax.me/ Мой форум: http://it-talk.org/ Мой Twitter: http://twitter.com/afiskon
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
