in

Использование MariaDB в качестве базы данных NoSQL для MongoDB

Для организаций нередко полагаться на несколько типов баз данных для удовлетворения различных потребностей. От JSON-подобных документов MongoDB до транзакционных SQL-таблиц MariaDB каждая база данных обладает своими уникальными преимуществами.

Но что происходит, когда вам нужно объединить данные из этих разных баз данных, скажем, для создания отчетов? Обычный маршрут включает запрос к каждой базе данных отдельно и объединение результатов программно. Однако этот метод может быть громоздким и неэффективным. В этой статье мы рассмотрим более упрощенный подход: используя интеллектуальный прокси-сервер базы данных, мы продемонстрируем, как вы можете выполнять сложные SQL-соединения между MariaDB и базой данных MongoDB, сохраняя при этом архитектуру вашего приложения чистой и эффективной.

Объединение данных программно

Предположим, у вас есть Node.js приложение, подключенное к базе данных MongoDB для хранения рейтингов книг, и другое приложение на Java, связанное с базой данных MariaDB для управления сведениями о книгах. Вам поручено сгенерировать отчет, объединяющий названия и оценки для каждой книги. Поскольку в базе данных MongoDB отсутствует информация о названиях книг, а в базе данных MariaDB – информация о рейтингах, вам потребуется объединить данные из двух очень разных баз данных. Обычно вы запрашиваете каждую базу данных отдельно, затем используете общий идентификатор, такой как ISBN, для сопоставления и объединения данных. Этого можно достичь на любом языке программирования, который может подключаться к обеим базам данных, например Java, TypeScript, C # или Python, как показано на следующем рисунке:

 

Многоязычное приложение

 

Многоязычное приложение

Хотя объединение данных вручную работает, базы данных предназначены для таких операций, что делает их более эффективными. Такой подход также превращает ваше SQL-приложение в сложную, более сложную в обслуживании базу данных polyglot. Используя прокси-сервер базы данных, такой как MaxScale, вы можете обрабатывать задачу объединения данных на уровне базы данных с помощью SQL, сохраняя при этом однофакторность вашего приложения. Хотя это добавляет еще один компонент в вашу инфраструктуру, вы получаете такие преимущества, как автоматический переход на другой ресурс, маскировка данных и функции безопасности. MaxScale – это универсальный прокси, совместимый как с базами данных SQL и NoSQL, так и даже с Kafka. Это позволяет интегрировать ваше приложение NoSQL с реляционной базой данных, что обеспечивает соответствие требованиям ACID.

 

MaxScale позволяет приложению SQL использовать данные NoSQL

 

MaxScale позволяет приложению SQL использовать данные NoSQL

Чтобы ознакомиться с остальной частью этой статьи, убедитесь, что на вашем компьютере установлены Docker, новый инструмент MariaDB-shell и инструмент mongosh.

What do you think?

Начинающий

Written by Drimprog

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

GIPHY App Key not set. Please check settings