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

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

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

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

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

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

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

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


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

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

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

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

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

    Или, что чаще и правильнее, данные получаются от общего сервиса.
    Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы