Як можна зменшити розмір бази даних вашого сайту?
Вступ
Розмір бази даних може бути значним гальмівним фактором, якщо ним не керувати належним чином. У цій статті ми розглянемо, чому ваш База даних MySQL може стати таким великим, як можна зменшити розмір таблиць бази даних і як утримати споживання жорсткого диска MySQL в межах допустимого!
Поширені причини зростання бази даних
Вірте чи ні, але багато баз даних мають спільну проблему, коли справа доходить до їхнього зростання.
Ось найпоширеніші причини, з якими ви можете зіткнутися:
Журнали/протоколи
Деякі програми використовують базу даних для реєстрації різної інформації. Наприклад, інформація про доступ, помилки, різні дії адміністраторів або користувачів, реєстрації, відправлення електронної пошти тощо. Ця інформація важлива, але зберігати її в базі даних - погане технічне рішення, принаймні для баз даних SQL. База даних швидко заповнюється, особливо якщо у вас завантажений веб-сайт, і це може призвести до проблем з продуктивністю і повільного відображення логів.
Щоб завершити ведення журналу бази даних
Якщо ви помітили, що розмір ваших таблиць аналізу або журналів виходить з-під контролю, ми рекомендуємо переключитися на ведення журналів у файлах. Більшість сучасних програм з відкритим вихідним кодом зберігають логи у файлах; однак, якщо це не так, вони повинні пропонувати налаштування для переходу до файлового журналу в області адміністрування. Якщо у вас є індивідуальний веб-сайт вам слід зв'язатися з розробником, який створив веб-сайт, і попросити його увімкнути реєстрацію файлів.
Зменшення таблиць журналів бази даних
Перш ніж зменшувати базу даних, потрібно з'ясувати, наскільки вона велика. У нас є чудовий підручник про те, як Перевірка бази даних вашого сайтуз якою вам обов'язково слід ознайомитися перед початком роботи. Зазвичай ці таблиці містять слово "лог" або "аналітика" в назві, щоб ви могли легко відрізнити їх від інших. Щоб зробити їх меншими, потрібно просто очистити або скоротити їх. phpMyAdmin має таку функцію.
*Примітка: На скріншоті показано, де саме потрібно натиснути, щоб легко очистити таблицю.
Боти
Цікаво, що боти є поширеною причиною надмірного зростання бази даних. Уявіть, що у вас є база даних, яка реєструє майже все, що відбувається на сайті, наприклад, реєстрацію, логіни, електронні листи, контактні форми тощо. Тепер уявіть собі бота, який користується усім цим і заповнює ваші реєстраційні форми та форми входу спамом, щоб ваші таблиці були заповнені тією інформацією, яку ви хочете, щоб він реєстрував. Якщо у вас є веб-сайт, на якому зареєстровані користувачі можуть публікувати і коментувати публікації інших користувачів, ситуація стає ще більш божевільною, тому що тоді бот може почати публікувати і коментувати публікації. Вгадайте, де більшість додатків зберігають такі дані - так, правильно - в базі даних! Атака спам-ботів може збільшити розмір вашої бази даних, якщо ви не вживете певних запобіжних заходів.
Як я можу запобігти наповненню моєї бази даних ботами?
Найпростіший спосіб вставити reCaptcha в усі форми на сайті. Така реалізація гарантує, що жодна нелюдська істота не зможе зареєструватися і, таким чином, запобігає створенню логів у вашій базі даних MySQL.
Перевірте права доступу на рівні користувачів і дозволяють писати дописи та коментарі лише тим користувачам, які пройшли верифікацію (наприклад, за допомогою електронної пошти).
Помірковані дописисторінки та коментарі самостійно або найняти когось, хто зробить це за вас, якщо у вас сайт з високою відвідуваністю.
ВАЖЛИВО: Деякі інтеграції reCaptcha також реєструють успіхи і невдачі окремих reCaptcha. Ваш додаток може зберігати ці журнали у вашій базі даних. Будь ласка, перевірте це перед інтеграцією цієї функції. Якщо журнал бази даних увімкнено, або вимкніть його повністю, оскільки інформація не є релевантною, або розгляньте можливість ведення журналу у файловому форматі.
Як видалити таблиці бази даних, заповнені ботами
Не існує стандартного методу видалення таблиць, які були заповнені ботами. Ці таблиці можуть включати ваші таблиці журналів, таблиці постів, таблиці коментарів, таблиці reCaptcha тощо. Найкраще перевірити всі таблиці, які мають більший розмір, і видалити ті, які ви вважаєте спамом. Якщо ви не впевнені у своїх силах, ви можете найняти розробника, який перегляне всю базу даних і допоможе вам зменшити її розмір, видаливши весь спам-вміст.
Сесії
Усі ваші відвідувачі створюють сесії на вашому сайті, коли вони використовують вашу форму входу. Щоб утримати користувача в системі, сесія взаємодіє з файлом cookie, який зберігається в браузері користувача. Зазвичай ця сесія триває певний час. Однак у погано запрограмованому додатку сесія не видаляється, коли вона закінчується або коли користувач виходить з системи. Поєднайте це з тим, що ваш додаток зберігає сесії у своїй базі даних, і ви отримаєте дуже неприємну ситуацію: ваша база даних заповнюється старими сесіями, які ваші користувачі більше не використовують.
Щоб деактивувати сесії в базі даних
Зазвичай, кожна програма має налаштування десь у своєму конфігураційному файлі, які дозволяють змінювати місце розташування сеансів з бази даних на файл. Вам слід перевірити документацію до відповідної програми, щоб дізнатися, чи можливо це зробити, і якщо так, то як це зробити.
Видалення сесій з бази даних
Це має бути дуже просто. Зазвичай ці таблиці містять слово "session" або "sess" у назві, тому їх легко відрізнити від інших. Щоб зробити їх меншими, вам просто потрібно "очистити" або "усікти" їх. phpMyAdmin вже має вбудовану функцію. Дивіться також наш підручник про те, як перевірити розмір бази даних сайту.
Зображення
Дуже архаїчний метод збереження зображень - зберігати їх у базі даних. Проблема виникла, коли медіафайли ставали все більшими і більшими. Однак, ці старі практики збереглися у спільноті розробників. Якщо ви опинилися в такій ситуації, ви опинитеся в дуже складному становищі, оскільки не можете просто скоротити або очистити таблицю, що містить зображення, оскільки це призведе до видалення зображень з вашого веб-сайту.
Щоб ваш додаток не зберігав зображення в базі даних
Зазвичай, кожна програма має десь у своєму конфігураційному файлі налаштування, які дозволяють змінювати місце зберігання зображень. Вам слід звернутися до документації відповідної програми, щоб дізнатися, чи це можливо, і якщо так, то як це зробити.
Як я можу видалити зображення на моєму сайті з бази даних?
На жаль, це непросте завдання, оскільки очищення бази даних знищить ваш контент. Ми радимо вам зв'язатися з розробником і попросити його переглянути весь додаток і його базу даних та змінити спосіб обробки зображень.
Занадто багато таблиць бази даних
Ця проблема може виникнути за двох обставин:
- Ви ненавмисно імпортували багато файлів SQL в одну базу даних.
- Ви встановили занадто багато плагінів/модулів на ваш сайт, які додали занадто багато таблиць бази даних.
Як я можу запобігти збільшенню розміру таблиць моєї бази даних?
По-перше, ви повинні бути дуже обережними при імпорті SQL-файлу і переконатися, що ви імпортуєте його в правильну базу даних. По-друге, слід остерігатися встановлення модулів або плагінів, які не походять від сертифікованого постачальника і походження та підтримка яких викликають сумніви.
Як зменшити кількість таблиць бази даних?
Спочатку видаліть усі непотрібні плагіни. Потім уважно перевірте базу даних на наявність таблиць, які не використовуються вашим додатком. Якщо ви можете звернутися за допомогою до сертифікованого веб-розробника, це, безумовно, полегшить вам життя.
Оптимізація таблиць бази даних за допомогою phpMyAdmin
Перш ніж ми закінчимо цей посібник, ми хотіли б познайомити вас з простим завданням, яке ви можете виконати за допомогою phpMyAdmin: "Оптимізуйте". Ця приємна функція виконує основні операції над вашою базою даних і видаляє з неї всю непотрібну інформацію, таку як накладні витрати і нестабільні дані, що в кінцевому підсумку призводить до зменшення розміру бази даних.
Ого, це було дуже багато інформації. На перший погляд вона може здатися непосильною, але я сподіваюся, що ця стаття допомогла вам зрозуміти, як зменшити розмір бази даних вашого сайту. Якщо ви все ще не відчуваєте себе достатньо впевнено, щоб виправити помилки самостійно, не соромтеся звертатися до нашої Команда підтримки відправивши квиток в особистому кабінеті.