Инженерия данных
Инженерия данных относится к созданию систем , позволяющих собирать и использовать данные . Эти данные обычно используются для последующего анализа и анализа данных ; который часто включает в себя машинное обучение . [1] [2] Обеспечение пригодности данных обычно требует значительных вычислений и хранения , а также обработки данных .
История [ править ]
Примерно в 1970-1980-х годах был создан термин «методология информационной инженерии» (IEM) для описания проектирования баз данных и использования программного обеспечения для анализа и обработки данных. [3] [4] Эти методы предназначались для использования администраторами баз данных (DBA) и системными аналитиками на основе понимания потребностей организаций в оперативной обработке данных в 1980-х годах. В частности, эти методы были призваны помочь преодолеть разрыв между стратегическим бизнес-планированием и информационными системами. Ключевым ранним автором (часто называемым «отцом» методологии информационной инженерии) был австралиец Клайв Финкельштейн , который написал о ней несколько статей в период с 1976 по 1980 год, а также стал соавтором влиятельного отчета Института Саванта по этой теме вместе с Джеймсом Мартином. [5] [6] [7] В течение следующих нескольких лет Финкельштейн продолжал работать в более ориентированном на бизнес направлении, которое было призвано учитывать быстро меняющуюся бизнес-среду; Мартин продолжил работу в направлении, в большей степени ориентированном на обработку данных. С 1983 по 1987 год Чарльз М. Рихтер под руководством Клайва Финкельштейна сыграл значительную роль в обновлении IEM, а также помог в разработке программного продукта IEM (пользовательские данные), который помог автоматизировать IEM.
В начале 2000-х годов данные и инструменты обработки данных обычно находились в распоряжении отделов информационных технологий (ИТ) большинства компаний. [8] Затем другие команды использовали данные для своей работы (например, для составления отчетов), и обычно эти части бизнеса практически не пересекались в наборе навыков работы с данными.
В начале 2010-х годов, с появлением Интернета , массовое увеличение объемов, скорости и разнообразия данных привело к появлению термина «большие данные» для описания самих данных, а технологические компании, ориентированные на данные, такие как Facebook и Airbnb, начали использовать фразу «данные ». инженер . [3] [8] Из-за нового масштаба данных крупные компании, такие как Google , Facebook, Amazon , Apple , Microsoft и Netflix , начали отходить от традиционных методов ETL и хранения. Они начали создавать инженерию данных , тип разработки программного обеспечения, ориентированный на данные и, в частности, инфраструктуру , складирование , защиту данных , кибербезопасность , добычу полезных ископаемых , моделирование , обработку и управление метаданными . [3] [8] Это изменение в подходе было особенно сосредоточено на облачных вычислениях . [8] Данные начали обрабатываться и использоваться во многих частях бизнеса, таких как продажи и маркетинг , а не только в ИТ. [8]
Инструменты [ править ]
Вычислить [ править ]
Высокопроизводительные вычисления имеют решающее значение для обработки и анализа данных. Одним из особенно распространенных подходов к вычислениям для инженерии данных является программирование потоков данных , в котором вычисления представляются в виде ориентированного графа (графа потока данных); узлы — это операции, а ребра представляют поток данных. [9] Популярные реализации включают Apache Spark и глубокого обучения специальную технологию TensorFlow . [9] [10] [11] В более поздних реализациях, таких как дифференциальный / временной поток данных, используются инкрементные вычисления для гораздо более эффективной обработки данных. [9] [12] [13]
Хранение [ править ]
Данные хранятся различными способами, одним из ключевых решающих факторов является то, как данные будут использоваться.Инженеры по обработке данных оптимизируют системы хранения и обработки данных для снижения затрат. Они используют сжатие данных, секционирование и архивирование.
Базы данных [ править ]
Если данные структурированы и какая-либо форма онлайн-обработки транзакций требуется базы данных . , обычно используются [14] Первоначально в основном реляционные базы данных использовались ACID с сильными гарантиями корректности транзакций ; большинство реляционных баз данных используют SQL для своих запросов. Однако с ростом объема данных в 2010-х годах базы данных NoSQL также стали популярными, поскольку их легче масштабировать по горизонтали, чем реляционные базы данных, отказываясь от гарантий транзакций ACID, а также уменьшая объектно-реляционное несоответствие импеданса . [15] Совсем недавно стали популярными базы данных NewSQL , которые пытаются обеспечить горизонтальное масштабирование, сохраняя при этом гарантии ACID. [16] [17] [18] [19]
Хранилища данных [ править ]
Если данные структурированы и аналитическая обработка в режиме онлайн требуется (но не обработка транзакций в режиме онлайн), то хранилища данных являются основным выбором. [20] Они обеспечивают анализ данных, добычу полезных ископаемых и искусственный интеллект в гораздо больших масштабах, чем могут позволить базы данных. [20] и действительно, данные часто перетекают из баз данных в хранилища данных. [21] Бизнес-аналитики , инженеры по обработке и анализу данных могут получить доступ к хранилищам данных с помощью таких инструментов, как SQL или программное обеспечение для бизнес-аналитики . [21]
Озера данных [ править ]
Озеро данных — это централизованное хранилище для хранения, обработки и защиты больших объемов данных. Озеро данных может содержать структурированные данные из реляционных баз данных , полуструктурированные данные , неструктурированные данные и двоичные данные . Озеро данных можно создать локально или в облачной среде с использованием сервисов поставщиков общедоступных облаков, таких как Amazon , Microsoft или Google .
Файлы [ править ]
Если данные менее структурированы, то зачастую они просто хранятся в виде файлов . Есть несколько вариантов:
- Файловые системы представляют данные иерархически во вложенных папках. [22]
- Блочное хранилище разбивает данные на фрагменты одинакового размера; [22] это часто совпадает с (виртуальными) жесткими дисками или твердотельными дисками .
- Объектное хранилище управляет данными с помощью метаданных ; [22] часто каждому файлу присваивается ключ, например UUID . [23]
Управление [ править ]
Количество и разнообразие различных процессов обработки данных и мест хранения могут оказаться ошеломляющими для пользователей. Это вдохновило на использование системы управления рабочими процессами (например, Airflow ), позволяющей определять, создавать и контролировать задачи обработки данных. [24] Задачи часто указываются в виде ориентированного ациклического графа (DAG) . [24]
Жизненный цикл [ править ]
Бизнес-планирование [ править ]
Бизнес-цели, которые руководители ставят перед собой в будущем, характеризуются ключевыми бизнес-планами, с их более примечательным определением в тактических бизнес-планах и их реализацией в оперативных бизнес-планах. Большинство предприятий сегодня осознают фундаментальную необходимость развивать бизнес-план, соответствующий этой стратегии. Часто бывает трудно реализовать эти планы из-за отсутствия прозрачности на тактическом и оперативном уровнях организаций. Этот вид планирования требует обратной связи, чтобы обеспечить раннее исправление проблем, возникающих из-за недопонимания и неправильной интерпретации бизнес-плана.
Проектирование систем [ править ]
Проектирование систем данных включает в себя несколько компонентов, таких как проектирование платформ данных и проектирование хранилищ данных. [25] [26]
Моделирование данных [ править ]
Это процесс создания модели данных , абстрактной модели для описания данных и связей между различными частями данных. [27]
Роли [ править ]
Дата-инженер [ править ]
Инженер по обработке данных — это тип инженера-программиста, который создает для больших данных конвейеры ETL для управления потоком данных через организацию. Это позволяет брать огромные объемы данных и превращать их в идеи . [28] Они сосредоточены на готовности данных к производству и таких вещах, как форматы, устойчивость, масштабирование и безопасность. Инженеры по обработке данных обычно имеют опыт разработки программного обеспечения и владеют такими языками программирования, как Java , Python , Scala и Rust . [29] [3] Они будут лучше знакомы с базами данных, архитектурой, облачными вычислениями и гибкой разработкой программного обеспечения . [3]
Специалист по данным [ править ]
Ученые, работающие с данными , больше сосредоточены на анализе данных, они лучше знакомы с математикой , алгоритмами , статистикой и машинным обучением . [3] [30]
См. также [ править ]
Ссылки [ править ]
- ^ «Что такое инженерия данных? | Быстрый взгляд на инженерию данных» . ЭДУКБА . 5 января 2020 г. . Проверено 31 июля 2022 г.
- ^ «Введение в инженерию данных» . Дремио . Проверено 31 июля 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б с д и ж Блэк, Натан (15 января 2020 г.). «Что такое инженерия данных и почему это так важно?» . Квантхаб . Проверено 31 июля 2022 г.
- ^ «Информационная инженерия — обзор | Темы ScienceDirect» . www.sciencedirect.com . Проверено 23 августа 2022 г.
- ^ «Информационная инженерия», часть 3 , часть 4 , часть 5 , часть 6 » Клайва Финкельштейна. В Computerworld, В глубине, приложение. 25 мая – 15 июня 1981.
- ^ Кристофер Аллен, Саймон Чатвин, Кэтрин Крири (2003). Введение в реляционные базы данных и программирование SQL.
- ^ Терри Хэлпин , Тони Морган (2010). Информационное моделирование и реляционные базы данных. п. 343
- ↑ Перейти обратно: Перейти обратно: а б с д и Доддс, Эрик. «История обработки данных и мегатенденции» . Раддерстек . Проверено 31 июля 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б с Шварцкопф, Мальта (7 марта 2020 г.). «Замечательная полезность вычислений с потоками данных» . АСМ СИГОПС . Проверено 31 июля 2022 г.
- ^ «Искровая бумага» (PDF) . Проверено 31 июля 2022 г.
- ^ Абади, Мартин; Бархам, Пол; Чен, Цзяньминь; Чен, Чжифэн; Дэвис, Энди; Дин, Джеффри; Девин, Матье; Гемават, Санджай; Ирвинг, Джеффри; Айсард, Майкл; Кудлур, Манджунатх; Левенберг, Джош; Монга, Раджат; Мур, Шерри; Мюррей, Дерек Г.; Штайнер, Бенуа; Такер, Пол; Васудеван, Виджай; Смотритель, Пит; Вике, Мартин; Ю, Юань; Чжэн, Сяоцян (2016). «TensorFlow: система крупномасштабного машинного обучения» . 12-й симпозиум USENIX по проектированию и внедрению операционных систем (OSDI 16) . стр. 265–283 . Проверено 31 июля 2022 г.
- ^ МакШерри, Фрэнк; Мюррей, Дерек; Айзекс, Ребекка; Айсард, Майкл (5 января 2013 г.). «Дифференциальный поток данных» . Майкрософт . Проверено 31 июля 2022 г.
- ^ «Дифференциальный поток данных» . Своевременный поток данных. 30 июля 2022 г. Проверено 31 июля 2022 г.
- ^ «Конспекты лекций | Системы баз данных | Электротехника и информатика | MIT OpenCourseWare» . ocw.mit.edu . Проверено 31 июля 2022 г.
- ^ Ливитт, Нил (2010). «Смогут ли базы данных NoSQL оправдать свои обещания?» (PDF) . IEEE-компьютер . 43 (2): 12–14. дои : 10.1109/MC.2010.58 . S2CID 26876882 .
- ^ Аслетт, Мэтью (2011). «Как поставщики баз данных отреагируют на NoSQL и NewSQL?» (PDF) . 451 Group (опубликовано 4 апреля 2011 г.) . Проверено 22 февраля 2020 г.
- ^ Павел, Андрей; Аслетт, Мэтью (2016). «Что действительно нового в NewSQL?» (PDF) . SIGMOD Запись . Проверено 22 февраля 2020 г.
- ^ Стоунбрейкер, Майкл (16 июня 2011 г.). «NewSQL: альтернатива NoSQL и старому SQL для новых OLTP-приложений» . Сообщения блога ACM . Проверено 22 февраля 2020 г.
- ^ Хофф, Тодд (24 сентября 2012 г.). «Самое удивительное открытие Google Spanner: NoSQL отсутствует, а NewSQL присутствует» . Проверено 22 февраля 2020 г.
- ↑ Перейти обратно: Перейти обратно: а б «Что такое хранилище данных?» . www.ibm.com . Проверено 31 июля 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б «Что такое хранилище данных? | Ключевые понятия | Веб-сервисы Amazon» . Amazon Веб-сервисы, Inc. Проверено 31 июля 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б с «Хранилище файлов, блочное хранилище или объектное хранилище?» . www.redhat.com . Проверено 31 июля 2022 г.
- ^ «Облачное объектное хранилище – Amazon S3 – Amazon Web Services» . Amazon Веб-сервисы, Inc. Проверено 31 июля 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б "Дом" . Апач Эйрфлоу . Проверено 31 июля 2022 г.
- ^ «Введение в инженерию данных» . Курсера . Проверено 31 июля 2022 г.
- ^ Финкельштейн, Клайв. Каковы этапы информационной инженерии .
- ^ «Что такое моделирование данных? Обзор, основные понятия и типы в деталях» . Simplelearn.com . 15 июня 2021 г. Проверено 31 июля 2022 г.
- ^ Тамир, Майк; Миллер, Стивен; Гальярди, Алессандро (11 декабря 2015 г.). «Инженер данных» . Рочестер, Нью-Йорк. дои : 10.2139/ssrn.2762013 . S2CID 113342650 . ССРН 2762013 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Инженер данных против специалиста по данным» . Блог трамплина . 7 февраля 2019 г. . Проверено 14 марта 2021 г.
- ^ «Что такое наука о данных и почему это важно» . Эдурека. 5 января 2017 г.
Дальнейшее чтение [ править ]
- Джон Хэрес (1992). «Информационная инженерия для опытных специалистов», Уайли.
- Клайв Финкельштейн (1989). Введение в информационную инженерию: от стратегического планирования к информационным системам . Сидней: Аддисон-Уэсли.
- Клайв Финкельштейн (1992). «Информационная инженерия: развитие стратегических систем». Сидней: Аддисон-Уэсли.
- Ян Макдональд (1986). «Информационная инженерия». в: Методологии проектирования информационных систем . Т.В. Олле и др. (ред.). Северная Голландия.
- Ян Макдональд (1988). «Автоматизация методологии информационной инженерии с помощью Information Engineering Facility». В кн.: Компьютеризированная помощь в течение жизненного цикла информационных систем . Т.В. Олле и др. (ред.). Северная Голландия.
- Джеймс Мартин и Клайв Финкельштейн . (1981). Информационная инженерия . Технический отчет (2 тома), Институт Саванта, Карнфорт, Ланкс, Великобритания.
- Джеймс Мартин (1989). Информационная инженерия . (3 тома), Prentice-Hall Inc.
- Клайв Финкельштейн (2006) «Архитектура предприятия для интеграции: методы и технологии быстрой доставки». Первое издание, Artech House, Норвуд, Массачусетс, в твердом переплете.
- Клайв Финкельштейн (2011) «Архитектура предприятия для интеграции: методы и технологии быстрой доставки». Второе издание доступно в формате PDF на сайте www.ies.aust.com, а также в виде электронной книги на Apple iPad и электронной книги на Amazon Kindle.
- Рейс, Джо; Хаусли, Мэтт (2022) «Основы инженерии данных». ISBN O'Reilly Media, Inc. 9781098108304
Внешние ссылки [ править ]
