Директориум за статии
Светот на базите на податоци никогаш не стагнира; тој е повеќе како војна без барут, каде што борбата помеѓу перформансите и стабилноста се одвива секој ден.
Во HestiaCP , MariaDB го користи InnoDB како механизам за складирање по дифолт.
Сепак, во одредени сценарија, како што се табели базирани на логови и апликации со многу читање, а малку пишување, MyISAM често нуди побрзи брзини на барања и полесно решение за складирање.
Оваа статија ќе ви покаже како безбедно да го промените стандардниот механизам за складирање на MariaDB во MyISAM во HestiaCP средина и ќе ви даде темелно разбирање за ризиците и придобивките што се вклучени.
🔍 Зошто да се префрлите на MyISAM?
Предностите на MyISAM лежат во неговата леснотија и брзина.
Во сценарија само за читање или сценарија со многу читање/малку пишување, неговите перформанси на барања се често побрзи од InnoDB.
Според официјалната документација на MariaDB, „MyISAM работи исклучително добро во нетрансакциски апликации и е особено погоден за табели со логови и кеш-меморија.“ (Извор: База на знаење на MariaDB)
Покрај тоа, структурата на датотеките со табели на MyISAM е интуитивна, а миграцијата и резервната копија се многу практични.
Сепак, неговите недостатоци се подеднакво очигледни: не поддржува трансакции и странски клучеви, а безбедноста на податоците не е толку добра како кај InnoDB.
Ова значи дека ако користите MyISAM на веб-страница за е-трговија или во финансиски систем, може да се соочите со сериозни проблеми со конзистентноста на податоците поради недостаток на поддршка за трансакции.
Затоа, дали да се премине на MyISAM треба да се утврди врз основа на реалното сценарио на апликацијата.
🛠️ Чекори за модификација
Отвори конфигурациска датотека
Во HestiaCP околината, главната конфигурациска датотека за MariaDB се наоѓа на:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ако сте повеќе навикнати на уредување /etc/mysql/my.cnf Исто така е можно, но генерално се препорачува да... 50-server.cnf Ли Гаи.
在 [mysqld] Или[mariadbd]Додај параметри во пасусот
сврти се [mysqld]Или[mariadbd]Додадете го следново во пасусот:
[mariadbd]
[mysqld]
default-storage-engine=MyISAM
Ако веќе имате други параметри, само додадете ја оваа линија подолу.
Зачувајте и излезете, а потоа рестартирајте ја MariaDB.
Извршете ја следнава команда за да ја примените конфигурацијата:
sudo systemctl restart mariadb
Проверете дали работи
Најавете се на MariaDB:
mysql -u root -p
执行:
SHOW VARIABLES LIKE 'default_storage_engine';
Излезот треба да биде:
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| default_storage_engine | MyISAM |
+------------------------+--------+
Ова значи дека модификацијата била успешна.
⚠️ Мерки на претпазливост
Пред со возбуда да преминете на MyISAM, има неколку клучни точки што треба да ги имате предвид.
- Ризици од компатибилностВградените апликации на HestiaCP (како што се...) WordPressМодулот за пошта Roundcube се потпира на трансакции и странски клучеви на InnoDB. Принудувањето префрлување на MyISAM може да предизвика дефекти.
- Препорачан пристапНаведете само при креирање на табелата.
ENGINE=MyISAMНаместо да ја менувате стандардната вредност глобално, можете да го направите тоа за да избегнете нарушување на нормалното работење на постојните апликации. - Заштита од резервна копијаПред да направите какви било промени, задолжително направете резервна копија од конфигурациските датотеки и базата на податоци за да избегнете неповратна штета.
Како што е споменато во „Системи за бази на податоци: Целосната книга“, „Изборот на механизам за складирање е компромис; перформансите и сигурноста никогаш не се максимизираат истовремено.“ (Извор: Garcia-Molina, Ullman, Widom, 2008)
🚀 Резиме и мислења
Во HestiaCP, менувањето на стандардниот механизам за складирање на MariaDB во MyISAM е едноставно прашање на... [mysqld] Едноставно додадете линија за конфигурација во пасусот и рестартирајте ја услугата.
Но, ова не е само едноставна техничка операција; тоа е повеќе како филозофско прашање: Дали сакате брзина или безбедност?
Мојот став е дека повеќето модерни апликации се потпираат на InnoDB, а најдобрата практика е да се користи MyISAM по потреба , наместо да се заменува глобално.
Во табелите за евиденција, кеш меморија и статистика, MyISAM е остар меч; но во бизнисите што се занимаваат со трансакции интензивно, може да биде темпирана бомба.
Затоа, вистинските мајстори не се стремат слепо кон брзина, туку знаат како да ја изберат најсоодветната алатка во различни сценарија.
Вредноста на технологијата не лежи во покажувањето вештини, туку во решавањето проблеми.
Ако размислувате дали да преминете на MyISAM, прво запрашајте се: Дали на вашата апликација ѝ е потребна брзина или стабилност?
Ве охрабруваме да спроведете повеќе тестови во пракса и да одлучите дали да преминете врз основа на реални деловни сценарија.
Впрочем, светот на базите на податоци не е за апсолутно црно-бело, туку за тоа што е соодветно, а што не.
Изборот на вистинскиот мотор за складирање е избор на иднината.
Се надеваме дека статијата „Како да го промените стандардниот механизам за складирање на MariaDB во MyISAM во HestiaCP? Едноставно решение во еден чекор!“, споделена на блогот на Чен Вејлијанг ( https://www.chenweiliang.com/ ), ќе ви биде корисна.
Слободно споделете го линкот до овој напис: https://www.chenweiliang.com/cwl-34098.html
