Двигуни баз даних.

Двигуни баз даних.

Всім привіт! Напевно, ви, створюючи таблиці в базі даних, бачили такі написи, як MyISAM або InnoDB. Можливо, ви навіть знаєте, що це таке, але от коли що вибирати? Про це ми сьогодні і поговоримо.

Движок бази даних - це спосіб зберігання даних.

Існують різні движки баз даних - MyISAM, InnoDB, Memory, Archive, CSV, DBD, Federated, Blackhole.

InnoDB

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

Відео: MVC движок на php і mysql УРОК 2. Клас для вибірки з бази даних

MyISAM

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

Відео: Ефективна архітектура баз даних [GeekBrains]

Archive

З назви зрозуміло, для чого потрібен цей движок. Він зберігає дані у вигляді ZIP архіву. Розмір таблиці, що працює на даному движку, буде дуже малий. Однак, з цього випливає, що зміна даних буде ДУЖЕ повільним. Вибірка ж даних приблизно як у движка MyISAM. У цього движка немає обмеження Primary Key, транзакцій і іншого. Основне призначення даного движка для даних, які ніколи або дуже рідко змінюються. Наприклад, довідники.

CSV

Дані в даному движку зберігаються в такому вигляді:




value1, value2, value3

value1, value2, value3

Тобто кожна нова запис з нового рядка, а стовпці розділяються комою.

В основному даний движок призначений для сумісності зі старими mainframe записами.




Зовнішнього ключа немає, транзакцій немає, повнотекстового індексу немає, primary key, unique key є.

Швидкість вибірки приблизно як у MyISAM. Навряд вам коли-небудь доведеться його використовувати.

Відео: Установка CMS движка WordPress і Бази Даних MySQL

BDB

Використовується для сумісності з сервером BerkeleyDB. Теж навряд чи він вам знадобиться.

Відео: Бази даних, лекція №1 (2013)

Memory

Даний движок зберігає всі дані в оперативній пам`яті сервера. На диску він нічого не зберігає.

Даний движок дуже швидкий як на запис, зміна, видалення даних, так і на їх вибірку. Однак, ви повинні розуміти, що дані дуже легко втратити.

Рекомендується для зберігання тимчасових таблиць.

Federated

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

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

Blackhole

Дуже цікавий движок. Його назва перекладається як "чорна діра". І це не просто так. Якщо ви спробуєте створити таблицю на цьому движку, а потім щось вибрати з неї, то побачите Empty set. Все, що записується в таблицю на движку Blackhole, відразу знищується.

Даний движок використовується для налагодження.

висновок

Отже, сподіваюся, що тепер для вас таке словосполучення, як "движки баз даних"Не просто порожнім звуком. Звичайно, ми розібрали тут не все движки, які існують у баз даних, але найпоширеніші я описав. Вибирайте той, який краще підходить під ваші завдання. Дякую за увагу і вдалого проектування баз даних! :)

Поділися в соціальних мережах:

Схожі
Знайомство з phpmyadminЗнайомство з phpmyadmin
Як дізнатися синтаксис sql-запиту через phpmyadminЯк дізнатися синтаксис sql-запиту через phpmyadmin
Імпорт бази даних в phpmyadminІмпорт бази даних в phpmyadmin
Структура бази данихСтруктура бази даних
Права (привілеї) користувачів в mysqlПрава (привілеї) користувачів в mysql
Управління базами даних в phpmyadminУправління базами даних в phpmyadmin
Запит sql на вибірку записівЗапит sql на вибірку записів
Індекси в mysqlІндекси в mysql
MysqlMysql
Створення движка на mvc. Вступ.Створення движка на mvc. Вступ.
» » Двигуни баз даних.