@rus_webcat

Как бюджетно реализовать распределенный сервер БД?

Ситуация:
Есть ПО, работающее на postgreeSQL, ПО предназначено для фитнес-клубов.
Есть 3 клуба, в каждом из которых стоит отдельный физический сервер, к нему подключен СКУД, который управляет турникетами, СКУД работает в связке с этим ПО.
Стоит задача: организовать единый доступ к БД, по возможности отказоустойчивый.

Что я понимаю (как мне кажется): смотрел в сторону шардинга, но понял, что это должно быть реализовано на уровне схемы БД.
Думал насчет репликации, с раположением в каждом клубе SLAVE-сервера, но мне непонятен процесс "экстренной" работы, когда slave оказывается без доступа к мастеру. Запись то в него осуществлять нельзя...или можно? как потом обеспечить консистентность данных?

Мой выход (как мне кажется) - реализовать распределенную систему хранения данных, на которую я уже установлю БД, НО не будет ли это слишком медленным решением?

Сама база - около 200 Мб, количество одновременных пользователей в пике - 20 человек + 3 СКУД

Собственно вопрос: что можете посоветовать в условиях ограниченности бюджета и не слишком высокой технической грамотности человека, на чьи плечи свалилась такая радость?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
Сравнение репликаций в документации postgresql

Судя по всему вам нужна асинхронная репликация master-master.
Это можно реализовать с помощью Bucardo
Ответ написан
@vitaly_il1
DevOps Consulting
ИМХО, не получится без интернета без изменения апликации. Разве что доступ к базе нужен только на чтение.
Я бы вынес базу в облако. База и нагрузка очень маленькие, так что пока есть интернет будет работать нормально.

Если интересно почему распределенная система не может дать все сразу - см. https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы