Структури баз даних
Таблиці даних та індекси можуть бути збережені на диск в одній з декількох форм, включаючи впорядковані/невпорядковані плоскі файли, ISAM, хеш файли, хеш-таблиці, або B+ дерева. Кожна форма має свої особливі переваги та недоліки. Найбільш часто використовувані форми B+ дерева і ISAM[1] (англ. Indexed Sequential Access Method — індексно-послідовний метод доступу). Такі форми або структури є одним з аспектів загальної схеми, яка використовується рушієм бази даних для зберігання інформації. Невпорядкована плоска база данихПлоска база даних — структура, яка характеризується тим, що дані зберігаються у текстових файлах у вигляді таблиці. Невпорядковане збереження, як правило, зберігає записи в порядку, в якому вони додані. Таке зберігання забезпечує гарну ефективність при виконанні операції по додаванню нових даних (), але погану ефективність під час пошуку (). На практиці пошук працює швидше ніж (), оскільки більшість баз даних використовують індекси з первинними ключами, в результаті час пошуку становить або для ключів, які збігаються зі зміщенням строк бази даних в системі зберігання. Впорядкована плоска база данихВпорядковане збереження, як правило, зберігає записи впорядковано, при додаванні нового запису вимагається зміна порядку або збільшення розміру файлу, в результаті ми маємо низьку ефективність при додаванні нового запису. Проте, упорядковане збереження забезпечує більш ефективний пошук, коли записи попередньо відсортовані, у результаті чого складність становить . Структуровані файлиКупаТут мається на увазі невпорядковані записи змінного розміру, не плутати з купою - структурою даних, що є впорядкованою.
Хеш-бакетиБакетом (англ. bucket — відро) називають набір елементів хеш‑таблиці зі співпадаючими/близькими за значеннями хеш‑функціями.
Є найбільш часто використовуваними на практиці. Час, витрачений на доступ до будь-якого запису — це ж те ж саме, що і число шуканих вузлів. Коли індекс є повним індексом, тоді файл даних не повинен бути рядкованим
Орієнтація данихБільшість звичайних реляційних баз даних використовують «рядково-орієнтоване» зберігання, що означає, що всі дані, пов'язані з даним рядком, зберігаються разом. «Колонко-орієнтована» СУБД, навпаки, зберігає всі дані з певного стовпця разом для швидшого виконання запитів в базі даних. Кореляційна база даних схожа на «рядково-орієнтовану» базу даних, але використовує багато побічнних шарів для зіставлення декількох примірників одного значення для числового ідентифікатора. Див. також
|