НОУ ІНТУЇТ | лекція | Створення фізичної моделі бази даних. Підготовка скрипта для створення бази даних

  1. Оцінка розміру бази даних Бази даних існують і функціонують у конкретній програмно-апаратної середовищі....

Оцінка розміру бази даних

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

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

За відправну точку розв'язання задачі оцінки розміру БД є обчислення розміру кожної таблиці БД. Щоб це зробити, необхідно обчислити розмір кожної колонки в таблиці і на підставі цих даних оцінити розмір самої таблиці. Далі слід оцінити розмір усіх індексів, уявлень і інших об'єктів.

Оскільки ОС розподіляє пам'ять під файли в сторінках, то при обчисленні розміру бази даних необхідно оцінити число сторінок, яке вона займає. Для ОС типу Windows розмір сторінки становить 1024 байта.

Формули для оцінки розміру БД

З метою спрощення обчислень розміру бази даних, в цьому розділі ми будемо проводити обчислення на прикладі СУБД SQLBASE. Розмір бази даних може бути оцінений по формулі

Розмір бази даних може бути оцінений по формулі

Перед тим як обчислити розмір таблиці, необхідно обчислити розміри всіх її колонок.

Обчислення розміру колонки. Обчислення розміру колонки залежить від типу домену колонки. Розмір колонки або стовпця таблиці - це число символів, яке відводиться СУБД для зберігання колонки заданого типу.

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

Типові розміри колонок заданого типу наведені в таблиці 13.2 нижче.

Таблиця 13.2. Типові розміри колонок залежно від типу даних Тип даних Розмір колонки Character Число символів в рядку Number [(NumberOfDigits + 2) / + 1 байт Date 5 байт DateTime 12 байт Long varchar 12 байт плюс число сраніц для зберігання даних

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

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

Обчислення розміру таблиці. Грунтуючись на значенні Data_Length можна оцінити розмір звичайної таблиці або хеш-таблиці. Формули для виконання такої оцінки наведені в таблицях 13.3 і 13.4 . Різниця в методиці розрахунку розміру хеш-таблиці полягає в необхідності враховувати параметр завантаження хеш-таблиці (packing_density), який встановлюється при визначенні такої таблиці.

Таблиця 13.3. Параметр Формула Row_Lenght Довжина рядка на фізичної сторінці включає в себе довжину заголовка і розмір рядка таблиці, яка обчислюється за формулою Row_Lenght = 18 + (2 * чісло_колонок) + Data_Lenght Row_Lenght_with_Stack Довжина рядка з розміром стека Row_Lenght_with_Stack = Row_Lenght * 100 / (100 - PCTFREE) Usable_Row_Page_Size Використовувана СУБД довжина рядка на сторінці. У SQLBASE довжина заголовка сторінки дорівнює 86 байт Usable_Row_Page_Size = 1024 - 86 = 936 байт Rows_per_Page Число рядків на сторінці: Rows_per_Page = [Usable_Row_Page_Size / Row_Lenght_with_Stack] Nbr_Row_Pages Число сторінок: Nbr_Row_Pages = [NbrOfRows / Rows_per_Page], де NbrOfRows - передбачуване число рядків в таблиці Nbr_Long_Pages число сторінок, займаних довгими рядками: Nbr_Long_Pfge = NbrOfRows * Nbr_Long_Pages_per_Long_Col, Nbr_Long_Pages_per_Long_Col - число довгих рядків на сторінку Total_Data_Page число сторінок даних: Total_Data_Page = Nbr_Row_pages + Nbr_Long_Pages Таблиця 13.4. Оцінки розміру хеш-таблиці Параметр Формула Row_Lenght Довжина рядка на фізичної сторінці включає в себе довжину заголовка і розмір рядка таблиці, яка обчислюється за формулою Row_Lenght = 18 + 6 + (2 * чісло_колонок) + Data_Lenght Додаткові 6 байт необхідні для підтримки хеш-ключа Row_Lenght_with_Stack довжина рядка з розміром стека: Row_Lenght_with_Stack = Row_Lenght * 100 / (100 - PCTFREE) Usable_Row_Page_Size Використовувана СУБД довжина рядка на сторінці. У SQLBASE довжина заголовка сторінки дорівнює 86 байт Usable_Row_Page_Size = 1024 - 86 = 936 байт Rows_per_Page Число рядка на сторінку: Rows_per_Page = [Usable_Row_Page_Size / Row_Lenght_with_Stack] Nbr_Row_Pages Число рядків на сторінці: Nbr_Row_Pages = [NbrOfRows / Rows_per_Page], де NbrOfRows - передбачуване число рядків в таблиці Nbr_Long_Pages число сторінок, займаних довгими рядками: Nbr_Long_Pfge = NbrOfRows * Nbr_Long_Pages_per_Long_Col, Nbr_Long_Pages_per_Long_Col - число довгих рядків на сторінку Nbr_Hashed_Table_Pages число сторінок хеш-таблиці: Nbr_Hashed_Table_Pages = Nbr_Row_Pages / packing_density Total_Data_Page число сторінок даних: Total_Data_Page = Nbr_Row_pages + Nbr_Long_Pages

Обчислення розміру індексу. Для кожного створеного B-Tree індексу його розмір оцінюється наступним чином: обчислюється розмір індексного ключа, оцінюється число рядків в таблиці, потім оцінюється число сторінок, яке займає індекс. Розрахунок виконується за формулами, наведеними в таблиці 13.5 .

Таблиця 13.5. Оцінка розміру індексу Параметр Формула Key_Lenght Довжина ключа дорівнює сумі середніх довжин колонок, які складають даний ключ Index_Entry_Lenght Довжина розміру рядка індексу: Index_Entry_Lenght = 9 + чісло_колонок_ключа_індекса + Key_Lenght Usable_Index_Page_Size Використовуваний СУБД розмір сторінки індексу: Usable_Index_Page_Size = (1024 - 74) * (100 - PCTFREE ) / 100 Index_Entry_per_Page число входів індексу на сторінку: Index_Entry_per_Page = [Usable_Index_Page_Size / Index_Entry_Lenght Nbr_Index_Pages число сторінок, займаних індексом Nbr_Index_Pages = [NbrOfRows / Index_Entry_per_Page], де NbrOfRows - передбачуване число рядків в таблиці

Обчислення розміру заголовка уявлення. Для кожного уявлення існує фіксована частина заголовка і змінна частина заголовка, яка залежить від його складності. Формули для розрахунку розміру заголовка уявлення наведені в таблиці 13.6 .

Оцінка розміру фіксованого системної області. Розмір системної області в сторінках (Total_Fixed_Overhead_Pages) для бази даних СУБД SQLBASE оцінюється за такою формулою:

Total_Fixed_Overhead_Pages = 12 * чісло_табліц + 2 * чісло_хеш_індексов + 602112/1024

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: