[Moscow.pm] Что стало с модулем DBIx::DBCluster?

Alexandr Alexeev afiskon на gmail.com
Пн Мар 5 22:31:39 PST 2012


>> Верно понимаю, что разделяя шардинг в таком стиле, по факту получаем на
выходе Key-Value хранилище?
Если у вас блог-платформа и посты пользователей хранятся в табличке posts,
вы можете поднять несколько мастер-серверов и раскидывать между ними посты
по user_id. Аналогично комментарии можно раскидывать по post_id.

>> Реляционная модель становится больше не применима(ибо неполна), joint-ы
больше не работают, так?
В общем случае - да, целостность внешних ключей проверять приходится
вручную. Делать джоины тоже. С другой стороны, в примере с блог-платформой
можно размещать блог и комментарии на одном сервере, тогда будет и
целостность и джоины.

>> Тогда может NoSQL?
В новых приложениях может иметь смысл рассмотреть этот вариант.

6 марта 2012 г. 10:02 пользователь Dmitry Karpich <meettya на gmail.com>написал:

>
> On Mar 6, 2012, at 1:56 AM, Alexandr Gomoliako wrote:
>
> > On Mon, Mar 5, 2012 at 3:33 AM, Alexandr Alexeev <afiskon на gmail.com>
> wrote:
> >> Как я понял, этот модуль представляет собой уровень абстракции над
> репликами
> >> и шардингами. В гугле можно найти упоминания DBIx::DBCluster, но его
> нет ни
> >> на CPAN, ни на metacpan. Не знает ли уважаемый All, что с ним случилось
> и
> >> есть ли ему замена?
> >
> > Шардинг можно за 5 минут сделать самому. Например:
> >
> > # Список нод для шард от 0 до F
> > %SHARDS = ( '0' => ['192.168.0.2:8000'], ...  'f' => ['192.168.0.2:8001']
> );
> >
> > $key = '/hello';
>
> Я не большой спец в данной теме, но решение выглядит несколько странно.
> Такое, в стиле Why?SQL
>
> Верно понимаю, что разделяя шардинг в таком стиле, по факту получаем на
> выходе Key-Value хранилище?
> Реляционная модель становится больше не применима(ибо неполна), joint-ы
> больше не работают, так?
>
> Тогда может NoSQL ?
>
> Из серии тех, что хорошо делят нагрузку, их ноне немало.
>
> Или что-то упустил по незнанию?
>
> > $nodes = $SHARDS{ substr md5_hex($key), 0, 1 };
> >
> > Можно и по репликам сразу распределить, если надо:
> >
> > $node = $nodes->[ hex (substr md5_hex($key), 9, 1) % @$nodes ];
> >
> > Я не думаю, что кто-то осмелится надеяться на чужие модули для этого :)
> > Да и о фейловере надо самому заботиться, особенно, если блокирующее
> > приложение. Ему же надо как-то узнать, что какая-то нода упала.
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
С уважением, Александр
Личный блог: http://eax.me/
Мой форум: http://it-talk.org/
Мой Twitter: http://twitter.com/afiskon
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20120306/0dc8ce00/attachment.html>


Подробная информация о списке рассылки Moscow-pm