Базы данных по сравнению
MySQL против PostgreSQL: где выигрывает каждый
MySQL и PostgreSQL донимают друг друга на протяжении двух десятилетий, и честный итог определяется рабочей нагрузкой: MySQL побеждает там, где доминируют экосистема совместного хостинга, простота разветвления реплик и совместимость с CMS, а PostgreSQL побеждает там, где доминируют корректность, более богатые типы, аналитические запросы и обработка документов на основе JSONB. MySQL 8.0 закрыл большую часть пробелов в функциях (оконные функции и CTE появились в 2018 году), а история его репликации остается наименее проблемной в базах данных с открытым исходным кодом. Система типов PostgreSQL, строгое поведение ANSI и транзакционный DDL делают его используемым по умолчанию, когда схеме нужно доверять в течение десятилетия. Реальность хостинга по-прежнему обеспечивает больше установок MySQL, и пулы найма часто решают ничью.
Главное
- Верность: транзакционный DDL PostgreSQL, более строгая типизация и предсказуемый планировщик делают его стандартным для систем, схемам которых нужно доверять в течение многих лет.
- Экосистема: реальность общего хостинга MySQL, инструменты эпохи cPanel и доктрина CMS-first по-прежнему обеспечивают больше установок в первый день в месяц.
- Репликация: асинхронная репликация MySQL остается самым простым разветвлением в открытом исходном коде, который честно увеличивает размер команды операций хостинга.
- Закрытие функций: оконные функции и CTE появились в MySQL 8.0, закрыв аналитический пробел, который когда-то склонял кандидатов к PostgreSQL по умолчанию.
- Обработка документов: PostgreSQL JSONB с индексами GIN превосходит JSON MySQL по выразительности и производительности для полезных данных с гибкой схемой.
- Найм и оснащение: номинально и того, и другого в изобилии; Повсеместное распространение MySQL на хостинге по-прежнему часто определяет сплоченность команды.
- Риск управления версиями: ответвление MariaDB в 2009 году раскололо мир MySQL, поэтому название точного движка и версии при принятии решений сегодня имеет большее значение, чем название бренда.
- Обновления. Основные обновления PostgreSQL исторически воспринимались как продуманное перепланирование; Благодаря линии обновлений MySQL-config на месте переходы к самой большой версии воспринимаются как события.
Заметка из практики
Мы разделили два промежуточных сервера одного продукта между MySQL и PostgreSQL, и механизм имел меньшее значение, чем командная дисциплина при миграции схем. Простота репликации по-прежнему склоняла операторов к MySQL; Правильность склонила следующий продукт на Postgres.
Частые вопросы
Что следует выбрать новому веб-приложению?
PostgreSQL — за корректность и надежность долгосрочной схемы, MySQL (или MariaDB) — за совместимость с экосистемой хостинга; оба являются надежными значениями по умолчанию.
MySQL быстрее?
Старые обобщения вводят в заблуждение: с привычками ПОВТОРНОГО ЧТЕНИЯ и некоторыми простыми рабочими нагрузками MySQL часто побеждает; с аналитическими, параллельными нагрузками или тяжелыми нагрузками JSON обычно это делает PostgreSQL. Сравните свои запросы, а не фольклор.
А как насчет MariaDB и MySQL?
Это отдельный вопрос: MariaDB покинула список выпусков MySQL в 2009 году, и разрыв между ними с каждым годом становится все более практичным; назовите двигатели явно.
Что проще в эксплуатации?
простота репликации MySQL Edge; Простота резервного копирования и восстановления PostgreSQL; оба честны, поддерживаются и управляются небольшими командами.
Как мы берём на себя базы данных по сравнению
Договорились: Выбор ядра базы данных для размещения рабочих нагрузок по сравнению с гарантиями корректности, эксплуатационной значимостью и реальной стоимостью: встроенные механизмы против серверов, MySQL против PostgreSQL, SQL против хранилищ документов, а также устаревший практический пример, который постоянно возвращается. Передайте это нашей услуге Администрирование серверов и Оптимизация скорости сайтов — вопрос будет закрыт, оценён по делу, внедрён без лишних движений и под наблюдением круглосуточно.