Читать «Основы проектирования корпоративных систем» онлайн - страница 221

Сергей Викторович Зыков

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

Рис. 16.10. Отсутствие промежуточного хранения данных

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

Рассмотрим структуру SSIS – Microsoft SQL Server Integration Services. В основе лежит разделение на потоки задач и потоки данных, без промежуточного хранения и без дублирования информации. SSIS содержат ядро поддержки потока задач, которое ориентировано на операции, а также масштабируемое быстрое ядро поддержки потока данных. Поток данных при этом существует в контексте общего потока задач. Первое ядро предоставляет ресурсы и поддержку операций для второго ядра. Такое сочетание потоков задач и потоков данных этих двух ядер обеспечивает эффективность подхода как для традиционных ETL-решений, так и для гетерогенных информационных хранилищ. При этом во многих более сложных ситуациях, например при поддержке центров обработки данных, использование подобного подхода оправданно и повышает эффективность.

Что касается потоков данных, попробуем рассмотреть некоторые примеры, в частности применение SSIS для поддержки процессов и работ, которые ориентированы на центры обработки данных. В основе лежит применение конвейерного подхода для преобразования данных. Архитектура конвейера поддерживает буферизацию, что позволяет конвейеру достаточно быстро осуществлять манипуляции над наборами данных после их загрузки в память. При этом суть похода заключается в выполнении всех этапов ETL-преобразований в рамках одной операции без промежуточного хранения. Хотя специфичные требования к преобразованию, операциям или оборудованию могут несколько осложнить реализацию этого подхода, тем не менее для повышения производительности архитектура позволяет в целом минимизировать объем промежуточного хранения данных. SSIS, по возможности, даже избегает копирования данных памяти, что принципиально отличается от традиционных ETL-средств, которые часто требуют промежуточного хранения данных практически на каждом этапе процесса преобразования, обработки, интеграции данных. Такого рода поддержка манипуляций над данными без промежуточного хранения позволяет существенно улучшить ETL-средства, а также дать возможность поддержки хранения и манипулирования с реляционными и плоскими данными. При этом гетерогенные данные, как структурированные, так и неструктурированные, хранящиеся в формате XML и т. д., перед загрузкой в буферы преобразуются в табличную структуру, т. е. разбиваются на строки и столбцы. И далее любую операцию с табличными данными можно выполнять на любой стадии функционирования конвейера поточной обработки данных. Это означает, что единственный конвейер способен интегрировать разнообразные источники данных и выполнять над этими источниками данных операции произвольной степени без промежуточного хранения. Конечно, если промежуточное хранение по эксплуатационным требованиям является необходимым, то SSIS дает возможность поддерживать и такого рода реализации. Эта архитектура позволяет применять SSIS в самых разных сценариях интеграции данных, от традиционных ETL-решений до нетрадиционных способов интеграции гетерогенной корпоративной информации.