ПІДГОТОВКА ДАНИХ ДЛЯ СИСТЕМ ПІДТРИМКИ ПРИЙНЯТТЯ РІШЕНЬ

Багато з питань, повязаних з системами підтримки прийняття рішень, в першу чергу стосуються завдань отримання і підготовки даних Ці дані слід витягти з різних джерел, очистити, перетворити і консолідувати, після чого завантажити в базу даних підтримки прийняття рішень Згодом завантажені дані повинні періодично оновлюватися Кожна з цих операцій6 заслуговує окремого обговорення Розглянемо їх по черзі, а потім завершимо розділ коротким обговоренням банків оперативних даних

Витяг даних

Витяг даних – це процес вибірки даних з оперативних баз даних та інших джерел Для вилучення даних існує безліч інструментів, включаючи утиліти, що надаються системою, користувальницькі програми витягання і комерційні продукти вилучення даних (загального призначення) У процесі вилучення зазвичай інтенсивно використовуються операції введення-виведення, що може послужити перешкодою для виконання інших операцій, важливих з точки зору діяльності підприємства Тому вилучення даних часто здійснюється в паралельному режимі (тобто як безліч паралельно виконуваних подпроцессов) і на фізичному рівні Але такі фізичні операції добування можуть викликати проблеми при подальшій обробці, оскільки вони можуть супроводжуватися втратою інформації (особливо даних про звязки), яка представляється яким фізичним способом, наприклад, за допомогою покажчиків або фізично суміжного розміщення З цієї причини програми вилучення іноді надають засоби захисту такої інформації за допомогою полів послідовних номерів записів і заміни покажчиків значеннями зовнішнього ключа

Очищення даних

Задовільний контроль інформації забезпечують лише деякі джерела даних Внаслідок цього, перш ніж дані будуть введені в базу даних підтримки прийняття рішень, зазвичай потрібно виконати їх очистку (Як правило, ця операція

6 Відзначимо, між іншим, що в цих операціях часто можна було б використовувати переваги обробки на рівні множин, властиві реляційних систем, хоча на практиці це відбувається рідко

виконується в пакетному режимі) Зазвичай очищення передбачає заповнення відсутніх значень, коригування друкарських помилок і інших помилок, допущених при введенні даних, визначення стандартних скорочень і форматів, заміну синонімів стандартними ідентифікаторами і тд Дані, які визначаються як помилкові і не можуть бути виправлені, відкидаються

Примітка Інформація, отримана при виконанні очищення даних, іноді використовується для виявлення причин помилок у джерелах даних і тому сприяє підвищенню якості міститься в них

Перетворення і консолідація даних

Після очищення даних отримана інформація, швидше за все, ще не відповідатиме вимогам системи підтримки прийняття рішень і, отже, потребуватиме відповідному перетворенні Зазвичай дані підготовляються у вигляді набору файлів, по одному файлу для кожної таблиці, визначеної у фізичної схемою Тому процедура перетворення даних повинна передбачати порядкове розбиття або обєднання вихідних записів, як описано в розділі 15 глави 1 Крім того, з метою підвищення продуктивності операції перетворення часто виконуються паралельно Вони можуть вимагати виконання великої кількості операцій введення-виведення і великих витрат процесорного часу

Примітка Помилки, що не були виправлені під час очищення, іноді виявляються в процесі перетворення даних Як і при очищенні, будь неправильні дані в загальному випадку відкидаються Аналогічним чином, інформація про помилки,

отримана в ході перетворення даних, може використовуватися для підвищення якості джерел даних

Процедура перетворення набуває особливої ​​важливості, коли необхідно виконати злиття дані, що надійшли з декількох різних джерел Цей процес називається консолідацією У такому випадку будь-яка неявна звязок між даними з окремих джерел повинна бути перетворена в явну шляхом введення явних значень

даних Крім того, якщо окремі значення дати і часу повязані і мають певний діловий сенс, вони повинні бути проконтрольовані і приведені у відповідність між окремими джерелами Цей процес називається синхронізацією часу

Слід зазначити, що завдання синхронізації часу може виявитися досить складною Припустимо, наприклад, що необхідно знайти середній дохід за квартал від обслуговування замовників на кожного торгового працівника Припустимо також, що

дані про замовників і доходи ведуться з фінансових кварталах в базі даних бухгалтерії, а дані про торгові працівниках та замовників ведуться за календарним кварталам в базі даних відділу збуту Очевидно, що необхідно виконати злиття даних двох зазначених баз Завдання консолідації даних про замовників менш складна – вона передбачає просту перевірку відповідності ідентифікаторів замовників Однак задача

синхронізації часу значно складніше Ми можемо обчислити доходи від обслуговування замовників за фінансовий квартал (з бази даних бухгалтерії), але ми не можемо сказати, які торгові працівники відповідали за обслуговування кожного з замовників у конкретний час, і тому взагалі не можемо визначити доходи від обслуговування замовників за календарний квартал

Завантаження даних

Розробники СУБД надають великого значення підвищенню ефективності операцій завантаження даних У даному випадку операцію завантаження даних розібємо на наступні етапи: а) пересилання перетворених і консолідованих даних у базу даних підтримки прийняття рішень б) перевірка узгодженості даних (тобто перевірка їх цілісності) в) побудова всіх необхідних індексів Нижче наведені короткі коментарі щодо кожного з цих етапів

Пересилання даних Сучасні СУБД зазвичай надають утиліти паралельної завантаження даних Іноді, перш ніж буде виконана справжня завантаження, дані перетворюються у внутрішній фізичний формат, необхідний для цільової СУБД Альтернативний і більш ефективний метод передбачає завантаження в робочі таблиці, склад яких відображає структуру цільової схеми У цих робочих таблицях (див вище п б) може бути виконана необхідна перевірка цілісності, а потім для пересилання даних з робочих таблиць до цільових таблиці може використовуватися операція INSERT, здійснювана на рівні множин

Перевірка цілісності Велика частина процесу перевірки цілісності завантажуваних даних може бути проведена ще до реального завантаження, без звернення до даних, що вже знаходяться в базі Однак деякі обмеження все ж не можуть бути перевірені без звернення до існуючої бази даних Наприклад, обмеження, що контролює унікальність значень, у загальному випадку має перевірятися під час реального завантаження (або, якщо завантаження виконується в пакетному режимі, після її завершення) Побудова індексів Наявність індексів може різко сповільнити процес завантаження даних, оскільки більшість продуктів виконує оновлення індексів при вставці в таблицю кожного рядка Тому іноді має сенс видаляти індекси перед завантаженням даних, а потім, після її завершення, створювати їх заново Однак такий підхід не буде доцільним, якщо кількість нових даних стосовно вже існуючим досить мало в цьому випадку витрати на створення індексів для всієї таблиці будуть істотно більше витрат на оновлення індексів Крім того, створення індексів для великої таблиці може бути причиною непереборних помилок виділення памяті, причому ймовірність їх виникнення в міру збільшення обсягу таблиці збільшується Примітка Більшість сучасних СУБД підтримує режим паралельного створення індексів, що дозволяє прискорити процеси завантаження даних та побудови індексів

Оновлення даних

У більшості баз даних підтримки прийняття рішень потрібно періодичне оновлення даних для підтримки їх актуальності Оновлення зазвичай передбачає часткове завантаження, хоча для деяких систем підтримки прийняття рішень потрібне видалення всіх даних з бази і їх повне перезавантаження При оновленні виникають ті ж проблеми, що і при завантаженні, і, крім того, може знадобитися, щоб оновлення виконувалося в той час, коли користувачі звертаються до бази даних (а це тягне за собою поява інших проблем)

Банки оперативних даних

Банки оперативних даних (Operational Data Store – ODS) представляють собою предметно-орієнтовані, інтегровані, мінливі, тобто оновлювані, поточні або майже поточні колекції даних [2220] Іншими словами, банки оперативних даних – це спеціалізовані бази даних Термін предметно-орієнтованіозначає, що розглянуті дані представляють деяку конкретну предметну область, наприклад інформацію про замовників, товарах і тп Банки оперативних даних можуть використовуватися для різних цілей – як область накопичення для фізичної реорганізації витягнутих оперативних даних, як засіб формування оперативних звітів, а також як засіб підтримки оперативних рішень Крім того, банки оперативних даних можуть служити місцем консолідації даних, якщо оперативні дані надходять з декількох джерел Тому вони можуть бути призначені для багатьох цілей

Примітка Оскільки банки оперативних даних не накопичують історичних даних, зазвичай вони не розростаються до занадто великих обсягів З іншого боку, банки оперативних даних зазвичай досить часто або навіть безперервно поповнюються

інформацією з джерел оперативних даних Для цієї мети іноді використовується асинхронна реплікація даних з джерел оперативних даних в банки оперативних даних (завдяки цьому часто вдається підтримувати повну актуальність даних із затримкою лише в декілька хвилин) Проблеми синхронізації часу (див наведений вище підрозділ Перетворення і консолідація даних) в операційних сховищах даних можуть успішно долатися, якщо оновлення виконується досить часто

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


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

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*