2.6.1.3.5. Великий розмір бази даних

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

Використання типу сховища InnoDB для таблиць бази даних має як переваги, так і недоліки. У контексті дискового простору основним недоліком InnoDB є те, що розмір таблиць лише збільшується і ніколи не зменшується. Це пов'язано з тим, що при видаленні записів з таблиці місце під ними залишається зарезервованим для нових рядків. Тому видалення даних з таблиці не призводить до зменшення місця, яке займає таблиця на диску.

Способи зменшення розміру:

  • Оптимізація таблиць бази даних. Автоматичне оновлення інформації про розмір бази даних відбувається раз на кілька годин, для прискорення натисніть кнопку оновлення інформації про розмір бази даних.
  • Перестворення бази даних:
    1. Експортуйте базу даних.
    2. Збережіть собі назву та пароль бази даних.
    3. Видаліть базу даних.
    4. Створіть базу даних заново з такою ж назвою та паролем, які були у видаленої бази.
    5. Імпортуйте дамп назад.

Деякі CMS за замовчуванням записують сесії в базу даних, що збільшує навантаження на базу даних, а також може провокувати зростання розміру бази даних через проблеми з видаленням сесій або дуже великою аудиторією сайту. Наполегливо рекомендуємо для зберігання сесій використовувати файли, Memcache(d) або Redis. Якщо все ж необхідно зберігати сесії саме в базі даних — слід перевіряти наявність застарілих сесій, оскільки в деяких ситуаціях відбувається збій і записи в базі даних лише накопичуються, що викликає значне зростання займаного простору.

Існує низка плагінів і систем, які створюють кеш сторінок або елементів сайту та розміщують його в базі даних, що в подальшому може впливати як на продуктивність, так і на розмір бази даних. Якщо на сайті є подібний функціонал — слід уважно ставитися до його використання і для великих проєктів взагалі від нього відмовитися. Кеш краще зберігати у вигляді файлів або використовуючи додаткові, більш продуктивні технології, наприклад Memcache або Redis.

Зміст