|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Послідовні файли
Послідовні файли (набори даних) на сьогоднішній день найбільш частіше використовуються при обробці комерційних, економічних даних, яка виконується у пакетному режимі. Для них характерні два відмінні признаки. По-перше, записи даних мають фіксовану довжину (як полів, так і самих записів), а вдруге, записи сортують по первинному ключу. У зв¢язку з жорсткою структурою файлу (набору даних) можлива оптимізація розміру блоку в узгодженості з довжиною запису, що призводить до підвищення ефективності використання пам¢яті на зовнішніх носіях. З іншого боку, фіксована довжина поля стає причиною великих накладних витрат, оскільки поля дуже рідко бувають заповнені повністю. На мал. 10 приведені основні принципи побудови послідовного файлу.
Мал. 10. Послідовний файл з полями фіксованої довжини, що відсортовані по номеру запису
Числа, що передують всім полям запису, вказують на фізичні адреси записів. Адреса 11.1, наприклад, означає перший запис блоку номер 11. Пошук потрібного запису в послідовному файлі є досить тривалою операцією. Незважаючи на існування різноманітних способів пошуку блоку, який містить в собі первинний код (а значить, і інформацію), метод послідовного пошуку найбільш розповсюджений в інформаційних технологіях. У більшості випадках, при пошуку за цим методом загальна кількість блоків кожен раз ділиться пополам, та по первинному ключу приймається рішення, в якій частині (половинці) продовжувати пошук. В гіршому випадку потрібний блок виявляється після log2 N кроків, де N – загальна кількість блоків. Якщо дати числову оцінку, припустимо, що файл має 30000 блоків. Блок, що містить первинний ключ, має бути знайденим не більш, ніж за 15 фізичних звертань до диску (215 рівняється 32768). Корегування записів даних не є серйозною проблемою в силу того, що структура файлу при цьому не підлягає ніяким змінам. Вилучення запису виконується шляхом її маркірування без фізичного знищення. Пошук наступного запису виконується також дуже швидко тому що, він, як правило, знаходиться в тому же блоку, і, отже, вже завантажена в ОЗУ і не потребує нового доступу до фізичного блоку на диску. Якщо ж він необхідний, то завжди це наступний фізичний блок, а значить, доступ до нього виконується порівняно швидко. Тому обробка всього файлу цілком (пакетна обробка) при послідовній організації файлів виконується завжди з успіхом. Вузьким місцем послідовних файлів є вставка нових записів, тому що новий запис повинен бути відсортований в правильному порядку, а значить, всі наступні записи повинні бути відсунути назад. Така операція викликає суттєву затримку часу виконання. На практиці нові записи заносять у область переповнення. Тому, при доступі до окремого запису його пошук потрібно вести не тільки в самому файлі, а і в області переповнення. При надмірному рості останньої неминуче страждає продуктивність. Це торкається не лише швидкості довільного доступу до записів, але й читання всього послідовного файлу. Тому періодично проводять реорганізацію файлів, при якій нові та відмічені як вилучені записи заново розподіляються в прийнятій послідовності, а область переповнення обчищається. Послідовні файли можуть з успіхом використовуватися насамперед при пакетній обробці, але вони зовсім не придатні при оперативній обробки транзакцій (OLTP). Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |