Смекни!
smekni.com

Історія розвитку баз даних (стр. 1 из 3)

РЕФЕРАТ

На тему: Історія розвитку баз даних


Історія розвитку баз даних

У історії обчислювальної техніки можна прослідкувати розвиток двох основних областей її використання. Перша область — застосування обчислювальної техніки для виконання чисельних розрахунків, які дуже довго або взагалі неможливо проводити уручну. Розвиток цієї області сприяв інтенсифікації методів чисельного вирішення складних математичних завдань, появі мов програмування, орієнтованих на зручний запис чисельних алгоритмів, становленню зворотного зв'язку з розробниками нової архітектури ЕОМ. Характерною особливістю даної сфери застосування обчислювальної техніки є наявність складних алгоритмів обробки, які застосовуються до простих по структурі даним, об'єм яких порівняно невеликий.

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

надійне зберігання інформації в пам'яті комп'ютера;

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

надання користувачам зручного і легко освоюваного інтерфейсу.

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

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

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

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

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

Файли і файлові системи

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

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

1. створити файл (необхідного типу і розміру);

2. відкрити раніше створений файл;

3. прочитати з файлу деякий запис (поточну, наступну, попередню, першу, останню);

4. записати у файл на місце поточного запису нову, додати новий запис в кінець файлу.

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

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

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

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

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

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