Многие до сих пор сравнивают PostgreSQL и MySQL так, будто разница между ними сводится к синтаксису SQL и производительности в бенчмарках.
На самом деле различия начинаются гораздо глубже, на уровне архитектуры.
PostgreSQL представляет собой единый интегрированный движок. Данные хранятся в heap-таблицах, версии строк поддерживаются через MVCC прямо внутри таблиц, а для журналирования используется единый WAL (Write-Ahead Log).
MySQL (если говорить про InnoDB) устроен иначе. SQL-слой отделён от движка хранения, данные хранятся в кластеризованном B-дереве, история изменений строк выносится в undo-логи, а сама система опирается сразу на несколько журналов: Undo Log, Redo Log и Binlog.
Из-за этого базы по-разному ведут себя при обновлении данных, восстановлении после сбоев, репликации и обслуживании больших нагрузок.
Именно поэтому вопрос «что быстрее: PostgreSQL или MySQL?» обычно не имеет смысла без контекста.
Это не просто две разные СУБД. Это две разные архитектурные философии, которые решают похожие задачи разными способами.
👉 @SQLPortal
Post #1803
1.54K
