Extract, Transform, Load (ETL) або Витяг, Перетворення та Завантаження — процес, який використовується в базах даних та, особливо, у сховищах даних та у засобах Business Intelligence для забезпечення їх роботи для підтримки прийняття рішень. ETL-процес, як концепція, набув поширення у 1970-х роках. Він охоплює наступні етапи обробки даних:
- [en] із зовнішніх джерел,
- Перетворення даних, для зберігання даних у відповідній структурі або форматі, з метою подальшого аналізу.
- Завантаження даних у кінцеву базу даних. Більш точно, це може бути вітрина даних або сховище даних.
Поняття ETL може стосуватися процесу завантаження будь-якої бази даних. Оскільки виймання даних займає багато часу, то для скорочення загального часу обробки, поширеним є одночасна робота всіх трьох етапів ETL. Поки дані виймаються, процес перетворення отримує інші дані і готує їх для завантаження, щоб уникнути очікування виконання попередніх етапів.
Зазвичай ETL системи об'єднують дані з численних застосунків (систем), які створені та підтримуються різними вендорами та розміщені на різному апаратному забезпеченні. Розрізнені системи, які містять первісні дані, нерідко підтримуються та використовуються різними співробітниками. Для прикладу, система обліку витрат може об'єднувати дані по фонду заробітної платні, продажам та придбанням.
Виймання
Перша частина процесу ETL передбачає виймання даних з джерельних (або вихідних) систем. У багатьох випадках це є найважливішим аспектом ETL, оскільки правильне виймання даних необхідне для успішного функціонування наступних процесів. Більшість сховищ даних об'єднують дані з різних джерельних систем. Кожна окрема система може також використовувати іншу організацію даних та/або формат файлів. Загальні джерела даних форматів включають реляційні бази даних, XML, JSON і плоскі бази даних, але можуть також включати структури не реляційної бази даних, такі, як [en] або інші структури даних, такі, як [en] або [en], або навіть формати, отримані з зовнішніх джерел за допомогою таких засобів, як пошуковий робот або [en]. Потокове відтворення вихідного джерела даних та завантаження на льоту в цільову базу даних є ще одним способом здійснення ETL, коли не вимагається проміжного зберігання даних. Загалом, фаза виймання спрямована на перетворення даних в єдиний формат, який потрібен на наступному кроці перетворення інформації.
Внутрішня частина виймання передбачає перевірку даних, щоб підтвердити, чи дані, отримані з джерел, мають правильні/очікувані значення в певному домені (наприклад, шаблонні/за умовчанням дані або список значень). Якщо дані не відповідають правилам перевірки, вони повністю або частково відхиляються. Відкинуті дані в ідеальному варіанті відправляються назад у джерельну систему для подальшого аналізу для виявлення та виправлення невірних записів. У деяких випадках сам процес виймання може мати правило перевірки даних, щоб прийняти дані та перейти на наступний етап.
Перетворення
На етапі перетворення даних застосовується серія правил або функцій до здобутих даних для підготовки цих даних до досягнення кінцевої цілі. Деякі дані взагалі не потребують перетворення; такі дані як «пряме переміщення» або «проходження крізь» дані.
Важливою функцією перетворення є очищення даних, яке має на меті передавати лише «правильні» дані. Виклик при взаємодії різних систем полягає у взаємодії відповідних систем. Набори символів, які можуть бути доступними в одній системі, можуть бути недоступними у інших системах.
В інших випадках, для задоволення бізнес та технічних потреб сервера або сховища даних може знадобитися одне або декілька наступних типів перетворень:
- Вибір лише певних стовпців для завантаження: (або вибір null (недійсних) стовпчиків для завантаження). Наприклад, якщо вихідні дані мають три стовпці (наприклад, «attributes»), roll_no, вік та зарплата, то вибір може мати лише roll_no та зарплату. Або механізм вибору може ігнорувати всі ті записи, де немає зарплати (salary = null).
- Переклад закодованих значень: (наприклад, якщо вихідна система кодів чоловіків помічається як «1» та жінок — як «2», але warehouse коди чоловіків як «Ч» і жінок як «Ж»)
- Значення вільної форми кодування: (наприклад, відображення «Чоловік» для «Ч»)
- Виведення нової розрахункової вартості: (наприклад, sale_amount = qty * unit_price)
- Сортування даних на основі списку стовпців для покращення ефективності пошуку
- Об'єднання даних із кількох джерел (наприклад, пошуку, злиття) та [en]
- Агрегація (наприклад, rollup — узагальнення кількох рядків даних — загальний обсяг продажів для кожного магазину, і для кожного регіону тощо)
- Створення значень сурогатних ключів
- Транспонування або поворот (перетворення кількох стовпців на кілька рядків або навпаки)
- Розбиття стовпця на кілька стовпців (наприклад, перетворення CSV списку розділеного комами, вказаного як рядок в одному стовпчику, в окремі значення в різних стовпцях).
- Розбиття повторюваних стовпців
- Пошук та перевірка відповідних даних з таблиць або реферованих файлів
- Застосування будь-якої форми перевірки даних; невдала перевірка може призвести до повного відхилення даних, часткового відхилення або відсутності відмови взагалі, і таким чином ніякі, деякі або всі дані не передаються на наступний крок залежно від розробки правил та обробки винятків; багато з перерахованих вище перетворень можуть призвести до винятків, наприклад, коли кодовий переклад аналізує невідомий код у розширеному вигляді
Завантаження
Фаза завантаження завантажує дані в кінцеву ціль, яка може бути простим обмеженим плоским файлом або сховищем даних. Залежно від потреб організації, цей процес дуже різниться. Деякі сховища даних можуть перезаписувати існуючу інформацію з сукупною інформацією; оновлення витягнутих даних часто проводиться щоденно, щотижнево або щомісячно. Інші сховища даних (або навіть інші частини одного і того ж сховища даних) можуть додавати нові дані в історичну форму через регулярні інтервали, наприклад, щогодини. Щоб зрозуміти це, розгляньте сховище даних, необхідне для ведення обліку продажів минулого року. Це сховище даних перезаписує будь-які дані старше року новими даними. Проте введення даних для будь-якого вікна на один рік здійснюється історично. Час і обсяг заміни чи додавання — це вибір стратегічного дизайну залежно від наявного часу та потреб бізнесу. Більш складні системи можуть підтримувати історію та [en] у даних, завантажених у сховище даних.
Оскільки фаза завантаження взаємодіє з базою даних, застосовуються обмеження, визначені в схемі бази даних, також як тригери активовані під час завантаження даних (наприклад, унікальність, посилальна цілісність, обов'язкові поля), що також сприяють загальній якості даних процесу ETL.
- Наприклад, фінансова установа може мати інформацію про клієнта в декількох відділах, і кожен відділ може мати інформацію про цього клієнта різним чином. Відділ членства може вказати клієнта за ім'ям, тоді як бухгалтерія може вказати клієнта за номером. ETL може поєднувати всі ці елементи даних та об'єднувати їх у єдину презентацію, наприклад, для зберігання в базі даних або сховищі даних.
- Інший спосіб, коли компанія використовує ETL, — це постійне переміщення інформації до іншої програми. Наприклад, нова програма може використовувати інший постачальник бази даних і, найімовірніше, зовсім іншу схему бази даних. ETL може бути використаний для перетворення даних у формат, придатний для використання новою програмою.
- Прикладом може бути [en], яка використовується бухгалтерським обліком, консультантами та юридичними фірмами. Дані, як правило, потрапляють у [en], хоча деякі підприємства також можуть використовувати вихідні дані для звітів про продуктивність працівників для управління людськими ресурсами (відділом персоналу) або звітів про використання обладнання.
Реальний цикл ETL
Типовий цикл реального життя ETL складається з наступних кроків виконання:
- Початок циклу
- Створення [en]
- Витяг (з джерел)
- Перевірка
- Трансформування ([en], застосування [en], перевірка цілісності інформації, створення [en] або дезагрегації)
- Стадія (завантаження в [en], якщо використовуються)
- (наприклад, про дотримання ділових правил, а також у випадку несправності, допомагає діагностувати / відновлювати)
- Опублікування (для цільових таблиць)
- Архівування
Виклики
Процеси ETL можуть задіяти значну складність, і можуть виникнути серйозні проблеми завдяки системам ETL, що було розроблено неналежним чином.
Діапазон значень даних або якість даних в операційній системі може перевищувати очікування дизайнерів у процесі перевірки правильності та виконанні правил перетворення. Профілювання даних джерелом під час аналізу даних може визначати умови даних, які повинні управляти специфікаціями правил перетворення, що призводить до внесення поправок до правил валідації, явно та неявно впроваджених у процесі ETL.
Сховища даних зазвичай збираються з різних джерел даних з різними форматами та цілями. Таким чином, ETL є ключовим процесом для об'єднання всіх даних у стандартному, однорідному середовищі.
Аналіз дизайну повинен визначати масштабованість системи ETL протягом усього терміну її використання, включаючи розуміння обсягів даних, які повинні оброблятися в рамках угод про рівень послуг. Час, доступний для витягування із вихідних систем, може змінюватися, що може означати, що однакова кількість даних може бути оброблена за менший час. Деякі системи ETL повинні масштабувати настільки, щоб обробляти терабайти даних для оновлення сховищ даних з десятками терабайтів даних. Збільшуючи обсяги даних, може знадобитися конструкція, яка може масштабуватись від щоденної партії до багатоденної мікро-партії до інтеграції з черги повідомлень або захопленням змін даних у режимі реального часу для постійного перетворення та оновлення.
Продуктивність
Продуктивність ETL-постачальники порівнюють свої реєстрові системи з кількома ТБ (в терабайтах) на годину (або ~ 1 Гб в секунду) за допомогою потужних серверів з декількома процесорами, кількома жорсткими дисками, декількома гігабітними мережевими з'єднаннями та великою кількістю пам'яті.
У реальному житті найнижча частина процесу ETL зазвичай відбувається у фазі завантаження бази даних. Бази даних можуть виконуватися повільно, оскільки вони повинні дбати про паралелі, підтримці цілісності та індексах. Таким чином, для підвищення продуктивності, може бути сенс використовувати:
- Пряме виймання або метод розвантаження, коли це можливо (замість запитів до бази даних), щоб зменшити навантаження на вихідну систему при отриманні високошвидкісного виймання
- Більшість обробки перетворень поза межами бази даних
- Обмеження навантаження, коли це можливо
Тим не менше, навіть за допомогою масових операцій, доступ до бази даних зазвичай є вузьким місцем у процесі ETL. Деякі загальні методи, які використовуються для підвищення продуктивності, є:
- (та індекси): спробуйте зберегти подібні розміри розділів (дивіться нульові значення, які можуть перекосити розділи).
- Проведіть всю перевірку в шасі ETL перед завантаженням: вимкніть перевірку цілісності (вимкніть обмеження) у таблицях цільових баз під час завантаження
- Відключити тригери (вимкнути тригер) у таблицях цільових баз під час завантаження: імітувати їх ефект як окремий крок
- Створення ідентифікаторів на рівні ETL (не в базі даних)
- Видалити індекси (у таблиці або розділі) перед завантаженням — і відтворити їх після завантаження (SQL: drop index; create index)
- Використовуйте паралельний об'ємне навантаження, коли можливо — добре працює, коли таблиця розділена або немає індексів (Примітка: спроба здійснення паралельних навантажень в одну таблицю (розділ) зазвичай призводить до блокування — якщо не на рядках даних, то на показники)
- Якщо існує вимога виконувати вставки, оновлення або видалення, дізнайтеся, які рядки слід обробляти таким чином у ETL, а потім обробляти ці три операції в базі даних окремо; ви часто можете робити масове завантаження для вставок, але оновлення та видалення зазвичай проходять через API (за допомогою SQL)
Незалежно від того, виконувати певні операції в базі даних або за межами зовнішньої сторони, це може призвести до компромісу. Наприклад, видалення дублікатів з використанням різних може бути повільним у базі даних; таким чином, має сенс робити це за межами. З іншого боку, якщо використання значних значень (x100) зменшує кількість рядків, які слід видобути, то має сенс якнайшвидше видалити дублікацію в базі даних, перш ніж вивантажувати дані.
Спільним джерелом проблем в ETL є велика кількість залежностей між роботами ETL. Наприклад, робота «B» не може розпочатися, поки робота «A» не закінчена. Як правило, можна досягти кращої продуктивності, візуалізувати всі процеси на графіку та намагатися зменшити графік, що робить максимальне використання паралелізму, і зробити «ланцюжки» послідовної обробки якомога коротшими. Знову ж таки, розбиття великих таблиць та їх показників дійсно може допомогти.
Інша поширеною проблема виникає, коли дані поширюються між декількома базами даних, а обробка даних здійснюється в цих базах даних послідовно. Іноді реплікація бази даних може бути задіяна як метод копіювання даних між базами даних — це може значно уповільнити весь процес. Загальне рішення — зменшити графік обробки лише на три шари:
- Джерела
- Центральний ETL шар
- Цілі
Цей підхід дозволяє обробці максимально використовувати паралелізм. Наприклад, якщо вам потрібно завантажити дані в дві бази даних, ви можете запускати завантаження паралельно (замість завантаження вперше, а потім — вдруге).
Іноді обробка повинна відбуватися послідовно. Наприклад, необхідні вимірювальні (довідкові) дані, перш ніж можна отримати та перевірити рядки для основних таблиць фактів.
Паралельне обчислення
Останні розробки в програмному забезпеченні ETL — це реалізація паралельних обчислень. Вона дозволила здійснити ряд методів для покращення загальної ефективності ETL при роботі з великими обсягами даних.
Програми ETL реалізують три основні типи паралелізму:
- Дані: розбиваючи один послідовний файл на менші файли даних для забезпечення паралельного доступу
- Pipeline: дозволяє одночасно виконувати декілька компонентів в одному потоці даних, наприклад, шукаючи значення запису 1 одночасно з додаванням двох полів у запису 2
- Компонент: одночасне проходження кількохпроцесів на різні потоки даних у тій самій джобі, наприклад, сортування одного вхідного файлу при видаленні дублікатів в іншому файлі
Всі три типи паралелізму, зазвичай, працюють в єдиній джобі.
Додаткова складність полягає в перевірці того, щоб завантажувані дані були відносно послідовними. Оскільки бази даних з кількома джерелами можуть мати різні цикли оновлення (деякі можуть бути оновлені кожні кілька хвилин, тоді як інші можуть займати кілька днів або тижнів), система ETL, можливо, буде вимагати затримувати певні дані, доки всі джерела не стануть синхронізованими. Точно так само, коли ссховище даних, можливо, доведеться узгодити з вмістом у вихідній системі або з головним бухгалтерським обліком, стає необхідним створення точок синхронізації та узгодження.
Перезавантаження, відновлюваність
Процедури сховища даних зазвичай підрозділяють великий процес ETL на менші частини, що працюють послідовно або паралельно. Щоб стежити за потоками даних, має сенс позначати кожен рядок даних за допомогою «row_id» і тегувати кожну частину процесу за допомогою «run_id». У випадку невдачі, наявність цих ідентифікаторів допоможе відмовитися і перезапустити невдалу частину.
Найкраща практика також вимагає контрольних пунктів, які є станом, коли завершуються певні етапи процесу. Хороша ідея писати все на диск один раз на контрольний пункт, очищати деякі тимчасові файли, вводити стан тощо.
Віртуальний ETL
З 2010 року [en] почала просувати обробку ETL. Застосування віртуалізації даних до ETL дозволило вирішити найбільш поширені завдання ETL з міграції даних та інтеграції додатків для декількох розподільних джерел даних. Віртуальний ETL працює з абстрактним представленням об'єктів або об'єктів, зібраних з різноманітних реляційних, напівструктурованих та неструктурованих джерел даних. Інструменти ETL можуть використовувати об'єктно-орієнтоване моделювання та працювати з представленнями підприємств, постійно зберігаються в центрально розташованій хаб-архітектурі. Така колекція, яка містить уявлення про об'єкти або об'єкти, зібрані з джерел даних для обробки ETL, називається сховищем метаданих, і він може перебувати в пам'яті або бути стійким. Використовуючи постійне сховище метаданих, інструменти ETL можуть переходити від одноразових проектів до постійного проміжного програмного забезпечення, виконуючи гармонізацію даних та профілювання даних послідовно та в режимі реального часу
Робота з ключами
Унікальні ключі відіграють важливу роль у всіх реляційних базах даних, оскільки вони взаємоз'єднують все. Унікальний ключ — це стовпчик, який ідентифікує даний об'єкт, тоді як зовнішній ключ — це стовпчик в іншій таблиці, що відноситься до первинного ключа. Ключі можуть складатися з декількох стовпчиків, у цьому випадку вони є складовими ключами. У багатьох випадках первинний ключ — це автоматично створене ціле число, яке не має сенсу для представлення суб'єкта господарювання, але є єдиним для цілей реляційної бази даних, який зазвичай називають сурогатним ключем.
Оскільки, як правило, більше ніж одне джерело даних завантажується у сховище даних, ключовими є важливі питання, які необхідно вирішити. Наприклад: клієнти можуть бути представлені в декількох джерелах даних із зазначенням номера соціального страхування як основного ключа в одному джерелі, їх номером телефону в іншому і сурогату — у третьому. Однак для сховища даних може знадобитися консолідація всієї інформації клієнта в одному вимірі.
Рекомендований спосіб вирішення проблеми полягає у додаванні сурогатного ключа зі сховища даних, який використовується як зовнішній ключ із результуючої таблиці.
Як правило, оновлення відбуваються з вихідними даними, що, має відображатися в сховищі даних.
Якщо для звітування потрібен первинний ключ вихідних даних, розмірність вже містить цей фрагмент інформації для кожного рядка. Якщо вихідні дані використовують сурогатний ключ, сховище даних повинно стежити за ним, навіть якщо його не використовують у запитах чи звітах; це робиться шляхом створення таблиці пошуку, яка містить сурогатний ключ сховища даних та первиний ключ. Таким чином, розмірність не забруднена сурогатами з різних вихідних систем, а можливість оновлення зберігається.
Таблиця пошуку використовується різними способами залежно від характеру вихідних даних. Існує 5 типів, на які слід враховувати; три наступні:
- Тип 1
- Рядок розмірів просто оновлюється, щоб відповідати поточному стану вихідної системи; сховище даних не фіксує історію; таблиця пошуку використовується для ідентифікації рядка розмірів для оновлення або перезапису
- Тип 2
- Новий рядок розмірів додано з новим станом вихідної системи; призначений новий сурогатний ключ; вихідний ключ більше не є унікальним у таблиці пошуку
- Повністю зареєстрований
- Новий рядок вимірювання додається з новим станом вихідної системи, тоді як рядок попереднього вимірювання оновлюється, щоб відобразити, що він більше не активний та час деактивації.
Інструменти
Використовуючи встановлену ETL-схему, можна збільшити шанси досягнення кращого підключення та масштабованості. Хороший інструмент ETL повинен мати можливість спілкуватися з багатьма різними реляційними базами даних і прочитати різні формати файлів, які використовуються в організації. Інструменти ETL почали мігрувати в [en] або навіть в Інтеграційну шину даних, які зараз охоплюють значно більше, ніж просто виймання, перетворення та завантаження даних. Багато постачальників ETL тепер мають профілі даних, [en] та можливості метаданих. Звичайне використання для інструментів ETL включає перетворення файлів CSV у формат, який можна зчитувати реляційними базами даних. Типовий переклад мільйонів записів полегшує ETL інструменти, які дозволяють користувачам вводити канали / файли даних csv і імпортувати їх у базу даних з якнайменш можливою кількістю коду.[]
Інструменти ETL, як правило, використовуються широким колом професіоналів — від студентів, що вивчають інформатику, які бажають швидко імпортувати великі обсяги даних до архітекторів баз даних, відповідальних за управління обліковими записами компанії, ETL інструменти стали зручним інструментом, на який можна покластися, щоб отримати максимальну ефективність. Інструменти ETL в більшості випадків містять графічний інтерфейс, який допомагає користувачам зручно перетворювати дані, використовуючи маппер візуальних даних, на відміну від написання великих програм для аналізу файлів та модифікації типів даних.
Хоча інструменти ETL традиційно були для розробників та І. Т. персоналу, нова тенденція полягає в тому, щоб забезпечити ці можливості діловим користувачам, щоб вони могли самостійно створювати зв'язки та інтеграцію даних, коли це потрібно, а не йти до І. Т. персоналу. Гартнер називає цих нетехнічних користувачів громадянськими інтеграторами.
Див. також
Примітки
- Ralph., Kimball, (2004). The data warehouse ETL toolkit : practical techniques for extracting, cleaning, conforming, and delivering data. Caserta, Joe, 1965-. Indianapolis, IN: Wiley. ISBN . OCLC 57301227.
- . Архів оригіналу за 24 серпня 2017. Процитовано 24 серпня 2017.
- Gallas, Susan. Kimball vs. Inmon, September 1999, dmDirect [Електронний ресурс] — 12.09.2007 -Режим доступу: http://www.dmreview.com/editorial/dmdirect/ dmdirect_article.cfm?EdID=1400&issue.
- . Архів оригіналу за 9 вересня 2017. Процитовано 2 січня 2018.
- Kimball, The Data Warehouse Lifecycle Toolkit, p 332
- Golfarelli/Rizzi, Data Warehouse Design, p 291
- . Архів оригіналу за 21 грудня 2015. Процитовано 31 січня 2016.
- . Архів оригіналу за 3 січня 2018. Процитовано 2 січня 2018.
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Extract Transform Load ETL abo Vityag Peretvorennya ta Zavantazhennya proces yakij vikoristovuyetsya v bazah danih ta osoblivo u shovishah danih ta u zasobah Business Intelligence dlya zabezpechennya yih roboti dlya pidtrimki prijnyattya rishen ETL proces yak koncepciya nabuv poshirennya u 1970 h rokah Vin ohoplyuye nastupni etapi obrobki danih en iz zovnishnih dzherel Peretvorennya danih dlya zberigannya danih u vidpovidnij strukturi abo formati z metoyu podalshogo analizu Zavantazhennya danih u kincevu bazu danih Bilsh tochno ce mozhe buti vitrina danih abo shovishe danih Tipovij ETL proces Ponyattya ETL mozhe stosuvatisya procesu zavantazhennya bud yakoyi bazi danih Oskilki vijmannya danih zajmaye bagato chasu to dlya skorochennya zagalnogo chasu obrobki poshirenim ye odnochasna robota vsih troh etapiv ETL Poki dani vijmayutsya proces peretvorennya otrimuye inshi dani i gotuye yih dlya zavantazhennya shob uniknuti ochikuvannya vikonannya poperednih etapiv Zazvichaj ETL sistemi ob yednuyut dani z chislennih zastosunkiv sistem yaki stvoreni ta pidtrimuyutsya riznimi vendorami ta rozmisheni na riznomu aparatnomu zabezpechenni Rozrizneni sistemi yaki mistyat pervisni dani neridko pidtrimuyutsya ta vikoristovuyutsya riznimi spivrobitnikami Dlya prikladu sistema obliku vitrat mozhe ob yednuvati dani po fondu zarobitnoyi platni prodazham ta pridbannyam VijmannyaPersha chastina procesu ETL peredbachaye vijmannya danih z dzherelnih abo vihidnih sistem U bagatoh vipadkah ce ye najvazhlivishim aspektom ETL oskilki pravilne vijmannya danih neobhidne dlya uspishnogo funkcionuvannya nastupnih procesiv Bilshist shovish danih ob yednuyut dani z riznih dzherelnih sistem Kozhna okrema sistema mozhe takozh vikoristovuvati inshu organizaciyu danih ta abo format fajliv Zagalni dzherela danih formativ vklyuchayut relyacijni bazi danih XML JSON i ploski bazi danih ale mozhut takozh vklyuchati strukturi ne relyacijnoyi bazi danih taki yak en abo inshi strukturi danih taki yak en abo en abo navit formati otrimani z zovnishnih dzherel za dopomogoyu takih zasobiv yak poshukovij robot abo en Potokove vidtvorennya vihidnogo dzherela danih ta zavantazhennya na lotu v cilovu bazu danih ye she odnim sposobom zdijsnennya ETL koli ne vimagayetsya promizhnogo zberigannya danih Zagalom faza vijmannya spryamovana na peretvorennya danih v yedinij format yakij potriben na nastupnomu kroci peretvorennya informaciyi Vnutrishnya chastina vijmannya peredbachaye perevirku danih shob pidtverditi chi dani otrimani z dzherel mayut pravilni ochikuvani znachennya v pevnomu domeni napriklad shablonni za umovchannyam dani abo spisok znachen Yaksho dani ne vidpovidayut pravilam perevirki voni povnistyu abo chastkovo vidhilyayutsya Vidkinuti dani v idealnomu varianti vidpravlyayutsya nazad u dzherelnu sistemu dlya podalshogo analizu dlya viyavlennya ta vipravlennya nevirnih zapisiv U deyakih vipadkah sam proces vijmannya mozhe mati pravilo perevirki danih shob prijnyati dani ta perejti na nastupnij etap PeretvorennyaNa etapi peretvorennya danih zastosovuyetsya seriya pravil abo funkcij do zdobutih danih dlya pidgotovki cih danih do dosyagnennya kincevoyi cili Deyaki dani vzagali ne potrebuyut peretvorennya taki dani yak pryame peremishennya abo prohodzhennya kriz dani Vazhlivoyu funkciyeyu peretvorennya ye ochishennya danih yake maye na meti peredavati lishe pravilni dani Viklik pri vzayemodiyi riznih sistem polyagaye u vzayemodiyi vidpovidnih sistem Nabori simvoliv yaki mozhut buti dostupnimi v odnij sistemi mozhut buti nedostupnimi u inshih sistemah V inshih vipadkah dlya zadovolennya biznes ta tehnichnih potreb servera abo shovisha danih mozhe znadobitisya odne abo dekilka nastupnih tipiv peretvoren Vibir lishe pevnih stovpciv dlya zavantazhennya abo vibir null nedijsnih stovpchikiv dlya zavantazhennya Napriklad yaksho vihidni dani mayut tri stovpci napriklad attributes roll no vik ta zarplata to vibir mozhe mati lishe roll no ta zarplatu Abo mehanizm viboru mozhe ignoruvati vsi ti zapisi de nemaye zarplati salary null Pereklad zakodovanih znachen napriklad yaksho vihidna sistema kodiv cholovikiv pomichayetsya yak 1 ta zhinok yak 2 ale warehouse kodi cholovikiv yak Ch i zhinok yak Zh Znachennya vilnoyi formi koduvannya napriklad vidobrazhennya Cholovik dlya Ch Vivedennya novoyi rozrahunkovoyi vartosti napriklad sale amount qty unit price Sortuvannya danih na osnovi spisku stovpciv dlya pokrashennya efektivnosti poshuku Ob yednannya danih iz kilkoh dzherel napriklad poshuku zlittya ta en Agregaciya napriklad rollup uzagalnennya kilkoh ryadkiv danih zagalnij obsyag prodazhiv dlya kozhnogo magazinu i dlya kozhnogo regionu tosho Stvorennya znachen surogatnih klyuchiv Transponuvannya abo povorot peretvorennya kilkoh stovpciv na kilka ryadkiv abo navpaki Rozbittya stovpcya na kilka stovpciv napriklad peretvorennya CSV spisku rozdilenogo komami vkazanogo yak ryadok v odnomu stovpchiku v okremi znachennya v riznih stovpcyah Rozbittya povtoryuvanih stovpciv Poshuk ta perevirka vidpovidnih danih z tablic abo referovanih fajliv Zastosuvannya bud yakoyi formi perevirki danih nevdala perevirka mozhe prizvesti do povnogo vidhilennya danih chastkovogo vidhilennya abo vidsutnosti vidmovi vzagali i takim chinom niyaki deyaki abo vsi dani ne peredayutsya na nastupnij krok zalezhno vid rozrobki pravil ta obrobki vinyatkiv bagato z pererahovanih vishe peretvoren mozhut prizvesti do vinyatkiv napriklad koli kodovij pereklad analizuye nevidomij kod u rozshirenomu viglyadiZavantazhennyaFaza zavantazhennya zavantazhuye dani v kincevu cil yaka mozhe buti prostim obmezhenim ploskim fajlom abo shovishem danih Zalezhno vid potreb organizaciyi cej proces duzhe riznitsya Deyaki shovisha danih mozhut perezapisuvati isnuyuchu informaciyu z sukupnoyu informaciyeyu onovlennya vityagnutih danih chasto provoditsya shodenno shotizhnevo abo shomisyachno Inshi shovisha danih abo navit inshi chastini odnogo i togo zh shovisha danih mozhut dodavati novi dani v istorichnu formu cherez regulyarni intervali napriklad shogodini Shob zrozumiti ce rozglyante shovishe danih neobhidne dlya vedennya obliku prodazhiv minulogo roku Ce shovishe danih perezapisuye bud yaki dani starshe roku novimi danimi Prote vvedennya danih dlya bud yakogo vikna na odin rik zdijsnyuyetsya istorichno Chas i obsyag zamini chi dodavannya ce vibir strategichnogo dizajnu zalezhno vid nayavnogo chasu ta potreb biznesu Bilsh skladni sistemi mozhut pidtrimuvati istoriyu ta en u danih zavantazhenih u shovishe danih Oskilki faza zavantazhennya vzayemodiye z bazoyu danih zastosovuyutsya obmezhennya viznacheni v shemi bazi danih takozh yak trigeri aktivovani pid chas zavantazhennya danih napriklad unikalnist posilalna cilisnist obov yazkovi polya sho takozh spriyayut zagalnij yakosti danih procesu ETL Napriklad finansova ustanova mozhe mati informaciyu pro kliyenta v dekilkoh viddilah i kozhen viddil mozhe mati informaciyu pro cogo kliyenta riznim chinom Viddil chlenstva mozhe vkazati kliyenta za im yam todi yak buhgalteriya mozhe vkazati kliyenta za nomerom ETL mozhe poyednuvati vsi ci elementi danih ta ob yednuvati yih u yedinu prezentaciyu napriklad dlya zberigannya v bazi danih abo shovishi danih Inshij sposib koli kompaniya vikoristovuye ETL ce postijne peremishennya informaciyi do inshoyi programi Napriklad nova programa mozhe vikoristovuvati inshij postachalnik bazi danih i najimovirnishe zovsim inshu shemu bazi danih ETL mozhe buti vikoristanij dlya peretvorennya danih u format pridatnij dlya vikoristannya novoyu programoyu Prikladom mozhe buti en yaka vikoristovuyetsya buhgalterskim oblikom konsultantami ta yuridichnimi firmami Dani yak pravilo potraplyayut u en hocha deyaki pidpriyemstva takozh mozhut vikoristovuvati vihidni dani dlya zvitiv pro produktivnist pracivnikiv dlya upravlinnya lyudskimi resursami viddilom personalu abo zvitiv pro vikoristannya obladnannya Realnij cikl ETLTipovij cikl realnogo zhittya ETL skladayetsya z nastupnih krokiv vikonannya Pochatok ciklu Stvorennya en Vityag z dzherel Perevirka Transformuvannya en zastosuvannya en perevirka cilisnosti informaciyi stvorennya en abo dezagregaciyi Stadiya zavantazhennya v en yaksho vikoristovuyutsya napriklad pro dotrimannya dilovih pravil a takozh u vipadku nespravnosti dopomagaye diagnostuvati vidnovlyuvati Opublikuvannya dlya cilovih tablic ArhivuvannyaViklikiProcesi ETL mozhut zadiyati znachnu skladnist i mozhut viniknuti serjozni problemi zavdyaki sistemam ETL sho bulo rozrobleno nenalezhnim chinom Diapazon znachen danih abo yakist danih v operacijnij sistemi mozhe perevishuvati ochikuvannya dizajneriv u procesi perevirki pravilnosti ta vikonanni pravil peretvorennya Profilyuvannya danih dzherelom pid chas analizu danih mozhe viznachati umovi danih yaki povinni upravlyati specifikaciyami pravil peretvorennya sho prizvodit do vnesennya popravok do pravil validaciyi yavno ta neyavno vprovadzhenih u procesi ETL Shovisha danih zazvichaj zbirayutsya z riznih dzherel danih z riznimi formatami ta cilyami Takim chinom ETL ye klyuchovim procesom dlya ob yednannya vsih danih u standartnomu odnoridnomu seredovishi Analiz dizajnu povinen viznachati masshtabovanist sistemi ETL protyagom usogo terminu yiyi vikoristannya vklyuchayuchi rozuminnya obsyagiv danih yaki povinni obroblyatisya v ramkah ugod pro riven poslug Chas dostupnij dlya vityaguvannya iz vihidnih sistem mozhe zminyuvatisya sho mozhe oznachati sho odnakova kilkist danih mozhe buti obroblena za menshij chas Deyaki sistemi ETL povinni masshtabuvati nastilki shob obroblyati terabajti danih dlya onovlennya shovish danih z desyatkami terabajtiv danih Zbilshuyuchi obsyagi danih mozhe znadobitisya konstrukciya yaka mozhe masshtabuvatis vid shodennoyi partiyi do bagatodennoyi mikro partiyi do integraciyi z chergi povidomlen abo zahoplennyam zmin danih u rezhimi realnogo chasu dlya postijnogo peretvorennya ta onovlennya ProduktivnistProduktivnist ETL postachalniki porivnyuyut svoyi reyestrovi sistemi z kilkoma TB v terabajtah na godinu abo 1 Gb v sekundu za dopomogoyu potuzhnih serveriv z dekilkoma procesorami kilkoma zhorstkimi diskami dekilkoma gigabitnimi merezhevimi z yednannyami ta velikoyu kilkistyu pam yati U realnomu zhitti najnizhcha chastina procesu ETL zazvichaj vidbuvayetsya u fazi zavantazhennya bazi danih Bazi danih mozhut vikonuvatisya povilno oskilki voni povinni dbati pro paraleli pidtrimci cilisnosti ta indeksah Takim chinom dlya pidvishennya produktivnosti mozhe buti sens vikoristovuvati Pryame vijmannya abo metod rozvantazhennya koli ce mozhlivo zamist zapitiv do bazi danih shob zmenshiti navantazhennya na vihidnu sistemu pri otrimanni visokoshvidkisnogo vijmannya Bilshist obrobki peretvoren poza mezhami bazi danih Obmezhennya navantazhennya koli ce mozhlivo Tim ne menshe navit za dopomogoyu masovih operacij dostup do bazi danih zazvichaj ye vuzkim miscem u procesi ETL Deyaki zagalni metodi yaki vikoristovuyutsya dlya pidvishennya produktivnosti ye ta indeksi sprobujte zberegti podibni rozmiri rozdiliv divitsya nulovi znachennya yaki mozhut perekositi rozdili Provedit vsyu perevirku v shasi ETL pered zavantazhennyam vimknit perevirku cilisnosti vimknit obmezhennya u tablicyah cilovih baz pid chas zavantazhennya Vidklyuchiti trigeri vimknuti triger u tablicyah cilovih baz pid chas zavantazhennya imituvati yih efekt yak okremij krok Stvorennya identifikatoriv na rivni ETL ne v bazi danih Vidaliti indeksi u tablici abo rozdili pered zavantazhennyam i vidtvoriti yih pislya zavantazhennya SQL drop index create index Vikoristovujte paralelnij ob yemne navantazhennya koli mozhlivo dobre pracyuye koli tablicya rozdilena abo nemaye indeksiv Primitka sproba zdijsnennya paralelnih navantazhen v odnu tablicyu rozdil zazvichaj prizvodit do blokuvannya yaksho ne na ryadkah danih to na pokazniki Yaksho isnuye vimoga vikonuvati vstavki onovlennya abo vidalennya diznajtesya yaki ryadki slid obroblyati takim chinom u ETL a potim obroblyati ci tri operaciyi v bazi danih okremo vi chasto mozhete robiti masove zavantazhennya dlya vstavok ale onovlennya ta vidalennya zazvichaj prohodyat cherez API za dopomogoyu SQL Nezalezhno vid togo vikonuvati pevni operaciyi v bazi danih abo za mezhami zovnishnoyi storoni ce mozhe prizvesti do kompromisu Napriklad vidalennya dublikativ z vikoristannyam riznih mozhe buti povilnim u bazi danih takim chinom maye sens robiti ce za mezhami Z inshogo boku yaksho vikoristannya znachnih znachen x100 zmenshuye kilkist ryadkiv yaki slid vidobuti to maye sens yaknajshvidshe vidaliti dublikaciyu v bazi danih persh nizh vivantazhuvati dani Spilnim dzherelom problem v ETL ye velika kilkist zalezhnostej mizh robotami ETL Napriklad robota B ne mozhe rozpochatisya poki robota A ne zakinchena Yak pravilo mozhna dosyagti krashoyi produktivnosti vizualizuvati vsi procesi na grafiku ta namagatisya zmenshiti grafik sho robit maksimalne vikoristannya paralelizmu i zrobiti lancyuzhki poslidovnoyi obrobki yakomoga korotshimi Znovu zh taki rozbittya velikih tablic ta yih pokaznikiv dijsno mozhe dopomogti Insha poshirenoyu problema vinikaye koli dani poshiryuyutsya mizh dekilkoma bazami danih a obrobka danih zdijsnyuyetsya v cih bazah danih poslidovno Inodi replikaciya bazi danih mozhe buti zadiyana yak metod kopiyuvannya danih mizh bazami danih ce mozhe znachno upovilniti ves proces Zagalne rishennya zmenshiti grafik obrobki lishe na tri shari Dzherela Centralnij ETL shar Cili Cej pidhid dozvolyaye obrobci maksimalno vikoristovuvati paralelizm Napriklad yaksho vam potribno zavantazhiti dani v dvi bazi danih vi mozhete zapuskati zavantazhennya paralelno zamist zavantazhennya vpershe a potim vdruge Inodi obrobka povinna vidbuvatisya poslidovno Napriklad neobhidni vimiryuvalni dovidkovi dani persh nizh mozhna otrimati ta pereviriti ryadki dlya osnovnih tablic faktiv Paralelne obchislennyaOstanni rozrobki v programnomu zabezpechenni ETL ce realizaciya paralelnih obchislen Vona dozvolila zdijsniti ryad metodiv dlya pokrashennya zagalnoyi efektivnosti ETL pri roboti z velikimi obsyagami danih Programi ETL realizuyut tri osnovni tipi paralelizmu Dani rozbivayuchi odin poslidovnij fajl na menshi fajli danih dlya zabezpechennya paralelnogo dostupu Pipeline dozvolyaye odnochasno vikonuvati dekilka komponentiv v odnomu potoci danih napriklad shukayuchi znachennya zapisu 1 odnochasno z dodavannyam dvoh poliv u zapisu 2 Komponent odnochasne prohodzhennya kilkohprocesiv na rizni potoki danih u tij samij dzhobi napriklad sortuvannya odnogo vhidnogo fajlu pri vidalenni dublikativ v inshomu fajli Vsi tri tipi paralelizmu zazvichaj pracyuyut v yedinij dzhobi Dodatkova skladnist polyagaye v perevirci togo shob zavantazhuvani dani buli vidnosno poslidovnimi Oskilki bazi danih z kilkoma dzherelami mozhut mati rizni cikli onovlennya deyaki mozhut buti onovleni kozhni kilka hvilin todi yak inshi mozhut zajmati kilka dniv abo tizhniv sistema ETL mozhlivo bude vimagati zatrimuvati pevni dani doki vsi dzherela ne stanut sinhronizovanimi Tochno tak samo koli sshovishe danih mozhlivo dovedetsya uzgoditi z vmistom u vihidnij sistemi abo z golovnim buhgalterskim oblikom staye neobhidnim stvorennya tochok sinhronizaciyi ta uzgodzhennya Perezavantazhennya vidnovlyuvanistProceduri shovisha danih zazvichaj pidrozdilyayut velikij proces ETL na menshi chastini sho pracyuyut poslidovno abo paralelno Shob stezhiti za potokami danih maye sens poznachati kozhen ryadok danih za dopomogoyu row id i teguvati kozhnu chastinu procesu za dopomogoyu run id U vipadku nevdachi nayavnist cih identifikatoriv dopomozhe vidmovitisya i perezapustiti nevdalu chastinu Najkrasha praktika takozh vimagaye kontrolnih punktiv yaki ye stanom koli zavershuyutsya pevni etapi procesu Horosha ideya pisati vse na disk odin raz na kontrolnij punkt ochishati deyaki timchasovi fajli vvoditi stan tosho Virtualnij ETLZ 2010 roku en pochala prosuvati obrobku ETL Zastosuvannya virtualizaciyi danih do ETL dozvolilo virishiti najbilsh poshireni zavdannya ETL z migraciyi danih ta integraciyi dodatkiv dlya dekilkoh rozpodilnih dzherel danih Virtualnij ETL pracyuye z abstraktnim predstavlennyam ob yektiv abo ob yektiv zibranih z riznomanitnih relyacijnih napivstrukturovanih ta nestrukturovanih dzherel danih Instrumenti ETL mozhut vikoristovuvati ob yektno oriyentovane modelyuvannya ta pracyuvati z predstavlennyami pidpriyemstv postijno zberigayutsya v centralno roztashovanij hab arhitekturi Taka kolekciya yaka mistit uyavlennya pro ob yekti abo ob yekti zibrani z dzherel danih dlya obrobki ETL nazivayetsya shovishem metadanih i vin mozhe perebuvati v pam yati abo buti stijkim Vikoristovuyuchi postijne shovishe metadanih instrumenti ETL mozhut perehoditi vid odnorazovih proektiv do postijnogo promizhnogo programnogo zabezpechennya vikonuyuchi garmonizaciyu danih ta profilyuvannya danih poslidovno ta v rezhimi realnogo chasuRobota z klyuchamiUnikalni klyuchi vidigrayut vazhlivu rol u vsih relyacijnih bazah danih oskilki voni vzayemoz yednuyut vse Unikalnij klyuch ce stovpchik yakij identifikuye danij ob yekt todi yak zovnishnij klyuch ce stovpchik v inshij tablici sho vidnositsya do pervinnogo klyucha Klyuchi mozhut skladatisya z dekilkoh stovpchikiv u comu vipadku voni ye skladovimi klyuchami U bagatoh vipadkah pervinnij klyuch ce avtomatichno stvorene cile chislo yake ne maye sensu dlya predstavlennya sub yekta gospodaryuvannya ale ye yedinim dlya cilej relyacijnoyi bazi danih yakij zazvichaj nazivayut surogatnim klyuchem Oskilki yak pravilo bilshe nizh odne dzherelo danih zavantazhuyetsya u shovishe danih klyuchovimi ye vazhlivi pitannya yaki neobhidno virishiti Napriklad kliyenti mozhut buti predstavleni v dekilkoh dzherelah danih iz zaznachennyam nomera socialnogo strahuvannya yak osnovnogo klyucha v odnomu dzhereli yih nomerom telefonu v inshomu i surogatu u tretomu Odnak dlya shovisha danih mozhe znadobitisya konsolidaciya vsiyeyi informaciyi kliyenta v odnomu vimiri Rekomendovanij sposib virishennya problemi polyagaye u dodavanni surogatnogo klyucha zi shovisha danih yakij vikoristovuyetsya yak zovnishnij klyuch iz rezultuyuchoyi tablici Yak pravilo onovlennya vidbuvayutsya z vihidnimi danimi sho maye vidobrazhatisya v shovishi danih Yaksho dlya zvituvannya potriben pervinnij klyuch vihidnih danih rozmirnist vzhe mistit cej fragment informaciyi dlya kozhnogo ryadka Yaksho vihidni dani vikoristovuyut surogatnij klyuch shovishe danih povinno stezhiti za nim navit yaksho jogo ne vikoristovuyut u zapitah chi zvitah ce robitsya shlyahom stvorennya tablici poshuku yaka mistit surogatnij klyuch shovisha danih ta pervinij klyuch Takim chinom rozmirnist ne zabrudnena surogatami z riznih vihidnih sistem a mozhlivist onovlennya zberigayetsya Tablicya poshuku vikoristovuyetsya riznimi sposobami zalezhno vid harakteru vihidnih danih Isnuye 5 tipiv na yaki slid vrahovuvati tri nastupni Tip 1 Ryadok rozmiriv prosto onovlyuyetsya shob vidpovidati potochnomu stanu vihidnoyi sistemi shovishe danih ne fiksuye istoriyu tablicya poshuku vikoristovuyetsya dlya identifikaciyi ryadka rozmiriv dlya onovlennya abo perezapisu Tip 2 Novij ryadok rozmiriv dodano z novim stanom vihidnoyi sistemi priznachenij novij surogatnij klyuch vihidnij klyuch bilshe ne ye unikalnim u tablici poshuku Povnistyu zareyestrovanij Novij ryadok vimiryuvannya dodayetsya z novim stanom vihidnoyi sistemi todi yak ryadok poperednogo vimiryuvannya onovlyuyetsya shob vidobraziti sho vin bilshe ne aktivnij ta chas deaktivaciyi InstrumentiVikoristovuyuchi vstanovlenu ETL shemu mozhna zbilshiti shansi dosyagnennya krashogo pidklyuchennya ta masshtabovanosti Horoshij instrument ETL povinen mati mozhlivist spilkuvatisya z bagatma riznimi relyacijnimi bazami danih i prochitati rizni formati fajliv yaki vikoristovuyutsya v organizaciyi Instrumenti ETL pochali migruvati v en abo navit v Integracijnu shinu danih yaki zaraz ohoplyuyut znachno bilshe nizh prosto vijmannya peretvorennya ta zavantazhennya danih Bagato postachalnikiv ETL teper mayut profili danih en ta mozhlivosti metadanih Zvichajne vikoristannya dlya instrumentiv ETL vklyuchaye peretvorennya fajliv CSV u format yakij mozhna zchituvati relyacijnimi bazami danih Tipovij pereklad miljoniv zapisiv polegshuye ETL instrumenti yaki dozvolyayut koristuvacham vvoditi kanali fajli danih csv i importuvati yih u bazu danih z yaknajmensh mozhlivoyu kilkistyu kodu dzherelo Instrumenti ETL yak pravilo vikoristovuyutsya shirokim kolom profesionaliv vid studentiv sho vivchayut informatiku yaki bazhayut shvidko importuvati veliki obsyagi danih do arhitektoriv baz danih vidpovidalnih za upravlinnya oblikovimi zapisami kompaniyi ETL instrumenti stali zruchnim instrumentom na yakij mozhna poklastisya shob otrimati maksimalnu efektivnist Instrumenti ETL v bilshosti vipadkiv mistyat grafichnij interfejs yakij dopomagaye koristuvacham zruchno peretvoryuvati dani vikoristovuyuchi mapper vizualnih danih na vidminu vid napisannya velikih program dlya analizu fajliv ta modifikaciyi tipiv danih Hocha instrumenti ETL tradicijno buli dlya rozrobnikiv ta I T personalu nova tendenciya polyagaye v tomu shob zabezpechiti ci mozhlivosti dilovim koristuvacham shob voni mogli samostijno stvoryuvati zv yazki ta integraciyu danih koli ce potribno a ne jti do I T personalu Gartner nazivaye cih netehnichnih koristuvachiv gromadyanskimi integratorami Div takozhArhitekturni shabloni programnogo zabezpechennya CRUD Elektronnij obmin danimi Arhitektura pidpriyemstva OLAPPrimitkiRalph Kimball 2004 The data warehouse ETL toolkit practical techniques for extracting cleaning conforming and delivering data Caserta Joe 1965 Indianapolis IN Wiley ISBN 0764579231 OCLC 57301227 Arhiv originalu za 24 serpnya 2017 Procitovano 24 serpnya 2017 Gallas Susan Kimball vs Inmon September 1999 dmDirect Elektronnij resurs 12 09 2007 Rezhim dostupu http www dmreview com editorial dmdirect dmdirect article cfm EdID 1400 amp issue Arhiv originalu za 9 veresnya 2017 Procitovano 2 sichnya 2018 Kimball The Data Warehouse Lifecycle Toolkit p 332 Golfarelli Rizzi Data Warehouse Design p 291 Arhiv originalu za 21 grudnya 2015 Procitovano 31 sichnya 2016 Arhiv originalu za 3 sichnya 2018 Procitovano 2 sichnya 2018 Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi