Сегодня для эффективного управления большими массивами данных необходимы сотни конвейеров данных (data pipelines) и сложная инфраструктура. В процессе генерируются тысячи наборов данных, которые «весят» терабайты и петабайты — и все это стоит десятки тысяч долларов. Но при этом многие компании не используют возможности технологий больших данных на полную мощность. Так, в ходе нашего аудита в крупной медиакомпании было выявлено, что 73% инфраструктуры данных работает вхолостую, поглощая немалую долю бюджета. Как другим не наступить на эти же «грабли»?
Куда уходят деньги
Во многих компаниях специалисты, занимающие должности, связанные с управлением, аналитикой и монетизацией больших данных, меняются достаточно часто. Чаще всего это связано с тем, что результаты их работы не соответствуют ожиданиям, изначально завышенным. Как итог, нередко возникают ситуации, когда человек уже не работает в компании, а инфраструктура продолжает создавать те отчеты по собранным данным, которые он заказывал, для которых подбирались инструменты и настраивалась аналитика.
Тот же аудит, о котором упоминалось выше, показал, что система регулярно генерирует отчет, в котором данные агрегированы по определенным критериям: устройство, с которого пользователь заходит на ресурс, страна, локальное время сеанса, конкретная страница ресурса. Одновременно выяснилось, что данные отчета никто не использовал, и более того, никто из сотрудников не смог объяснить, почему были выбраны именно эти критерии и для чего эту информацию можно использовать.
Такие ситуации не редкость. При этом работающие «вхолостую» процессы обходятся компаниям в определенную сумму. Она включает в себя:
- Затраты на создание и обслуживание инфраструктуры, включающие «человекочасы» специалистов, которые выполняют эти задачи.
- Расходы на сервера, на которых работают ETL-продукты, — от нескольких тысяч долларов в месяц.
- Расходы по хранению. Например, стоимость хранения одного петабайта данных в BigQuery (хранилище для больших данных от Google) варьируется от 10 тыс. до 20 тыс. долл. в месяц в зависимости от свежести данных.
- Оплату различных сервисов, которые генерируют данные, таких как инструменты для сбора аналитики по сайту.
Первая мысль, которая лежит на поверхности: кардинально избавиться от лишнего. То есть выключить весь неиспользуемый функционал и удалить данные, которые превратились в мертвый груз. Но это недальновидно и нерационально, особенно на фоне того, что происходит на рынке и тех объемов инвестиций, которые вкладываются в развитие технологии.
Крупный бизнес осознает ценность данных и не экономит на продуктах и решениях для их обработки. Консалтинговая компания New Vantage Partners посчитала, что за прошедшие 12 месяцев 34% компаний из списка Fortune 1000 потратили на поддержку BI и AI-инициатив от 50 млн до 500 млн долл., а 21% компаний — более 500 млн долл. При этом 92% руководителей сообщили, что планируют увеличить финансирование этих направлений.
Оптимизируйте хранение
У многих сервисов есть ограничения по срокам сбора данных. Например, сервис GAM (Google Ad Manager) дает возможность собирать данные не более чем 3-летней давности. У других сервисов период может ограничиваться несколькими месяцами. Это значит, что доступ к потенциально полезным данным будет безвозвратно утерян.
Для того, чтобы не терять такие потенциально полезные данные и при этом не переплачивать, необходимо пересмотреть подход к их хранению, используя соответствующие инструменты.
В первую очередь это ADS-решения (Archive Data Storage). У Google — это Coldline, у AWS — Glacier; «холодное» хранилище предлагает и «Яндекс.Облако». Такие хранилища позволяют долго хранить данные и обходятся относительно недорого. Но есть нюанс: концепция сервисов предполагает длительное хранение данных с платой за доступ. Плата варьируется в зависимости от операции: добавить новые данные — бесплатно; хранить данные — минимальная стоимость; чтение данных — на порядок дороже (и медленнее) по сравнению с обычными хранилищами данных.
Ценовая политика сразу дает понять, что этот сервис — своего рода архив «на всякий случай», предназначенный для ситуаций, когда частое обращение к данным не требуется. Например, если перенести 500 Тбайт редко используемых данных из BigQuery в Coldline и при этом дополнительно сжать данные до 25 Тбайт, расходы на хранение можно сократить с 5 тыс. долл. в месяц до 175 долл.
Оптимизируйте функционал
В свою очередь, отключение функционала также может помочь сэкономить кровные на инфраструктурных расходах. Однако это приведет к потере новых пока бесполезных (но потенциально полезных) данных.
Решением в этом случае может быть изменение конвейеров данных в сторону более редкого запуска и более медленного выполнения. То есть если у компании больше нет необходимости в том, чтобы получать максимально свежие данные, и чтобы процесс сбора данных выполнялся ежечасно, можно настроить и запускать его один раз в месяц, чтобы собирать информацию, которая до определенного момента будет заархивирована.
Например, данные Google Analytics 360 представляют собой достаточно объемные таблицы с множеством метрик. Представим, что на каком-то этапе работы компании по этим данным генерировалось два отчета: один включал в себя статистику по пользователям, а второй – статистику в разрезе ключевого слова источника трафика (trafficSource.keyword). Когда второй отчет по тем или иным причинам перестал использоваться, продолжающаяся обработка данных стала по сути бесполезной. В такой ситуации целесообразно отключить генерацию отчета, но продолжить накопление сырых данных.
Еще один пример: при помощи Marketing Cloud (бывш. Exact Target) проводился сбор данных по проведенным почтовым рассылкам – кому и какие письма отправлялись, сколько писем было открыто, сколько человек перешло по ссылке в письме и т.д. В какой-то момент эти данные перестали активно использоваться, но это не означает, что они не понадобятся в будущем. А из-за объема и особенностей платформы Marketing Cloud одновременно «вытащить» данные за период более чем полгода — проблематично. Поэтому рациональным решением будет продолжить их накапливать в собственном хранилище в удобной форме и собирать их не ежечасно, а раз в неделю, в тот период, когда другие ETL-процессы минимально нагружают инфраструктуру.
***
Любые рекомендации работают, если вы понимаете, чего хотите. Так и локальные технические решения, направленные на сокращение расходов, должны быть элементами общей стратегии управления данными, а иначе это будет оптимизация ради оптимизации и очередные деньги, выброшенные на ветер.
Автор — Константин Попандопуло, технический директор компании Umbrella IT