Хостинг: восхождение дата-инженера

Я попал в команду компании Facebook в 2011 году как инженер и бизнес-аналитик. К тому времени, когда я покинул эту команду через два года я был уже дата-инженером.

Меня никак не продвигали специально на данную позицию. Компания Facebook пришла к выводу, что вся выполняемая нами работа — это классическая бизнес-аналитика. Та роль, которую в результате мы для себя создали, была совершенно новой дисциплиной. Я и вся моя команда были на острие данной трансформации.

Мы создавали новые подходы, варианты решения задач и необходимые инструменты. При этом мы часто игнорировали всякие традиционные методы. Итак, мы были настоящими пионерами. Мы были первыми дата-инженерами!

virtual server Хостинг: восхождение дата инженера

Хостинг и новая должность дата-инженера

Дата-инжиниринг?

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

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

Однако в отличие от ученых, которые работают с данными и вдохновлены прародителем сферы — программированием — современные дата-инженеры создают свои собственные инструменты, фреймворки и сервисы, а также инфраструктуру. На самом же деле, мы гораздо ближе к программированию, нежели к науке о данных.

В связи с установившимися ранее ролями, дата-инжиниринг можно рассматривать как надмножество баз данных и бизнес-аналитики, которое привносит больше компонентов программирования. Данная дисциплина в себя включает расширенную экосистему Hadoop, специализацию по работе с различными распределенными системами Big Data, потоковую обработку данных, а также работу со Scale.

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

В маленьких экосистемах люди, в основном, используют хостинг в Украине, к примеру, Databricks или Amazon, либо получают полную поддержку от таких фирм как Hortonworks или Cloudera, которые играют роль посредников между остальными компаниями.

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

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

normal akh Хостинг: восхождение дата инженера

ETL меняется

Мы наблюдали фактически массовый уход от практики drag-and-drop ETL к специальному программному подходу. Продукты, которые основаны на ноу-хау площадках типа Informatica, Cognos, IBM DataStage, AbInitio, Microsoft SSIS не популярны среди сегодняшних дата-инженеров и часто заменяются более общим ПО и навыками программирования, вместе с пониманием конфигурируемых и программных платформ типа Airflow, Azkabhan, Oozie или Luigi.

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

Есть целый ряд причин, почему сложные компоненты ПО не создаются по принципу «drag and drop»-инструментов. В конечном счете самописный код всегда лучшее решение для программного обеспечения.

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

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

Абстракции под влиянием классических инструментов ETL отклонились от своей начальной цели. Несомненно потребность в абстрактной сложности обработки информации существует, так же как и в вычислении, хранении. Однако я замечу, что эти решения не следует упрощать при помощи ETL из-за моды применять drag-and-drop подход.

Абстракциям нужно иметь более высокий уровень. К примеру, необходимой абстракцией сегодняшней среды информации является конфигурация для различных опытов с фреймворками A/B-тестирования.

Что за опыты? Каким образом они будут проходить? Когда будут результаты? Что именно мы будем измерять?

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

Нужно понимать, что в данном примере параметры абстракции не определяются традиционным инструментарием ETL и что задание этой абстракции не происходило посредством drug-and-drop'a.

Для современного дата-инженера средства в виде ETL уже устарели, так как их логика не может выражена быть в виде кода. В итоге необходимые абстракции, которые созданы посредством данных инструментов, нельзя понять интуитивно.

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

 Хостинг: восхождение дата инженера

Моделирование информации меняется

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

Хранить и обрабатывать информацию при этом сегодня дешевле, нежели раньше, а появление линейного масштабирования и распределенных баз экономит время инженера. Вот изменения, которые наблюдаются сегодня в методах моделирования информации:

  • Дополнительная денормализация, использование реальных читаемых ключей, а также атрибутов изменения таблиц становится сегодня все более распространенным сокращая потребность в дорогих соединениях, которые могут быть очень тяжелыми для распределенных БД. Обратите также внимание, что поддержка кода и специального сжатия в формате сериализации, допустим ORC или Parquet, или же в рамках СУБД с помощью Vertica, приводит к большой потере производительности, которую, как правило, связывают с денормализацией. Данные системы созданы были для нормализации информации, а хранения уже по желанию.
  • BLOBs: современные БД разрабатывались с учетом поддержки Блобов через свои собственные функции и типы. Это открывает совершенно новые возможности в процессе моделирования обработки информации и позволяет хранить в таблице сразу целый ряд функциональных гранул схемы БД, когда необходима динамическая схема.
  • Динамические схемы: со времени возникновения map reduce и с увеличением популярности специальных инструкций по поддержке блобов и БД, развивать схемы баз данных без выполнения DML стало намного проще. Это существенно упрощает итеративный метод хранения информации и устраняет потребность достижения консенсуса между разработкой и продажами.
  • Систематический снапшутинг размерности применяется в качестве простого метода справиться с SCD. Причем он требует очень мало усилий. Его, в отличие от стандартного подхода, с легкостью понять при написании запросов и ETL. С его помощью можно также легко и недорого денормировать атрибут размерности, а также таблицу для того, чтобы отследить все ее показания во время окончания операции. В ретроспективе, все сложные способы моделирования SCD уменьшают доступность.
  • Таким образом, согласованность метрик и измерений все еще очень важны в современных БД, однако помимо этого нам необходима и скорость взаимодействия с крупной командой, которая в себя включает множество сотрудников, также вносящих вклад в работу, и здесь нужен компромисс.

Поделитесь с друзьями



Оставить комментарий

Хостинг с отличным саппортом — HOSTiQ