Поэтому традиционные 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-решений до нетрадиционных способов интеграции гетерогенной корпоративной информации.
SSIS судя по рис. 16.11 дает возможность комплексной полнофункциональной ETL-интеграции, обеспечивая возможности по функциональности, масштабируемости и производительности, существенно более высокие, чем у большинства конкурирующих аналогов, при значительно меньших затратах. Особенность решения составляет конвейерная архитектура, которая дает возможность получать данные из множества источников одновременно, выполнять целый ряд преобразований последовательно и передавать данные нескольким приемникам в параллельном режиме. Такого рода архитектура дает возможность применять SSIS-технологии не только для больших наборов данных, но и для множественных потоков данных. При перемещении данных из источника к приемнику или из нескольких источников к нескольким приемникам можно разделять, объединять, комбинировать потоки данных или иным образом манипулировать информацией. Рисунок 16.11 дает иллюстрацию примера манипулирования потоками данных при таком преобразовании. Рисунок 16.12 иллюстрирует процесс очистки данных.
Читать дальше
Конец ознакомительного отрывка
Купить книгу