Здравствуйте, господа повелители бубнов, архимаги школы SQL, и просто классные ребята!
Возник очередной вопрос который тормозит проектирование одного весьма интересного сервиса. Собственно ближе к делу. Гипотетически имеется гео-разнесенный кластер базы данных в исполнении одной из популярных СУБД (PostgreSQL, MySQL и тд), согласно законодательству РФ и потенциально других стран (вроде в ЕС подвижки идут в аналогичную сторону), необходимо хранить данные граждан локально, т.е. на территории страны их гражданства. Как реализовать такой механизм с применением одного из озвученных продуктов, при этом разнести базу по всему шарику земному и не терять глобальный доступ к сервису? (Пользователи со всего мира должны иметь возможность взаимодействовать в рамках одной системы бесшовно, не зависимо от своего гражданства и места хранения данных других пользователей)
Т.е.: Граждане РФ -> Сервер в РФ Граждане ЕС -> Сервер в ЕС Но при этом все взаимодействуют друг с другом
Дмуаю над этой задачей уже примерно месяц, но все никак не могу решить делему. Кластер по структуре своей должен иметь модель мультимастер, с чем справляется MariaDB Galera, но это чисто реплика, без возможности определить регион хранения конкретных данных. В случае если применять кластерную модель таблиц PostgreSQL, мы получаем возможность размазать даные таблиц согласно требуемым критериям по серверам в кластере (регион пользователя), но теряется возможность использования схемы мультимастер, что не допустимо, т.к. сервер базы данных должен распологаться максимально близко к серверу приложения и в фоне поддерживать обмен данными, дабы не усложнять логику работы приложения.
Кто-то уже сталкивался с похожим вопросом и есть ли опыт проектирования такой базы данных?