Так как все говорят про репликацию, это правильно и красиво... выдам свой необычный вариант (бывают случаи, когда это оправдано).
Можно вместо синхронизации данных (все всё знают) и получения проблем из-за этого (например когда обновлений много, передача данных всем занимает время, появляются лаги), можно наоборот, полностью отказаться от синхронизации данных, но запросы получения данных отправлять сразу на все узлы (потребует значительную переделку запросов, особенно на модификацию, затрагивающую глобальные данные).
Условный пример, узлы собирают данные (много записей), каждый узел пишет только у себя, а затем на их основе происходит работа с ними (аналитика и маленький объем данных на чтение). Например запрос на подсчет суммы, отправляем запрос на каждую ноду одновременно, затем складываем результат. Если нужны запросы, затрагивающие глобально данные (например посчитать количество дубликатов), то так или иначе их придется где то собирать, поэтому можно совместить подход, таблицы реплицируются... есть еще нестрогие количества HyperLogLog (глобально собираются вычисляемые по данным значения типа хеша и по ним проводится анализ).. в общем децентрализованная аналитика во всей красе, там где математически можно разделять (как с поиском суммы) там это идеально подходит.
Типовой пример, где это подходит - сбор и анализ логов распределенного приложения. Поток данных огромен, зачем его собирать обрабатывать централизованно, когда можно и хранить на каждой ноде свою часть и запросы на фильтрацию делать там же (с оговорками, если после смерти ноды логи терять неохота, их можно реплицировать соседу, исключительно как бакап, но это все еще распределенное хранение)