Выбор хранилища данных¶
Основная задача БД и модели данных заключается в эффективной реализации запросов модуля представления. Основной фактор при выборе БД — как раз характеристики этих запросов. Второй фактор — эффективность операций обновления.
Выбор между SQL и NoSQL¶
В зависимости от ситуации есть выбор между SQL и NoSQL решениями. NoSQL отлично подходят в силу лучшей производительности, масштабируемости и гибкой модели данных. Однако, если есть необходимость построения отчётов, сложной аналитики — выбор в пользу SQL.
| Если вам нужно | Используйте | Пример |
|---|---|---|
| Поиск JSON-объектов по первичному ключу | Документное хранилище типа MongoDB или DynamoDB или хранилище типа “ключ-значение” вроде Redis | Реализация истории заказов посредством хранения документов MongoDB для каждого клиента |
| Поиск JSON-объектов на основе запросов | Документное хранилище (MongoDB или DynamoDB) | Реализация пользовательского интерфейса для клиентов |
| Текстовые запросы | Система полнотекстового поиска вроде ElasticSearch | Текстовый поиск по заказам |
| Графовые запросы | Графовая БД, типа Neo4j | Реализация обнаружения мошенничества посредством хранения графа клиентов, заказов и других данных |
| Традиционные SQL-отчёты или BI1 | СУРБД | Стандартные бизнес-отчёты и аналитика |
Вспомогательные операции обновления¶
Помимо эффективной реализации запросов, модель данных представления должна предоставлять эффективные операции обновления, выполняемые обработчиками событий. Чаще всего обновление происходит по первичному ключу, однако иногда необходимо обновлять или удалять записи, используя аналог внешнего ключа (foreign key).
Дата создания : 29 июля 2022 г.