Обзор программного обеспечения, реализующего процессы ETL
Рассмотрение обзора программного обеспечения, служащего для загрузки данных из различных источников в единое хранилище. Анализ особенностей инструментов ETL, входящих в состав некоторых продуктов Oracle, Microsoft SQL Server, Sybase, SAS Institute.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 03.06.2017 |
Размер файла | 225,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Обзор программного обеспечения, реализующего процессы ETL
Кузьмина Юлия Васильевна
Кубанских Олеся Владимировна
Аннотация
В статье представлен обзор программного обеспечения, служащего для загрузки данных из различных источников в единое хранилище. Рассмотрены особенности инструментов ETL, входящих в состав некоторых продуктов Oracle, Microsoft SQL Server, Sybase, SAS Institute.
Ключевые слова: загрузка, извлечение, инструменты ETL, преобразование, хранилище данных
Концепция хранилищ данных зародилась в 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)
Размещено на Allbest.ru
...Подобные документы
Microsoft Corporation как одна из крупнейших транснациональных компаний по производству программного обеспечения. Рейтинг производителей программного обеспечения, составленный по степени популярности среди пользователей всего мира. Выручка корпорации.
реферат [21,6 K], добавлен 22.01.2013Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Правовые основы лицензирования. Виды платного и бесплатного программного обеспечения, документы, подтверждающие наличие прав на его использование. Варианты лицензирования компании Microsoft, их достоинства и недостатки. Классификация продуктов Microsoft.
контрольная работа [38,1 K], добавлен 11.02.2011Разработка информационного обеспечения для формирования базы данных для государственной итоговой аттестации 9 классов. Обзор методов репликации и синхронизации баз данных. Преимущества алгоритма шифрования Rijndael. СУБД Microsoft SQL Server и Firebird.
дипломная работа [3,3 M], добавлен 27.06.2012Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.
курсовая работа [897,6 K], добавлен 21.11.2011Разработка программного обеспечения для передачи данных на удаленный хост; обеспечения записи переданной информации в хранилище; выборку данных из хранилища через критерии, определяемые пользователем на веб-ресурсе. Архитектура функций и процедур.
курсовая работа [728,2 K], добавлен 11.08.2012Анализ локально-вычислительной сети компании. Выбор общего программного обеспечения, обеспечения для инженерного отдела, бухгалтерии, сервера. Состав программного обеспечения вычислительной системы и его конфигурация. Сетевые операционные системы.
курсовая работа [405,4 K], добавлен 08.02.2016Общие сведения о платформе Microsoft NET Framework. Разработка приложения "Поставка и реализация программного обеспечения", содержащего базу данных о каталогах адресов в Internet. Описание логической структуры. Требования к техническому обеспечению.
курсовая работа [2,4 M], добавлен 28.06.2011Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Хранилище данных, принципы организации. Процессы работы с данными. OLAP-структура, технические аспекты многомерного хранения данных. Integration Services, заполнение хранилищ и витрин данных. Возможности систем с использованием технологий Microsoft.
курсовая работа [1,0 M], добавлен 05.12.2012Теория игр: основные понятия, модели, принципы; элементарные приемы решения игр в "чистых" и "смешанных" стратегиях. Разработка алгоритма программного обеспечения, реализующего математический аппарат теории игр. Выбор инструмента программирования Delphi.
дипломная работа [255,1 K], добавлен 27.03.2011Написание программного обеспечения на языке ассемблер для AVR-МК ATmega16, позволяющего осуществлять вычисление заданной функции. Введение входных данных с помощью определенного макроса с командой загрузки значений в регистры ldi. Исходный код программы.
контрольная работа [521,0 K], добавлен 23.11.2014Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.
дипломная работа [2,3 M], добавлен 22.07.2013Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Обзор и характеристика программного обеспечения компьютера как совокупности программ системы обработки информации. Характеристика аппаратного обеспечения как комплекса электрических и механических устройств, входящих в состав ЭВМ. Взаимодействие систем.
презентация [931,9 K], добавлен 23.12.2010Анализ современного рынка программных продуктов. Понятие виртуального тура и возможности его применения. Изучение программного обеспечения и технологии создания виртуальных туров. Панорамный снимок и виртуальная брошюра. Настройка параметров панорамы.
курсовая работа [3,5 M], добавлен 22.03.2016Разработка прикладного программного обеспечения деятельности регистратуры ведомственной поликлиники. Выбор редакции SQL Server 2005. Выбор учетной записи для служб SQL Server и режима аутентификации сервера. Кодовая страница и порядок сортировки.
курсовая работа [3,3 M], добавлен 30.07.2010Описание среды разработки Microsoft Visual Studio. Поддерживаемые технологии и языки программирования. Возможности и особенности компьютеризированного тестирования человека. Проектирование программного обеспечения с использованием объектного подхода.
курсовая работа [3,0 M], добавлен 09.02.2013