/
al.anatolyev
/
web4stud
Обзор
Документация
Войти
/
al.anatolyev
/
web4stud
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
workshop/drafts/db.html
98 строк
5 KB
aag
%1
19 май 2026, 12:36
19 май 2026, 12:36
1775bad
Код
Авторство
О чём код?
<h2 id="сравнение-mysqlmariadb-postgresql-и-sqlite-для-веб-сайтов">Сравнение MySQL/MariaDB, PostgreSQL и SQLite для веб-сайтов</h2> <table style="width:100%;"> <colgroup> <col style="width: 21%" /> <col style="width: 34%" /> <col style="width: 26%" /> <col style="width: 17%" /> </colgroup> <thead> <tr class="header"> <th>Критерий</th> <th>MySQL / MariaDB</th> <th>PostgreSQL</th> <th>SQLite</th> </tr> </thead> <tbody> <tr class="odd"> <td><strong>Архитектура</strong></td> <td>Клиент-сервер</td> <td>Клиент-сервер</td> <td>Встраиваемая (серверless)</td> </tr> <tr class="even"> <td><strong>Масштаб</strong></td> <td>Средние и крупные проекты</td> <td>Крупные, сложные проекты</td> <td>Малые проекты, тестирование, embedded</td> </tr> <tr class="odd"> <td><strong>Производительность</strong></td> <td>Высокая скорость чтения; хорошо масштабируется репликацией</td> <td>Превосходна при сложных запросах и больших объёмах данных</td> <td>Отлична для небольших БД, падает при конкурентной записи</td> </tr> <tr class="even"> <td><strong>Типы данных</strong></td> <td>Стандартные SQL + JSON (с 5.7/10.2)</td> <td>Богатый набор: массивы, JSONB, UUID, геоданные, пользовательские типы</td> <td>Минимальный набор; динамическая типизация</td> </tr> <tr class="odd"> <td><strong>Сложные запросы</strong></td> <td>Достаточно хорошо</td> <td><strong>Лучший выбор</strong>: CTE, оконные функции, полнотекстовый поиск</td> <td>Ограниченно</td> </tr> <tr class="even"> <td><strong>Конкурентный доступ</strong></td> <td>Хорошая поддержка многопользовательской работы</td> <td>MVCC с самого начала, отличная изоляция транзакций</td> <td>Блокировка на уровне файла; не для высокой нагрузки на запись</td> </tr> <tr class="odd"> <td><strong>Надёжность</strong></td> <td>Хорошая</td> <td><strong>Наивысшая</strong>: строгое соответствие ACID, отказоустойчивость</td> <td>Хорошая для локального использования</td> </tr> <tr class="even"> <td><strong>Развёртывание</strong></td> <td>Требует отдельного сервера и настройки</td> <td>Требует отдельного сервера и администрирования</td> <td>Нулевая конфигурация; БД — обычный файл</td> </tr> <tr class="odd"> <td><strong>PHP-подключение</strong></td> <td><code>mysqli</code>, <code>PDO</code></td> <td><code>PDO</code> (pgsql)</td> <td><code>PDO</code> (sqlite)</td> </tr> <tr class="even"> <td><strong>Типичное применение</strong></td> <td>WordPress, Joomla, Magento, типичные CMS</td> <td>Django, Ruby on Rails, сложные аналитические системы</td> <td>Персональные блоги, IoT, мобильные приложения, юнит-тесты</td> </tr> </tbody> </table> <h3 id="краткие-выводы">Краткие выводы</h3> <ul> <li><strong>MySQL/MariaDB</strong> — золотая середина для большинства веб-проектов. Проста в администрировании, огромное сообщество, де-факто стандарт для shared-хостингов.</li> <li><strong>PostgreSQL</strong> — выбор, когда требуется сложная логика на уровне БД (хранимые процедуры на PL/pgSQL), работа с JSONB, геоданными или высокая надёжность транзакций.</li> <li><strong>SQLite</strong> — идеальна для прототипирования, небольших сайтов с низкой посещаемостью, встраиваемых решений и ситуаций, где важна мобильность (один файл — вся БД). Не подходит для высоконагруженных многопользовательских приложений с интенсивной записью.</li> </ul>