Как стать автором
Обновить
257.97
Рейтинг
OTUS
Цифровые навыки от ведущих экспертов

Эффективное моделирование данных и проектирование схем в Hackolade и MongoDB

Блог компании OTUS MongoDB *
Перевод
Автор оригинала: Paresh Saraf and Pascal Desmarets

Разработчики находятся в постоянном поиске новых способов быстрой модернизации приложений, чтобы оперативно подстраиваться под меняющиеся потребности клиентов. Один из таких способов — новые динамические схемы в MongoDB. Это мощный и гибкий инструмент, который позволяет хранить данные в JSON-документах вместо реляционных таблиц. В частности, разработчикам нравится гибкость и беcсхемная природа JSON-документов.

Но по мере усложнения корпоративных приложений приходится структурировать базы данных таким образом, чтобы они повышали эффективность решения и продуктивность разработчиков, попутно снижая общую стоимость владения приложением. Для этого требуется немало мастерства. Для крупных предприятий и государственных учреждений лучшим решением будут современные приложения на базе MongoDB Atlas, но при этом им нужно обеспечить эффективное управление данными. Здесь на помощь придет инструмент моделирования данных, разработанный специально для MongoDB.

Это Hackolade. Вот уже несколько десятилетий для визуального представления структуры данных реляционных БД используются ER-диаграммы. Изначально они предназначались только для плоских структур данных. Hackolade, сертифицированный технологический партнер MongoDB, предлагает расширенные ER-диаграммы, которые позволяют адаптировать представление иерархической структуры JSON с вложенными объектами и массивами. Hackolade — это первое решение для моделирования данных и проектирования схем для баз данных NoSQL и REST API.

Почему это важно

Модель данных — это абстракция, которая используется для описания и документального оформления информационной системы организации. Это набор ER-диаграмм, описаний, ограничений и метаданных, которые представляют собой структуру данных:

Модель данных Hackolade для MongoDB
Модель данных Hackolade для MongoDB

С другой стороны, схема — это извлекаемое потребителями описание структуры файла, транзакции или базы данных. Это источник точных данных, на основании которых производители и потребители могут слаженно взаимодействовать, обмениваясь структурами данных или осуществляя доступ к ним.

Модели данных предназначены для человека и помогают ему понять их структуру, в то время как схемы — это технические рабочие продукты, необходимые для взаимодействия систем.

Hackolade сочетает обе возможности. В результате пользователи MongoDB могут без труда визуализировать модели данных, создавать и проверять JSON-схемы в интуитивно понятном валидаторе, а также менять схемы по мере эволюции приложений.

Автоматически сгенерированный валидатор JSON-схем
Автоматически сгенерированный валидатор JSON-схем

Преимущества для клиентов

Прямое проектирование для повышения гибкости базы данных

ER-диаграммы обеспечивают понятное визуальное представление ваших данных. Они облегчают взаимодействие ключевых лиц, работающих с приложением, — бизнес-аналитиков, дизайнеров, архитекторов, разработчиков и администраторов БД. ER-диаграммы позволяют проанализировать разные сценарии «что если», определить лучший способ денормализации данных и воспользоваться преимуществами технологий MongoDB Atlas. Проанализировав закономерности доступа к приложению, просто спроектируйте схему на основе запросов. Для последующей визуализации и анализа результатов вам не потребуется писать ни строчки кода — очевидно, так гораздо эффективнее, чем сначала писать код, а потом серьезно его перерабатывать с учетом потребностей всех заинтересованных лиц.

Hackolade генерирует несколько артефактов: создание коллекции с помощью валидатора (для этого даже не нужно знать синтаксис JSON-схем), модели JSON-документов, схемы Mongoose, документацию в формате HTML, Markdown или PDF, вывод ER-диаграмм на плоттер, оценку размера документа и индекса и т. д. Процесс легко интегрируется в CI-/CD-конвейеры Jenkins через гибкий интерфейс командной строки.

Контроль качества данных и соблюдения требований методом обратной разработки схем

Вывести модель данных из имеющегося экземпляра MongoDB не так просто, как DDL — из реляционной базы данных. Схемы должны выводиться на основе репрезентативной выборки документов в каждой коллекции. Алгоритмы выведения схемы в Hackolade раскрывают все преимущества гибкости и полиморфизма иерархических структур JSON. Производные модели становятся надежным источником для словарей данных и модулей управления данными.

Благодаря автоматизации процессов в командной строке обратная разработка позволяет обеспечить качество данных и соответствие требованиям.

Простая модернизация приложений путем денормализации устаревших структур данных

Hackolade может импортировать различные структуры из реляционных DDL, логических моделей данных в формате XSD, JSON-документов и схем и шаблонов Excel. Чтобы раскрыть преимущества MongoDB, нужно постоянно совершенствовать эти структуры, дополняя их новой информацией и не допуская медленных соединений. Делать это нужно на основе тщательного анализа схем доступа приложения с учетом расчетного объема данных и мощности отношений.

В Hackolade есть удобные инструменты для быстрого создания денормализованных схем на основе реляционных моделей данных, что позволяет использовать преимущества модели документов MongoDB и упрощает модернизацию. Этот процесс легко интегрируется с описанным выше процессом прямого проектирования и позволяет создавать изображения, сценарии и документы.

Непрерывное совершенствование и управление данными

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

Hackolade упрощает гибкую разработку и весь жизненный цикл современного ПО. Это решение позволяет использовать весь набор инструментов, необходимых для проектирования моделей данных и схем и управления ими, для модернизации приложений на MongoDB Atlas.


Статья переведена в рамках начала набора на новый поток курса "NoSQL".

Узнать подробнее о курсе и процессе обучение, а также познакомиться с преподавателями можно на бесплатном вебинаре, который состоится уже 6 мая. Запись доступна по ссылке ниже.

ЗАПИСАТЬСЯ НА ВЕБИНАР

Теги: mongodbjsonhackolade
Хабы: Блог компании OTUS MongoDB
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 0
Комментарии Комментировать

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Россия
Сайт
otus.ru
Численность
51–100 человек
Дата регистрации
Представитель
OTUS

Блог на Хабре