Комментарии 5
Павел, Михаил, спасибо! Ждём с нетерпением следующие части! ^_^
Спасибо. Отличная статья с понятными описаниями плюсов и минусов решений. С нетерпением жду следующей части.
Почему мультимастер в Postgres актуален ? - даже Сбербанк начал использовать Oracle Real Application Cluster только в 2014-м году. И то, не совсем честный - узлы кластера имели свою специализацию: https://coolfinans.ru/news/perekhod_na_orac_kart_sberbanka/2014-12-10-129
Или PostgreSQL технически слабее Oracle из-за чего алгоритмические недостатки требуется компенсировать горизонтальным масштабированием.
Исходя из моего опыта - особо не актуален. Большинство задач можно решить просто создав еще виртуалок с новыми "шардами", а сам шардинг реализовать на уровне приклада. Примерно так работает СбербанкОнлайн.
Имхо все подобные разработки - результат ретроградного мышления ряда заказчиков, которые требуют, чтоб было непременно "как в оракле". Со временем пройдет, я думаю...
Шардирование, как и секционирование нарушают идею реляционной базы данных. В результате теряется ссылочная целостность; нельзя просто sql-запросом получить все данные; появляется необходимость в распределенных транзакциях. Это сильно усложняет разработку, по сравнению с тем, что было в Oracle.
Единственное, можно делать readonly-реплики для горизонтального масштабирования. При этом архитектура системы практически не усложняется, но есть некоторые нюансы, такие как ограничение времени работы запросов и лаг в обновлении данных.
Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1