Сапожник с сапогами: что нужно знать об управлении данными, чтобы заниматься Data Science?

Как ни странно, многие специалисты по Data Science плохо представляют себе, где и каким образом хранятся данные, с которыми они работают каждый день. Слушатели курсов получают данные в подготовленном виде и могут даже не догадываться, что в реальности до 80% времени уходит на то, чтобы собрать информацию, очистить ее и привести в удобный формат. Да и в офисных реалиях нередко получается так, что управлением данными занимаются специальные люди, которые избавляют Data Scientist  от необходимости думать об особенностях работы хранилищ.

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

DS
Специализация Data Science
Идет набор в группу 12 500₽ в месяц

Реляционные и нереляционные базы данных

Самый простой на сегодня способ хранения информации — это SQL- и NoSQL-базы. Мы уже рассказывали об этих технологиях, так что если вы хотите близко познакомиться с их особенностями, почитайте статью «SQL и NOSQL: Священная Война?».

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

Хотя фундаментальные принципы SQL-хранилищ обеспечивают им высокую надежность, с развитием Интернета они несколько потеряли позиции. Дело в том, что такие базы плохо поддаются горизонтальному масштабированию и не любят неструктурированные данные — те самые, которые в астрономических объемах генерируют веб-ресурсы.

Еще в 1998 году аналитики подсчитали, что неструктурированные данные составляют до 90% всей полезной информации (Merrill Lynch). С развитием онлайн-экономики этот тип данных занимает все большую долю в корпоративных хранилищах (Credit Suisse).

Чтобы побороть ограничения реляционных баз, интернет-компании разработали технологию NoSQL. Созданные на ее основе хранилища обеспечивают компаниям большую гибкость и позволяют обрабатывать информацию практически в любых форматах. Во главу угла поставлен принцип итоговой согласованности (eventual consistency) — даже если в какой-то момент в данных есть противоречия, в конце концов они устраняются. Таким образом информация остается доступной, даже если ее постоянно обновляют.

Курс «Data-driven management»
Идет набор в группу 6 300₽ в месяц

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

«Склады» и «озера» данных

Сегодня аналитикой в той и иной степени занимаются практически все корпоративные подразделения, так что и доступ к хранилищам должны иметь самые разные информационные системы. Традиционные базы плохо справлялись с этой задачей, и специалисты стали строить масштабные репозитории, получившие название Data Warehouse (дословно, «склад данных»).

Первые такие системы появились еще в 80-х, так что в основе их, как правило, лежат реляционные принципы. Главной задачей этих хранилищ было создать непрерывный поток информации от операционных систем к инструментам аналитики и принятия решений. Как правило, такие «склады» собирают данные с заранее известной структурой и форматами и передают их системам бизнес-аналитики и создания оперативных отчетов.

В XXI веке технологии Data Warehouse, как и SQL-базы, сильно изменились под влиянием Интернета и неструктурированных данных. Чтобы компании могли извлекать пользу из постоянно растущих объемов информации, инженеры разработали концепцию Data Lake («озеро данных»). В этих репозиториях данные хранятся в необработанном виде, благодаря чему любые системы могут забирать их для своих нужд и свободно преобразовывать «на месте». В результате компании получили возможности, о которых раньше и подумать было сложно — например, прогнозировать динамику продаж по интернет-публикациям или предсказывать вероятность кредитной просрочки по фотографиям в соцсетях.

Именно в этот момент на арену вышли эксперты по Data Science, которые используют нейросети и машинное обучение для выявления скрытых закономерностей и тенденций. Эти специалисты также следят за тем, чтобы «озеро данных» не превратилось в «болото данных» (Data Swamp). Это происходит, если хранилище строится дезорганизованно, из-за чего в накапливаемой информации данных оказывается слишком сложно разобраться. Специалисты по управлению данными применяют принципы Data Governance, чтобы сохранять репозиторий в рабочем состоянии.

Специализация «Big Data MBA»
Идет набор в группу 12 500₽ в месяц

Распределенные хранилища

Но эволюция хранилищ на этом не остановилась, как не остановился рост вычислительных мощностей. SQL-базы были разработаны для использования силами одного компьютера, со временем компании стали использовать мощные сервера, а в последние годы бизнес научился строить целые вычислительные кластеры, которые объединяют десятки таких узлов, позволяя управлять ими как единой структурой. Так родилась концепция распределенных вычислений. Благодаря этим системам астрономические объемы информации, которые на часы загрузили бы прошлые хранилища, можно проанализировать за десятки секунд. 

На этом поле есть несколько сосуществующих систем. Apache Hadoop обрабатывает данные, объединяя их в масштабные пакеты. Такая система читает информацию с множества дисков, анализирует ее и записывает обратно. Главный недостаток этой модели в том, что она плохо справляется с аналитикой в реальном времени. Если организации важен этот фактор, она может построить аналитическую систему на базе Spark, которая будет использовать ресурсы оперативной памяти. Это позволяет в десятки раз ускорить обработку данных, но накладывает ограничения на объем информации.

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

Облака, кругом облака

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

Именно такая модель IT сейчас становится самой распространенной. Облачные услуги позволяют даже небольшим компаниям использовать лучшие системы и не заботиться о сопутствующих расходах. Это в свою очередь поднимает спрос на специалистов по data science, которым не приходится сражаться за кадровые позиции в десятке интернет-гигантов. Рынок бурно растет, и пока места на нем хватает всем, кто справляется с обучением data science.

Таковы основные технологии управления данными на сегодняшний день. Если вы понимаете, как взаимодействуют между собой разные части корпоративной инфраструктуры, вы сможете быстро разобраться, откуда и в каком виде вам взять данные для своей аналитической модели. Используйте эти знания, чтобы выбирать правильные рабочие инструменты, повышать производительность своих систем и работать над их ошибками. Это повысит вашу ценность как специалиста по Data Science и откроет путь к карьерным вершинам.

Текст: Помогаев Дмитрий

Поделиться:
Опубликовано в рубрике Наука о данных (Data Science)Tagged

SkillFactory.Рассылка