<div>> Допустим, у вас шарды от 0 до 7 на ноде1, а шарды от 8 до F на ноде2 и</div><div>> у вас появились нода3 и нода4. Берете тупо копируете шарды 4 .. 7 в<br></div><div>> ноду3, а шарды C .. F в ноду4<br></div>
<div><br></div><div>Значит вы все-таки говорите о динамическом распределении данных, а не статическом? Тогда да, решается проблема с добавлением новых нод (не только увеличение их числа в два раза) и даже перераспределения нагрузки между нодами, если, к примеру, на нодах используется разное железо.</div>
<div><br></div><div>> Это пятименутное решение проверено пол планетой.</div><div><br></div><div>Потому и странно, что нет готовой абстракции. Но я начинаю догадываться, что не там ищу - нужно смотреть в сторону MySQL Proxy и тп.</div>
<div><br></div><div>Кстати, раз уж я поднял этот вопрос. Скажите, граждане, а как у половины планеты принято переносить данные между нодами, сохраняя работоспособность приложения? Есть ли способ сделать это, не лишая приложение даже небольшой части функционала?</div>
<br><div class="gmail_quote">6 марта 2012 г. 6:11 пользователь Alexandr Gomoliako <span dir="ltr"><<a href="mailto:zzz@zzz.org.ua">zzz@zzz.org.ua</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Tue, Mar 6, 2012 at 3:30 AM, Alexandr Alexeev <<a href="mailto:afiskon@gmail.com">afiskon@gmail.com</a>> wrote:<br>
> А как Вы добавите в ваш шардинг новые ноды?<br>
<br>
</div>Это не мой шардинг.<br>
<br>
Допустим, у вас шарды от 0 до 7 на ноде1, а шарды от 8 до F на ноде2 и<br>
у вас появились нода3 и нода4. Берете тупо копируете шарды 4 .. 7 в<br>
ноду3, а шарды C .. F в ноду4. Все.<br>
Если собираетесь расти очень сильно, то берите побольше шард сразу,<br>
например 256 (00 .. FF) или 4096 (000 ... FFF).<br>
<br>
Для баз данных можно использовать имя шарды как префикс имен таблиц,<br>
чтобы их можно было физически копировать.<br>
<div class="im"><br>
> Что будите делать, если нагрузка<br>
> на одну из нод окажется существенно больше нагрузки на любую другую?<br>
<br>
</div>Вы для того и распределяете по ключам, чтобы этого не случилось.<br>
<div class="im"><br>
> Вот поэтому я не доверяю очевидным пятиминутным решениям, сделанным<br>
> самостоятельно, и ищу готовые, проверенные временем. Конечно, если такие<br>
> есть.<br>
<br>
</div>Это пятименутное решение проверено пол планетой.<br>
<div class="HOEnZb"><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>С уважением, Александр<br>Личный блог: <a href="http://eax.me/" target="_blank">http://eax.me/</a><br>Мой форум: <a href="http://it-talk.org/" target="_blank">http://it-talk.org/</a><br>
Мой Twitter: <a href="http://twitter.com/afiskon" target="_blank">http://twitter.com/afiskon</a><br><br>