Как генерируются, хранятся и обрабатываются Big Data?

Большие данные в наше время берутся из различных источников. Самый простой пример — рекламные и социальные сети. Но даже если ваша компания невелика и не предоставляет свои услуги миллионам пользователей, вы всё равно сможете работать с Big Data. Собрать данные можно, например, посредством веб-скрапинга. Кроме этого, существуют сервисы, предоставляющие API для доступа к своим данным. Один из примеров — Streaming API ВКонтакте. Он предоставляет доступ к новому содержимому с указанными ключевиками. По дефолту доступен только один процент всех данных, но можно попробовать запросить и больше, написав в поддержку.

Итак, объёмы данных растут, и происходит это быстро. Возникает вопрос — как их обработать? Для этого применяются распределённые хранилища и программы. Когда увеличивается число данных, можно добавлять новые узлы, что позволит заново не переписывать текущее решение.

Не менее важен вопрос и о безопасном хранении этих данных. Сегодня направление Big Data развивается очень быстро, а устоявшаяся методология по защите данных отсутствует. В результате каждая компания сама решает, как обеспечивать безопасность.

Разумный шаг — удалить из кластера конфиденциальные данные типа паролей и информации о банковских картах, что упростит настройки доступа. Следующий этап — применение соответствующих административных, физических и технических мер обеспечения защиты. Требования к безопасности можно найти в стандартах типа ISO 27001. Как вариант — ограничить сотрудникам доступ к данным до уровня, который будет достаточен для выполнения поставленных рабочих задач. Не менее важно логировать взаимодействие сотрудника с данными, кроме того, следует исключить возможность делать копии данных из хранилища. Неплохим вариантом является и анонимизация данных.

Используемые технологии

Технологии, которые используются при работе с Big Data, можно условно разделить на 3 группы: 1. Для анализа данных. Используют фреймворк Apache Spark, поисковый движок Elasticsearch и библиотеку машинного обучения Scikit-learn. 2. Для сбора и хранения. Используют фреймворки Apache Hadoop и Apache Ranger, NoSQL-базы данных (HBase, Apache Cassandra), озёра данных (data lakes), а также базы данных In-memory. 3. Для визуализации применяют, к примеру, многофункциональный набор Google Chart и систему интерактивной аналитики Tableau.

Материал подготовлен на основании статьи специалистов из компании «МегаФон».