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

Dmitry Karpich meettya на gmail.com
Пн Мар 5 22:02:22 PST 2012


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