Двигуни баз даних.
Всім привіт! Напевно, ви, створюючи таблиці в базі даних, бачили такі написи, як 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, відразу знищується.
Даний движок використовується для налагодження.
висновок
Отже, сподіваюся, що тепер для вас таке словосполучення, як "движки баз даних"Не просто порожнім звуком. Звичайно, ми розібрали тут не все движки, які існують у баз даних, але найпоширеніші я описав. Вибирайте той, який краще підходить під ваші завдання. Дякую за увагу і вдалого проектування баз даних! :)
- Відеоурок - вибірка даних з бази даних
- Вийшов відеокурс "php і mysql з нуля до гуру"
- Як вибрати неповторювані значення з бази даних.
- Як дізнатися синтаксис sql-запиту через phpmyadmin
- Як створити движок для сайту
- Порівняння mysql vs mariadb
- Індекси в mysql
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- Nodejs. Движок v8.
- Чи варто зберігати зображення в бд
- Запит sql на створення і видалення бази даних
- Імпорт бази даних в phpmyadmin
- Випадкова вибірка з бази даних
- Запит sql на вибірку записів
- Знайомство з phpmyadmin
- Створення движка на mvc. Вступ.
- Запит sql на вибірку певного числа записів
- Управління базами даних в phpmyadmin
- Mysql
- Права (привілеї) користувачів в mysql
- Управління таблицями в phpmyadmin