Читаем Роман с Data Science. Как монетизировать большие данные полностью

Напрямую с источником данных не стоит работать по двум основным причинам. Во-первых, запросы к данным на чтение оказывают очень большую нагрузку на диски и увеличивают время ответа рабочих машин, и клиенты получают ответы ваших систем с задержкой. Во-вторых, может быть нарушена конфиденциальность данных, хранящихся в источниках. Не все данные нужно забирать оттуда в исходном виде, чувствительную информацию клиентов лучше не трогать или шифровать при загрузке в хранилище. Само хранилище проводит незримую границу между вашей рабочей системой, которая должна работать надежно, и данными, которые будут использованы для анализа. В Ozon.ru у меня был один раз случай, когда мой сотрудник, обращаясь напрямую к источнику данных, повредил данные клиента – разработчики тогда очень разозлились.

Неизменяемость уже загруженных данных в хранилище гарантирует, что ваши аналитические отчеты не будут меняться. Я буду лукавить, если скажу, что так не бывает. Бывает, но обычно из-за технических ошибок или расширения перечня хранимых данных. Такие инциденты нужно минимизировать по двум причинам. Во-первых, перезагрузка данных бывает очень длительной и блокирующей аналитическую систему. Например, у нас в Retail Rocket такая операция между Hadoop и Clickhouse могла занимать дни и даже недели. Во-вторых, доверие пользователей к вашей системе будет подорвано из-за изменения данных, а значит, отчетов и решений, которые были сделаны на их основе. Легко ли вам будет доверять данным, которые изменяются задним числом?

Я всегда стараюсь хранить данные в том виде, в котором они хранятся в источнике. Есть другой подход – делать преобразование данных при их копировании в хранилище. С моей точки зрения, второй подход имеет существенный недостаток: никто не может гарантировать, что преобразование или фильтрация пройдут без ошибок. Как минимум, данные в источнике изменятся, и преобразование «устареет». В какой-то момент вы заметите, что данные расходятся. Вам придется лезть в источник, возможно, скачивать их (а их может быть очень много) и построчно сравнивать. Такие ошибки крайне сложно искать. Поэтому удобно, когда исходные данные хранятся в сыром виде. Безусловно, преобразования нужны, но хранить измененные данные лучше в отдельных таблицах или файлах (в отдельном слое хранилища). Тогда сверка с источником будет заключаться лишь в сравнении числа строк между таблицами, а ошибки преобразований легко отыщутся внутри самого хранилища, так как исходники у вас имеются. Этот вывод был сделан мной на основе инцидентов по исправлению данных во всех компаниях, на которые я работал. Да, данных в хранилище может стать чуть ли не в два раза больше, но, учитывая сегодняшнюю низкую стоимость хранения и принцип «много данных не бывает», это все окупится.

В главе 5 я уже писал про связность данных, что самые интересные инсайты находятся на стыке их разных источников. Данные объединяются через ключи. Сама операция называется соединением данных (join). Она очень ресурсоемкая, разработчики баз данных постоянно работают над ее ускорением. На одной из лекций в компании Microsoft я услышал, что для больших данных количество таких операций нужно минимизировать, а для этого нужно сразу соединить данные в хранилище и в таком виде хранить. Это было около десяти лет назад. Сейчас уже есть системы, которые это могут делать лучше традиционных баз данных, об этом позже в этой главе.

Однажды у меня был разговор с разработчиком из компании Netflix. Я рассказывал ему про хранилища данных, а он остановил меня и сказал: «А не проще ли восстановить базу из бэкапа и с ней работать?» Во-первых, если вы не пользуетесь облачными сервисами, как это делает Netflix, то восстанавливать данные из бэкапа не так легко. Во-вторых, хранилища часто содержат свои агрегаты (о них расскажу позже), которые нужно поддерживать. В-третьих, если источников несколько и это разные базы данных или хранилища файлов, то будет невозможно делать запросы с соединением этих источников.

<p><strong>Слои хранилища данных</strong></p>

Само хранилище может состоять из нескольких слоев (рис. 6.1) [34]:

• Данные из источников «как есть» (Первичный слой данных), или по-другому – сырых данных. Как я уже писал выше, лучше их хранить в виде, максимально совпадающем с источником.

• Данные, приведенные в целостную форму, независимую от источника (Центральный слой). Это означает, что мы уже можем работать с логической схемой, человеко-понятными терминами. Аналитику не придется думать, как соотносятся термины в разных источниках, все уже сделано в этом слое.

• Данные, представленные в виде витрин для определенного круга пользователей (Витрины данных). Деление происходит по предметной области: маркетинг, продажи, склад… Лучшим примером будет подготовка данных для OLAP-кубов. Данные для них приходится специально готовить. Подробней об этом поговорим в следующей главе об инструментах анализа данных.

Рис. 6.1. Слои хранилища данных

Перейти на страницу:

Все книги серии IT для бизнеса

О криптовалюте просто. Биткоин, эфириум, блокчейн, децентрализация, майнинг, ICO & Co
О криптовалюте просто. Биткоин, эфириум, блокчейн, децентрализация, майнинг, ICO & Co

Эта книга – самый быстрый способ войти в мир криптовалют и начать ими пользоваться.Вы хоть раз спрашивали себя, что такое биткоин, криптовалюта или блокчейн? А децентрализация? Как вы думаете, кто выиграл от появления интернета? Люди, которые были подготовлены к нему и стали использовать его в личных или коммерческих целях до того, как подтянулись остальные.Новая технология «блокчейн» дает аналогичную возможность. Она играет сейчас такую же роль, какую играл интернет последние 20 лет. Главный вопрос, который каждый себе задает, это «c чего мне начать?»Джулиан Хосп, соучредитель компании TenX и один из ведущих мировых экспертов по криптовалютам, просто и доступно объясняет сложные термины и дает четкую инструкцию к действию: как пользоваться криптовалютами, соблюдая правила онлайн-безопасности.У Илона Маска уже есть книга Джулиана Хоспа. А у вас?

Джулиан Хосп

Деловая литература / Маркетинг, PR, реклама / Финансы и бизнес
Роман с Data Science. Как монетизировать большие данные
Роман с Data Science. Как монетизировать большие данные

Как выжать все из своих данных? Как принимать решения на основе данных? Как организовать анализ данных (data science) внутри компании? Кого нанять аналитиком? Как довести проекты машинного обучения (machine learning) и искусственного интеллекта до топового уровня? На эти и многие другие вопросы Роман Зыков знает ответ, потому что занимается анализом данных почти двадцать лет. В послужном списке Романа – создание с нуля собственной компании с офисами в Европе и Южной Америке, ставшей лидером по применению искусственного интеллекта (AI) на российском рынке. Кроме того, автор книги создал с нуля аналитику в Ozon.ru.Эта книга предназначена для думающих читателей, которые хотят попробовать свои силы в области анализа данных и создавать сервисы на их основе. Она будет вам полезна, если вы менеджер, который хочет ставить задачи аналитике и управлять ею. Если вы инвестор, с ней вам будет легче понять потенциал стартапа. Те, кто «пилит» свой стартап, найдут здесь рекомендации, как выбрать подходящие технологии и набрать команду. А начинающим специалистам книга поможет расширить кругозор и начать применять практики, о которых они раньше не задумывались, и это выделит их среди профессионалов такой непростой и изменчивой области. Книга не содержит примеров программного кода, в ней почти нет математики.В формате PDF A4 сохранен издательский макет.

Роман Зыков

Карьера, кадры / Прочая компьютерная литература / Книги по IT

Похожие книги

100 лучших игр и упражнений для успешного супружества и счастливого родительства
100 лучших игр и упражнений для успешного супружества и счастливого родительства

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

Михаил Шаевич Кипнис

Карьера, кадры