Идеальный шардинг

May 07, 2014 19:55

Disclaimer: людям, не знакомым с понятием СУБД дальше лучше не читать ( Read more... )

программирование, базы данных, riak, rethinkdb

Leave a comment

Comments 11

cbetka May 7 2014, 18:00:44 UTC
поэма :)

Reply


amarao_san May 7 2014, 18:34:17 UTC
В ceph'е что-то подобное.

Вопрос: а что будет, если будет решардинг, а какой-то клиент будет пользоваться старой таблицей с меньшим числом шард?

Reply

angry_elf May 7 2014, 19:20:56 UTC
Решардинг, если по хорошему, это процесс появления шарды (одной или нескольких её частей) в новом месте с последующим удалением шарды из старого места. Т.е. по определению, шарда должна быть доступна в любой момент этого процесса.

Если клиент воспользовался старой таблицей и шарды уже нет на том месте, то 404, видимо. Можно облегчить ему участь и попробовать поискать нужную шарду на той ноде, куда он попал (шанс, что там более новая таблица роутинга, достаточно велик), т.е. редирект на следущую ноду и так далее, до исчерпания TTL (как и в обычном роутинге).

Reply

amarao_san May 7 2014, 19:34:56 UTC
404 не выглядит как availability...

Reply

angry_elf May 8 2014, 09:40:09 UTC
Ну если данных в кластере нет вообще, то что кроме 404 отдавать? А если есть, то метод я описал.

Reply


slach May 14 2014, 10:07:22 UTC
По моему в Vertica как раз концепция подобного решардинга реализована, если интересно посмотрите... может и велосипед не придется изобретать

Reply

angry_elf May 16 2014, 20:27:44 UTC
Я не готов пока к column-based хранилищам, key-value со сложными индексами мне пока ближе.

Ну и в Vertica проблема, что за энтерпрайзом не разглядеть ничего. Дальше маркетолухных прессрелизов на их сайте пробраться не удалось. Видимо, я пока не готов к настолько Big Data :)

Reply


Leave a comment

Up