<div>>> Верно понимаю, что разделяя шардинг в таком стиле, по факту получаем на выходе Key-Value хранилище?</div><div>Если у вас блог-платформа и посты пользователей хранятся в табличке posts, вы можете поднять несколько мастер-серверов и раскидывать между ними посты по user_id. Аналогично комментарии можно раскидывать по post_id.</div>
<div><br></div><div>>> Реляционная модель становится больше не применима(ибо неполна), joint-ы больше не работают, так?</div><div>В общем случае - да, целостность внешних ключей проверять приходится вручную. Делать джоины тоже. С другой стороны, в примере с блог-платформой можно размещать блог и комментарии на одном сервере, тогда будет и целостность и джоины.</div>
<div><br></div><div>>> Тогда может NoSQL?</div><div>В новых приложениях может иметь смысл рассмотреть этот вариант.</div><br><div class="gmail_quote">6 марта 2012 г. 10:02 пользователь Dmitry Karpich <span dir="ltr"><<a href="mailto:meettya@gmail.com">meettya@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Mar 6, 2012, at 1:56 AM, Alexandr Gomoliako wrote:<br>
<br>
> On Mon, Mar 5, 2012 at 3:33 AM, Alexandr Alexeev <<a href="mailto:afiskon@gmail.com">afiskon@gmail.com</a>> wrote:<br>
>> Как я понял, этот модуль представляет собой уровень абстракции над репликами<br>
>> и шардингами. В гугле можно найти упоминания DBIx::DBCluster, но его нет ни<br>
>> на CPAN, ни на metacpan. Не знает ли уважаемый All, что с ним случилось и<br>
>> есть ли ему замена?<br>
><br>
> Шардинг можно за 5 минут сделать самому. Например:<br>
><br>
> # Список нод для шард от 0 до F<br>
> %SHARDS = ( '0' => ['192.168.0.2:8000'], ...  'f' => ['<a href="http://192.168.0.2:8001" target="_blank">192.168.0.2:8001</a>'] );<br>
><br>
> $key = '/hello';<br>
<br>
</div>Я не большой спец в данной теме, но решение выглядит несколько странно.<br>
Такое, в стиле Why?SQL<br>
<br>
Верно понимаю, что разделяя шардинг в таком стиле, по факту получаем на выходе Key-Value хранилище?<br>
Реляционная модель становится больше не применима(ибо неполна), joint-ы больше не работают, так?<br>
<br>
Тогда может NoSQL ?<br>
<br>
Из серии тех, что хорошо делят нагрузку, их ноне немало.<br>
<br>
Или что-то упустил по незнанию?<br>
<div class="HOEnZb"><div class="h5"><br>
> $nodes = $SHARDS{ substr md5_hex($key), 0, 1 };<br>
><br>
> Можно и по репликам сразу распределить, если надо:<br>
><br>
> $node = $nodes->[ hex (substr md5_hex($key), 9, 1) % @$nodes ];<br>
><br>
> Я не думаю, что кто-то осмелится надеяться на чужие модули для этого :)<br>
> Да и о фейловере надо самому заботиться, особенно, если блокирующее<br>
> приложение. Ему же надо как-то узнать, что какая-то нода упала.<br>
> --<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>
<br>
--<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>