Хранить данные в хранилище или нет?

Вопрос или проблема

Мне было интересно, не будете ли вы так любезны помочь мне с быстрым вопросом (с удовольствием объясню больше, если вы пожелаете…). Я исследую и настраиваю систему для выполнения задачи машинного обучения (обучения), чтобы выявить корреляции между информацией о пользователе в социальных сетях (или другими цифровыми следами от носимых устройств и т. д.) и его баллами по тестам на личность.

Баллы находятся в моей базе данных Postgresql (на AWS), и мне нужно решить, как хранить информацию о социальных сетях/цифровых следах от носимых устройств (неконтролируемую и структурированную). Я размышлял над использованием DynamoDB.

Я также думал о том, чтобы интегрировать обе базы данных в Amazon Redshift и проводить аналитику (используя RapidMiner) оттуда….. Все это имеет смысл? Действительно ли мне нужен Data Warehouse для этого? Не будет ли более разумно использовать только одну базу данных (Postgresql или Dynamo) для всего этого без хранилища данных? Я говорю о примерно 100K записей (для обучения)…. В будущем данные будут в миллионах.

Я получаю так много противоречивых ответов, и я надеюсь на вашу доброту и совет. Огромное спасибо заранее!!!

Основная цель хранилища данных заключается в возможности агрегирования различных типов данных и столбцов быстро (почти в реальном времени). Возможности хранения не являются проблемой, которую пытается решить хранилище данных. Я не могу толком ответить на ваш вопрос, так как мне не известно о объеме аналитики, которую вы хотите выполнить, но если это для многократного обучения модели (онлайн-обучение), просто настройте целую цепочку процессов для применения нужных преобразований (часть ETL), модели, обучения и запуска вашего предсказательного метода столько раз, сколько вам нужно.

Ответ или решение

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

1. Нужен ли вам дата-warehouse?

Дата-warehouse (хранилище данных) отлично подходит для проектов, где необходимо агрегировать и анализировать данные из различных источников. В вашем случае у вас есть данные, хранящиеся в PostgreSQL, и данные из социальных медиа и носимых устройств, которые могут быть как структурированными, так и неструктурированными.

Всё зависит от объема данных и сложности аналитических задач. Если ваши запросы не требуют сложной агрегации данных и вы не планируете постоянно выполнять сложные многомерные аналитические запросы, возможно, вам не понадобится полноценное хранилище данных. Однако если вы ожидаете увеличения объема данных до миллионов записей и хотите делать более сложный анализ в будущем, тогда дата-warehouse может быть полезен.

2. Использовать ли несколько баз данных?

Вы правильно рассматривали возможность использования DynamoDB для хранения данных о социальных медиа и носимых устройствах. DynamoDB — это NoSQL база данных, которая хорошо подходит для работы с неструктурированными данными. Она обеспечивает высокую производительность и масштабируемость, что также будет важно при увеличении объемов данных.

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

Интеграция всех данных в Amazon Redshift для анализа будет полезной, если вы планируете выполнять сложные запросы и взаимодействовать с большим количеством данных. Redshift оптимизирован для аналитических задач и может обеспечивать быстрые результаты при работе с большими объемами данных.

3. Построение ETL-процессов

Независимо от того, какое решение вы выберете, важно будет настроить надежные ETL-процессы (извлечение, преобразование, загрузка). Это позволит вам преобразовать данные из различных источников в единый формат, необходимый для анализа.

4. Рекомендации

  1. Сочетание систем: Рассмотрите смешанную архитектуру, где вы используете PostgreSQL для хранения структурированных данных и DynamoDB для хранения неструктурированных данных. Это позволит вам использовать сильные стороны обеих баз данных.

  2. Подключение к Amazon Redshift: В будущем, когда данные начнут значительно увеличиваться, вы сможете загрузить агрегированные данные в Amazon Redshift для более сложного анализа.

  3. Масштабируемость: Учитывайте, что при росте объема данных вам, возможно, потребуется пересмотреть ваши решения по хранению и анализу данных.

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

Надеюсь, эти советы помогут вам принять решение. Если у вас есть дополнительные вопросы или нужна более подробная информация, не стесняйтесь обращаться!

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

Капча загружается...