Как лучше связать данные базы данных?

Всем привет. Интересуют мнения по решению вот такой задачи:
Есть неограниченное количество баз данных.Их количество может изменяться каждый день (создаваться новые, удаляться старые.)

В этих базах данных есть данные, одинаковые во всех базах. Например, значение температуры на Шпицбергене каждый час. Очевидно, что эти данные обновляются каждый час и должны появляться во всех базах.
Важно, что данные из общих таблиц могут использоваться в локальных.

Как решить эту задачу?

Сам вижу следующие решения:
Записать общие данные в отдельную базу данных и в клиентском коде получать их отдельным запросом
Минусы: Клиентский код знает о существовании другой БД, усложнение кода, Сложности при работе ORM
Плюсы: простота построения базы

Записать общие данные в отдельную базу данных и создать view во всех базах данных
Минусы: Немного усложняется репликация
Плюсы: прозрачная работа со стороны клиента

Держать копии данных во всех базах
Минусы: Очевидны
Плюсы: прозрачная работа со стороны клиента, любые ORM будут работать без проблем.

Возможно есть ещё какие либо решения?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Fortop
Tech/Team lead
Есть неограниченное количество баз данных.Их количество может изменяться каждый день (создаваться новые, удаляться старые.)


Задачи так не работают.

Неограниченное количество БД где? На сервере? В мире? У пользователя?

Как лучше связать данные базы данных?

Чаще всего связывают таблицы.

Для БД используется или репликация
https://dev.mysql.com/doc/refman/5.7/en/replicatio...

Или, что чаще и правильнее, данные получаются от общего сервиса.
Ответ написан
@dex1199
я пользуюсь базой export-base.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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