TGViewer
Системный Аналитик Системный Аналитик @sys_sa · 19.1K subscribers
Post #508 13.7K
🔵 Интеграция через общую базу данных

Рассмотрим еще один способ интеграции, менее популярый: интеграция через общую БД
Этот подход имеет свои преимущества, но не всегда является лучшим выбором из-за сложностей с согласованностью данных и производительностью

При интеграции через общую БД несколько систем используют одну и ту же БД для обмена данными

Принцип работы

🤤 все подключено к одной БД, ее используют для обмена информацией
🤤 системы читают и пишут данные напрямую через SQL-запросы или с помощью API, коннекторов

Особенности

💙системы должны согласовать структуру данных (схему БД), чтобы все понимали формат и правила работы с данными
💙одновременный доступ разными системами может приводить к блокировкам
Чтобы избежать используются механизмы синхронизации транзакций
💙изменения сразу видны другим системам


Способы интеграции

😮‍💨 Коннекторы (Database Connectivity, DBC)

Например, ODBC/JDBC-драйверы.
🟧JDBC — интерфейс для подключения Java-приложений к БД, позволяет выполнять SQL-запросы
🟧ODBC — универсальный интерфейс для подключения приложений на разных языках к БД, также использует SQL-запросы

Работают как посредники между приложением и БД.
Принимают запросы от приложения, преобразуют их в SQL-команды для БД, выполняют запросы и возвращают результат

😮‍💨 API

Приложения взаимодействуют с БД через REST или SOAP API
Отправляют HTTP-запросы, которые преобразуются в SQL-запросы внутри базы

😮‍💨 Прямое подключение

🤤 через SQL-запросы
Прямое подключение через SQL-запросы: приложение отправляет SQL-команды напрямую в базу данных по сети (например, через TCP/IP), без использования посредников.

🤤 через сетевые драйверы
Используются драйверы для установления связи с БД по сети (например, TCP/IP), затем приложение отправляет SQL-запросы напрямую

В обоих случаях идет работа с БД напрямую.
Но сетевые драйверы (например, для PostgreSQL или MySQL) обеспечивают управление сетевым соединением

🤤 через представления

Создаются виртуальные таблицы (представления), которые объединяют данные из нескольких таблиц.
🟧приложения не изменяют основные таблицы
🟧они выполняют SQL-запросы к представлениям, как к обычным таблицам
🟧выдаются права на чтение нужных представлений


Когда использовать общую БД

💙интеграция внутренних систем (например, системы из одной корпоративной платформы: ERP, CRM и т.д.)
💙для объединения данных из разных источников
💙надо сразу видеть изменения в системе
💙для минимизации повторного хранения данных
💙для интеграции Legacy-систем или самописных систем


Пример работы

В компании несколько систем: интернет-магазин, система управления складом и бухгалтерия

⏩ интернет-магазин: клиенты оформляют заказы, данные сразу записываются в общую Д
⏩ система управления складом: получает информацию о заказах из той же БД и обновляет количество товара на складе
⏩ бухгалтерия: автоматически подтягивает данные о продажах из общей БД для учёта финансов

Все системы работают с одной БД, не нужно синхронизировать данных между ними, данные актуальны во всех системах


Недостатки

❌ проблемы с согласованностью, если несколько систем одновременно изменяют данные.
❌ увеличение нагрузки -> снижается производительность
❌ изменения в структуре данных требуют координации между всеми системами
❌ уязвимость к атакам
❌ сложнее поддерживать и обновлять систему из-за её зависимостей


📎 Материалы

1. Основы интеграции информационных систем
2. Архитектура приложений и интеграций: гайд по основным понятиям простыми словами
3. Современные стандарты информационного взаимодействия систем
4. Простой пример JDBC для начинающих
5. Две альтернативы JDBC
6. PostgreSQL и JDBC выжимаем все соки
7. Доктор, у меня легаси: лечим устаревшие ИТ-системы
8. Legacy-системы
9. Общая информация о ODBC и Connector/ODBC
10. Почему интеграционная бд это отстой

#интеграции

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
  • 🔥 33
  • ❤ 19
  • 👍 16
More from @sys_sa
  1. Sep 28, 2026🔼AMQP, MQTT и STOMP: протоколы обмена сообщениями AMQP, MQTT и STOMP — независимые проток…
  2. Sep 26, 2026Как облегчить работу ИТ-аналитика уже сейчас — без долгосрочных перестроек процессов? Обсу…
  3. Aug 28, 2026❓ ICAM (Incident Cause Analysis Method) ICAM (Incident Cause Analysis Method) — метод разб…
  4. Aug 19, 2026🖥 NewSQL NewSQL — класс реляционных СУБД, который совмещает привычный SQL и строгие ACID…
  5. Jul 14, 2026🔼 Server Driven UI (SDUI) Server Driven UI (SDUI) — архитектурный подход, при котором сер…
  6. Jul 7, 2026📊 Сравнение Баз данных и Хранилищ данных ▫️База данных – оперативное хранилище, где содер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →