ОБЗОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, РЕАЛИЗУЮЩЕГО ПРОЦЕССЫ ETL

Кузьмина Юлия Васильевна1, Кубанских Олеся Владимировна2
1Брянский государственный университет имени академика И.Г. Петровского, магистрант
2Брянский государственный университет имени академика И.Г. Петровского, кандидат физико-математических наук, старший преподаватель кафедры информатики и прикладной математики

Аннотация
В статье представлен обзор программного обеспечения, служащего для загрузки данных из различных источников в единое хранилище. Рассмотрены особенности инструментов ETL, входящих в состав некоторых продуктов Oracle, Microsoft SQL Server, Sybase, SAS Institute.

Ключевые слова: загрузка, извлечение, инструменты ETL, преобразование, хранилище данных


THE REVIEW OF THE SOFTWARE REALIZING ETL PROCESSES

Kuzmina Yuliya Vasilevna1, Kubanskikh Olesya Vladimirovna2
1Bryansk State University named after academician I.G. Petrovsky, undergraduate
2Bryansk State University named after academician I.G. Petrovsky, candidate of physical and mathematical sciences, high teacher of department of informatics and applied mathematics

Abstract
Article represents the overview of the software for extracting, transforming, loading data in data warehouse. Article considers features of the ETL tools which are a part of some products of Oracle, Microsoft SQL Server, Sybase, SAS Institute.

Keywords: data warehouses, ETL tools, extracting, loading, transforming


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кузьмина Ю.В., Кубанских О.В. Обзор программного обеспечения, реализующего процессы ETL // Современные научные исследования и инновации. 2017. № 1 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2017/01/76899 (дата обращения: 19.04.2024).

Концепция хранилищ данных зародилась в 80-х годах. Она начала широко использоваться с середины 90-х годов, после выхода книги  в 1992г. Уильяма Инмона (William H. Inmon) «Построение хранилищ данных» («Building the Data Warehouse»)

У. Инмон определяет хранилище данных как набор интегрированных, предметно-ориентированных, неизменчивых, поддерживающих хронологию баз данных, разработанных с целью выполнения функций систем поддержки принятия решений. [1]

Хранилище данных, как правило, значительно отличается от оперативных баз данных (рис. 1).

Рисунок 1. Основные отличия хранилища данных от оперативных баз данных

Обычно хранилище данных представляет собой автоматизированную систему (рис. 2), состоящую из организационной структуры, технических средств, базы или совокупности баз данных (БД) и программного обеспечения, которое выполняет, как правило, следующие функции:

-       извлечение данных из разнородных источников, их преобразование и загрузка в хранилище;

-       администрирование хранилища данных;

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

Рисунок 2. Структура ПО хранилища данных

При первоначальном заполнении и при последующем добавлении данных в хранилище возникают некоторые сложности (рис. 3). Из-за того, что исходные данные могут содержать излишнюю информацию или данные в другом формате, отличном от того, который требуется, зачастую бывает необходимо преобразовывать их каким-нибудь образом прежде, чем хранилище данных сможет их использовать.

Рисунок 3. Основные проблемы при заполнении хранилища данных

Процесс ETL – один из важнейших процессов в управлении хранилищами данных, который состоит из трех основных этапов:

-       извлечение (extracting) – данные извлекаются из различных внешних источников, (необязательно из баз данных) возможно, данные записаны в различных форматах;

-       преобразование (transforming) – изменение формата данных, очистка, или, наоборот, добавление новых данных, например, их агрегирование;

-       загрузка (loading) – размещение данных в таблицах хранилища данных.

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

Рассмотрим подробнее, какие средства ETL для извлечения, преобразования и загрузки данных входят в состав некоторых программных комплексов.

Oracle

Oracle Database — это отраслевая платформа для создания высокопроизводительных, масштабируемых и оптимизированных хранилищ данных [2]. В Oracle Database 11g включены вспомогательные инструменты, которые делают возможным преобразование данных во время загрузки. Решение ETL компании Oracle состоит из следующих компонентов[3]:

-         external tables. Внешние таблицы применяются для объединения процессов загрузки и преобразования. Они позволяют заменить промежуточные таблицы.

-         multitable inserts. Многотабличные вставки, то есть можно вставить данные сразу в несколько таблиц, используя при этом различные критерии к данным.

-         upserts. Вставки – обновления позволяют вставлять данные в таблицу, либо обновлять строки, если такие данные уже присутствуют. Для этого используется оператор языка SQL MERGE. Сначала проверяется некоторое условие. Если это условие истинно, то выполняется обновление данных в таблице (Update), а если нет – вставка новых данных (Insert).

-         table functions. Табличные функции имеют выходные данные набор строк. Для преобразования данных в них используется не декларативный язык SQL, а процедурный язык PL/SQL. Это позволяет выполнять более сложные преобразования, если они необходимы перед загрузкой в хранилище данных.

-         transportable tablespases. Переносимые табличные пространства позволяют эффективнее и быстрее перемещать данные из одной базы данных в другую.

Также в Oracle Database входит SQL*Loader – утилита для загрузки данных из внешних файлов в базу данных. Она позволяет извлекать данные из плоских файлов, баз данных Oracle, а также из других баз данных, например, Microsoft SQL Server, Sybase, Informix.

Основные особенности SQL*Loader [4]:

-         загрузка данных по сети;

-         загрузка данных из нескольких файлов данных в течение одного сеанса загрузки;

-         загрузка данных в несколько таблиц в течение одного сеанса загрузки;

-         манипулирование данными перед загрузкой, используя функции SQL;

-         выборочная загрузка данных на основании выбранных условий;

-         создание сложных отчетов об ошибках, которые облегчают процесс устранения неполадок;

-         загрузка сложных объектно-реляционных данных;

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

Microsoft SQL Server

Microsoft SQL Server включает службы SQL Server Integration Services (SSIS), которые представляют собой платформу для построения высокопроизводительных решений для интеграции данных, включая пакеты ETL [5].

Особенности SQL Server Integration Services [6]:

-         SSIS содержит Import/Export Wizard, с помощью которого можно осуществлять простой импорт и экспорт данных из источника данных до места назначения без преобразований;

-         для преобразования данных предусмотрено создание пакетов SSIS. Для создания пакетов есть пользовательский графический интерфейс и интерфейс командной строки;

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

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

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

-         пользователи могут писать код, чтобы определить свои собственные задачи, объекты для соединения, преобразования;

-         SSIS имеет программируемую объектную модель, которая позволяет разработчикам создавать свои собственные узлы для выполнения пакета. Такой узел может реагировать на события, запускать и останавливать пакеты, а также создавать, изменять и уничтожать пакеты хранения и загрузки и другие объекты;

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

Sybase

Sybase Warehouse Studio – открытая среда для проектирования хранилищ данных и управления метаданными. Она включает компонент Sybase PowerStage, который упрощает извлечение, преобразование и загрузку данных.

Особенности Sybase PowerStage [7]:

-            поддерживает основные базы данных, включая Oracle, Microsoft SQL Server, Informix, DB2, Sybase;

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

Еще один продукт компании Sybase, который предназначен для хранилищ данных и других задач аналитики, это аналитический сервер Sybase IQ [8]. Sybase IQ имеет производительность, гибкость и экономичность, большую, чем у других систем за счет своей хранения данных по колонкам, а не по строкам (записям) и запатентованной технологии сжатия данных и оптимизатора запросов. Sybase IQ содержит инструмент Sybase ETL. Его особенности:

- позволяет извлекать данные из различных гетерогенных источников и загружать их в Sybase IQ, используя функции трансформации данных;

- включает функциональность захвата изменений данных (Change Data Capture, CDC);

- поддерживает схему «Извлечение-Загрузка-Преобразование» (ELT), где этап преобразования происходит внутри хранилища данных;

- предоставляет графически пользовательский интерфейс;

- содержит среду отладки для ускорения разработки потоков преобразования данных [9].

SAS Institute

SAS Institute также предлагает технологии по созданию, управлению и эксплуатации хранилищ данных. Особенности системы  SAS в области ETL [10]:

- имеет прямой доступ к более чем 40 различным форматам (XLS, DBF, VSAM и др.) на 15 различных платформах (Oracle, Sybase, Informix, DB2, SAP и др.) посредством продукта SAS/ACCESS;

- данные, доступные через дескриптор SAS/ACCESS, имеют формат, совпадающий с собственным форматом хранения SAS для всех процедур работы с данными;

- для облегчения транспортировки данных между различными платформами (например, MVS, VM/CMS) и различными операционными системами (Windows, UNIX, Macintosh и др.) есть средства межплатформенного общения: SAS/CONNECT и SAS/SHARE;

- преобразование данных возможно с помощью различных средств обработки: SQL (для обработки реляционных данных), Data Step (4GL язык обработки данных, разработка SAS Institute), SAS/IML (язык для работы с матрицами, в виде матричной нотации);

- для очистки данных, кроме процедур, реализуемых с помощью стандартных языков обработки данных, система SAS включает процедуры: ANOVA для анализа дисперсий, REG, NREG, LOGISTIC для использования моделей линейной, нелинейной и логистической регрессии, MODEL для более сложных моделей.

Продукт SAS Master Data Management обеспечивает единое представление данных для упрощения анализа и облегчения процесса принятия решений.  Он помогает стандартизировать данные, формируя центральное хранилище данных, которое помогает последовательно управлять справочниками в масштабах целого предприятия [11].

Особенности SAS Master Data Management:

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

- связывание измерений, связывание записей через перекрестные ссылки;

- отслеживание исторических данных с фиксацией всех записей-источников;

- возможность обработки данных в пакетном режиме и в режиме реального времени.

Рассмотрев лишь некоторые предложения программных средств в области хранилищ данных, можно сделать вывод, что комплексы программного обеспечения, направленные на создание и администрирование хранилищ данных, включают и систему для извлечения, преобразования и загрузки данных (ETL) из различных источников.


Библиографический список
  1. Inmon W.H.. Building the Data Warehouses. Third edition. – Wiley Computer Publishing, 2002
  2. Oracle database 11g Express Edition overview.// Официальный сайт Oracle. 2016. URL: http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html (дата обращения 02.12.2016)
  3. Алапати С. Oracle Database 11g. Руководство администратора баз данных. Перевод с англ. – М. : ООО “И.Д. Вильямс”, 2010
  4. SQL*Loader Concepts. //Oracle Help Center. 2016. URL: http://docs.oracle.com/database/122/SUTIL/oracle-sql-loader-concepts.html (дата обращения 02.12.2016)
  5. Пакеты служб Integration Services (SSIS).//Сеть разработчиков Microsoft. 2016. URL: https://msdn.microsoft.com/ru-ru/library/ms141134(v=sql.120).aspx (дата обращения 05.12.2016)
  6. SQL Server Integration Services.// Wikipedia. 2016. URL: https://en.wikipedia.org/wiki/SQL_Server_Integration _Services (дата обращения 06.12.2016)
  7. Warehouse Studio. [Электронный ресурс]// URL: http://www.interface.ru/home.asp?artId=3168 (дата обращения 10.12.2016)
  8. Sybase IQ. // Официальный сайт компании Сайбейс. 2016. URL: https://www.sybase.ru/products/sybase_iq (дата обращения 10.12.2016)
  9. Installation Guide  Sybase ETL 4.9 Sybase, Inc., One Sybase Drive, Dublin, 2009
  10. Бритов П.А., Липчинский Е.А. Практика построения Хранилищ Данных: Система SAS [Электронный ресурс]. URL: http://www.osp.ru (дата обращения 11.12.2016)
  11. SAS Master Data Management (SAS MDM). [Электронный ресурс] URL: http://www.tadviser.ru/index.php/Продукт:SAS_Master_Data_Management _(SAS_MDM) (дата обращения 11.12.2016)


Количество просмотров публикации: Please wait

Все статьи автора «Кузьмина Юлия Васильевна»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

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

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация