Рушій бази даних: відмінності між версіями
[перевірена версія] | [перевірена версія] |
Вилучено вміст Додано вміст
Створено шляхом перекладу сторінки «Database engine» |
вікіфікація, оформлення, шаблон, зовнішні посилання, рекомендації з поліпшення |
||
Рядок 1:
{{Вичитати|дата=24 вересня 2018}}
'''Рушій бази даних''' (або '''рушій зберігання''') — базовий програмний компонент, який [[База даних|система керування базами даних]] (СКБД) використовує для [[CRUD|створення, читання, оновлення та видалення]] (CRUD) [[Дані|даних]] із [[База даних|бази даних]]. Більшість систем керування базами даних містять власний [[прикладний програмний інтерфейс]] (API), який дозволяє користувачеві взаємодіяти зі своїм основним рушієм без проходження через користувацький інтерфейс СКБД.▼
{{Без ілюстрацій|дата=24 вересня 2018}}
{{Expert|date=2018}}
▲'''Рушій бази даних''' (або '''рушій зберігання''')
Термін «рушій бази даних» часто використовується взаємозамінно з «
== Рушії зберігання ==
Рядок 7 ⟶ 10:
Деякі рушії зберігання є [[Транзакція (бази даних)|транзакційними]].
{| class="
! Назва !! Ліцензія !! Транзакційний▼
▲!Транзакційний
|-
|
|-
| BlitzDB || GPL || {{Ні}}
|-
|
|-
| [[InnoDB]] || GPL || {{Так}}
|-
| [[MyISAM]] || GPL || {{Ні}}
|-
|
|-
| {{нп|TokuDB}} || GPL || {{Так}}
|-
|
|-
| {{нп|XtraDB}} || GPL || {{Так}}
|-
|
|}
Додаткові типи рушіїв включають:▼
▲Додаткові типи рушіїв включають:
*
*
== Проектні міркування ==
Біти баз даних викладаються на зберігання у структури даних і групування, що можуть скористатися обома відомими ефективними алгоритмами отримання та маніпулювання ними та
У принципі, зберігання бази даних можна розглядати як
=== Ієрархія зберігання баз даних ===
База даних під час роботи одночасно перебуває в кількох типах зберігання, формуючи [[Ієрархія пам'яті|ієрархію зберігання]]. За природою сучасних комп'ютерів більша частина бази даних знаходиться всередині комп'ютера, що розміщує СКБД (частково репліковану) в енергозалежному зберіганні. Дані (шматки бази даних), що обробляються чи маніпулюються, перебувають усередині процесора, можливо, у [[Кеш процесора|кешах процесора]]. Ці дані читаються з і записуються у пам'ять, як правило, через комп'ютерну [[Комп'ютерна шина|шину]] (все ще, як правило, енергозалежні компоненти зберігання). Комп'ютерна пам'ять обмінюється даними (передає до та з) зовнішнього зберігання, як правило, стандартними інтерфейсами зберігання чи мережами (наприклад, [[
Наразі, як правило, існує кореляція між швидкістю та вартістю зберігання, тоді як швидкі зберігання зазвичай енергозалежні.
Рядок 62 ⟶ 53:
Бази даних можуть зберігати дані в багатьох типах структур даних<ref name="Physical Database Design">{{harvnb|Lightstone|Teorey|Nadeau|2007}}</ref>. Поширеними прикладами є наступні:
* впорядковані чи невпорядковані [[Плоска база даних|пласкі файли
* [[Геш-таблиця|хеш-таблиці]]
* [[B+ дерево|B+ дерева]]
*
* [[Купа (структура даних)|купи]]
=== Орієнтація та кластеризація даних ===
На відміну від звичайної рядкової орієнтації, реляційні бази даних також можуть бути
Загалом, значне поліпшення продуктивності досягається, якщо різні типи об'єктів бази даних, які зазвичай використовуються разом, зберігаються в безпосередній близькості, стаючи «кластеризованими». Цей зазвичай дозволяє отримувати необхідні пов'язані об'єкти зі зберігання за мінімальну кількість операцій введення (кожна іноді займає багато часу). Навіть для баз даних у пам'яті кластеризація забезпечує перевагу в продуктивності завдяки спільному використанню великого кешу операцій введення-виведення у пам'яті з аналогічною результатною поведінкою.
Рядок 76 ⟶ 67:
=== Індексування баз даних ===
Індексування
Індекси впливають на продуктивність, але не на результат. Проектувальники баз даних можуть додавати чи видаляти індекси без зміни прикладної логіки, знижуючи вартість підтримки зі зростанням та еволюцією бази даних. Індекси можуть прискорити доступ до даних, але вони споживають простір у базі даних і повинні оновлюватися щоразу при зміні даних. Таким чином, індекси можуть прискорити доступ до даних, але сповільнити їх підтримку. Ці дві властивості визначають чи коштує даний індекс витрат.
== Див. також ==
* {{нп|Архітектура Btrieve|Мікроядерний рушій бази даних Btrieve|en|Architecture of Btrieve}}
* {{нп|C-treeACE|c-treeACE Database Engine}}
▲* [[Berkeley DB]]
*
*
* [[MySQL Cluster]], на NDB рушії зберігання [[MySQL]]
*
== Примітки ==
Рядок 94 ⟶ 84:
== Посилання ==
* {{Cite web|url=https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html|назва=Chapter 16 Alternative Storage Engines|серія=MySQL 8.0 Reference Manual|веб-сайт=[[MySQL]]|мовою=англійською|переклад-назви=Глава 16 Альтернативні рушії зберігання|мертвий-url=no|дата-доступу=24 вересня 2018}}
* {{Google books|PqZ6QytCemcC|MySQL Administrator's Bible|page=287|keywords=storage engines}}
[[Категорія:Управління даними]]
[[Категорія:Рушії баз даних]]
|