Завершение модели данных

Завершено XP: 100

Мы почти закончили ремоделировать базу данных. Мы преобразовали девять таблиц реляционных баз данных в четыре контейнера для базы данных NoSQL. Контейнер клиентов, содержащий данные о клиентах и заказы на продажу. Контейнер Product содержит ваши продукты и теги продуктов "многие ко многим". Два других — контейнеры productTag и productCategory.

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

Одна последняя оптимизация

Можно выполнить одну последнюю оптимизацию. Заметили ли вы, что контейнеры productCategory и productTag имеют одинаковый ключ секции? Как можно предположить, поскольку они используют один и тот же ключ секции, мы также можем разместить обе эти сущности в одном контейнере и присвоить ему более универсальное имя, например productMeta.

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

Схема, показывающая категорию продукта и контейнеры productTag (тегов продуктов), объединенные в один контейнер с именем productMeta (метаданные продукта).

Наш окончательный дизайн

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

Схема с окончательным дизайном трех контейнеров: клиент с данными клиента и заказа на продажу, контейнер продукта и метаданные продукта с категориями продуктов и тегами продуктов.


Следующий урок: Упражнения с расширенными шаблонами моделирования

Предыдущий Следующая