Зберігання і накопичення інформації та даних

Щоб мати можливість набути нові знання шляхом аналізу отриманої інформації чи просто неодноразово скористатися нею, останню треба накопичувати і зберігати. Людство здатне накопичувати інформацію і передавати її від покоління до покоління у вигляді знань і життєвого досвіду окремих людей, а також "колективної пам'яті" - традицій, звичаїв народів тощо. Постійно зростаючий обсяг інформації, проблеми достовірності її збереження та необхідність звернення до того самого інформаційного фрагменту багатьох користувачів породили потребу у застосуванні так званих зовнішніх (стосовно людської пам'яті) носіїв інформації, від паперових до електронних. Збереження інформації на зовнішніх носіях передбачає:

· вибір зовнішнього носія інформації;

· вибір чи розробку технології занесення та забезпечення подальшого доступу до інформації на обраному носії;

· формування і підтримка структури збереження інформації на обраному носії;

· формування і підтримка засобів доступу до інформації;

· введення інформації в обрану структуру збереження;

· актуалізацію інформації (оновлення для підтримання у стані, необхідному для вирішення поставлених перед інформаційною системою завдань);

· збереження та захист від пошкодження носія інформації;

· пошук, вибір та відтворення даних на вимогу користувачів.

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

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

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

В еволюції методів збереження даних на машинних носіях виділяють наступні етапи:

· автоматизована (механізована) обробка;

· ранні файлові системи;

· розвинуті файлові системи;

· ранні системи баз даних (БД);

· сучасні системи БД та сховища даних (реляційні, об'єктно-реляційні, постреляційні тощо).

Вперше автоматизована обробка інформації з застосуванням відповідних зовнішніх носії інформації з'явилася приблизно в 1800 році, коли Джеквард Лум почав робити розкрій тканини за взірцями, представленими перфокартами. У 1890 р. Холерит використовував технологію перфокарт для виконання перепису населення Сполучених Штатів. Бізнес Холлерита зрештою привів до виникнення компанії International Business Machines для виробництва устаткування, для запису даних на карти, сортування і складання таблиць.

До 1955 року перфокарта лишалася основним машинним носієм даних; для збереження перфокарт в багатьох компаніях відводилися цілі поверхи. На інших поверхах розміщалися шеренги перфораторів, сортувальників і табуляторів. Ці машини програмувалися шляхом перемонтування керуючих панелей, що управляли регістрами-нагромаджувачами і вибірково відтворювали карти на інших картах чи на папері.

Наступні етапи еволюції методів збереження інформації нерозривно пов'язані з обчислювальною технікою, зокрема, з використанням засобів обчислювальної техніки в автоматичній чи автоматизованій інформаційній системах, збереження інформації в пам'яті комп'ютера. Для інформаційних систем характерні:

· великі обсяги інформації, з якими доводиться мати справу;

· складна структура самої інформації;

· активне використання зовнішньої пам'яті;

· критичність вимог до швидкості виконання додатка, які вдалося реалізувати лише з появою магнітних дисків, файлів і файлових систем.

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

Ці обмеження неістотні для суто чисельних розрахунків. Навіть якщо програма повинна обробити великий обсяг інформації, при програмуванні можна так розташувати цю інформацію в зовнішній пам'яті, щоб програма працювала якнайшвидше. Для інформаційних систем, у яких потреба в поточних даних визначається користувачем, наявності тільки магнітних стрічок і барабанів недостатньо. Уявіть собі покупця квитка, який, стоячи біля каси, повинен дочекатися повного перемотування магнітної стрічки. Одною із природних вимог до таких систем є висока середня швидкість виконання операцій. Вимоги до обчислювальної техніки з боку нечисельних додатків викликали появу зйомних магнітних дисків з рухомими головками, що стало революцією в історії обчислювальної техніки. Ці пристрої зовнішньої пам'яті мали істотно більшу ємність, ніж магнітні барабани, забезпечували задовільну швидкість доступу до даних у режимі довільної вибірки, а можливість зміни дискового пакета на пристрої дозволяла мати практично необмежений архів даних.

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

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

У ранніх файлових системах (1955 – 1970 рр.) файли були організовані у просту послідовність; фізична структура даних збігалася з логічною структурою файлу. Типове програмне забезпечення виконувало лише операції введення / виведення даних. Незалежність даних була повністю відсутня, зміна організації даних вимагала повної модифікації програми, яка до них зверталася. Дані зберігалися з великою надлишковістю, а для полегшення їх сортування, аналізу та обробки застосовувалися спеціальні мови програмування.

У розвинутих файлових системах (1970 – 1980 рр.) фізичні дані представлені наборами даних з послідовною, індексно-послідовною і прямою організацією. У послідовному наборі даних всі записи організовані строго послідовним способом; у наборі даних з прямою організацією можливий безпосередній доступ до будь-якого запису за його ключем; у індексно-послідовному наборі даних існує багаторівнева система індексів, що дає змогу безпосередньо визначити доріжку диска, на якій розташований необхідний запис для його подальшого послідовного пошуку. Можливий як послідовний, так і довільний доступ до записів, але не до їх полів. Логічна і фізична структури файлів розрізняються між собою, але зв'язок між ними достатньо простий. Залишається значна надмірність даних. Зберігається тенденція розробляти і оптимізувати дані в основному для одного додатку. Основною функцією програмного забезпечення (ПЗ) обробки даних залишається доступ, а не управління даними.


Наслідком архітектури файлових систем (рис. 3.7) є те, що всі операції з організації та обробки даних у файлі виконуються прикладною програмою, яка безпосередньо звертається до файлу. Це зумовлює необхідність внесення змін у ці програми за будь-яких змін структури файлу (наприклад, просте додавання поля у записі) чи типу даних у файлі, тобто робить файлові системи залежними за структурою і за даними.

Рис. 3.7. Архітектура систем збереження інформації на основі файлових структур

Файлові структури, окрім залежності за даними та структурою, мають ще ряд недоліків з погляду виконання вимог інформаційних систем до організації збереження інформації, зокрема: розділеність й ізольованість даних; складність структури, управління та програмування; складність забезпечення багатокористувацького доступу; проблеми з безпекою і захистом інформації; взаємна несумісність файлів; неможливість ефективного пошуку даних при записах, що дублюються, складність сортування даних; складність представлення даних у вигляді, зручному для користувача; дублювання значної частини даних; неконтрольована надмірність даних, здатна породити суперечливості і аномалії даних, тобто різні значення тих самих даних, збережених у різних місцях. Так, якщо потрібно асоціювати дані з двох файлів, наприклад, файлів КЛІЄНТИ і ПРОДАЖІ, то треба витягнути дані з обох файлів і скомбінувати їх у третій. Для цього системні аналітики і програмісти повинні виділити необхідні частини кожного з файлів, визначити їхнє відношення один до одного і скоординувати їхню обробку для коректного видобування даних. Це складно навіть для двох файлів, не говорячи вже про десятки і сотні. Кожен файл повинен мати власну систему управління, що складається з програм, що дають клієнтам можливість виконувати наступні дії: створення структури файлу; додавання даних у файл; видалення даних з файлу; зміна даних у файлі; виведення вмісту файлу. Навіть найпростіша система, що складається з 20 файлів, зажадає мінімум 5*20=100 керуючих програм. Тільки для того, щоб змінити одне поле, наприклад, у файлі КЛІЄНТ, треба створити програму, що повинна виконати відповідні дії: помістити нову файлову структуру в буферну пам'ять комп'ютера; відкрити вихідний файл, використовуючи інший буфер; зчитати запис з вихідного файлу; перетворити вихідні дані у форму нової структури збереження; записати перетворені дані в нову файлову структуру; видалити вихідний файл; настроїти усі файли, що використовують змінений файл, на нову файлову структуру, тобто змінити маршрут доступу.

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

Тому сьогодні файлові системи зазвичай застосовуються для збереження слабко структурованої інформації, залишаючи подальшу структуризацію прикладним програмам.:Зокрема, файли використовують для збереження текстових даних, документів, текстів програм; формування об'єктних модулів та інформації, створюваної редакторами зв'язків; збереження графічної і звукової інформації тощо.

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


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

Рис. 3.8. Архітектура систем збереження інформації на основі баз даних

База даних може бути визначена як «спільно використовувана сукупність логічно зв'язаних даних і їхніх описів, призначена для задоволення інформаційних потреб організації», яка «зберігається з регульованою надмірністю» [53, с. 47; 55, с. 39]. Це єдине, велике сховище даних, що одноразово визначається, а потім використовується спільно багатьма користувачами. Підхід БД заснований на тому, що структура даних відокремлюється від додатка, що звертається до даних, і зберігається окремо, у частині БД, яка називається каталогом, чи словником БД.Відмінною рисою баз даних є те, що дані зберігаються спільно з їх описом, а в прикладних програмах опис даних не міститься. Незалежні від програм користувача дані зазвичай називаються метаданными. У сучасних системах метадані, що містять також інформацію про користувачів, формати відображення, статистику звернення до даних та інші зведення, зберігаються в словнику бази даних.

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

У БД усі дані є інтегрованими, оскільки зберігаються в одному місці - базі, банку чи сховищі даних. Прикладна програма може попросити СУБД звернутися до даних у будь-яких таблицях чи скомбінувати дані, а СУБД виконає необхідні операції. У задачу програміста більше не входить написання програм для об'єднання даних.

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

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

Бази даних, на основі яких організується збереження інформації у інформаційних системах, можуть бути прикладними, предметними або інтегрованими. В останньому випадку їх називають сховищами даних (Data Warehouse). Прикладні БД створюються для накопичення та збереження множини даних, призначених для одного або кількох споріднених застосувань; предметні – для збереження та використання даних щодо властивостей об’єктів чи процесів, які становлять предметну область інформаційної системи, при розв’язанні різних задач в межах цієї галузі різними користувачами. Сховище даних це база, у якій зберігаються дані, агреговані за багатма вимірами; у ньому у спільному середовищі під управлінням спільної СУБД спільно зберігаються та опрацьовуються дані з кількох предметних та/чи прикладних БД, які називають вітринами даних (Data Mart). У сховищі даних дані агреговані, дані зі сховища не вилучаються, а лише періодично поповнюються, багатокористувацький паралельний доступ до даних реалізується зверненням різних прикладних програм до спільної СУБД за моделлю гіперкуба.

Останнім часом широкого розповсюдження набули розподілені БД (рис. 3.9). Розподілена БД являє собою систему незалежних БД, реалізованих за власною технологією та власним форматом. Кожна БД управляється власною СУБД; об’єднане керування автономними БД здійснює система управління розподіленими БД, яка забезпечує інтегрований інтерфейс доступу до окремих БД. Такі системи застосовуються для збереження інформації у локальних, корпоративних, регіональних та глобальних мережах, зокрема, у всесвітній мережі Інтернет.


Рис. 3.9. Архітектура систем збереження інформації на основі розподілених баз даних