По вашему опыту, какую базу данных труднее масштабировать? MySQL или Postgres? Я знаю, что MySQL имеет несколько встроенных функций масштабирования / кластеризации, но с Postgres нет ни одной, которая выходит из коробки. CMIIW.
РЕДАКТИРОВАТЬ :
Извините за путаницу, мой вопрос касается масштабирования (горизонтальное масштабирование), то есть кластеризации, шардинга и т. Д. Я знаю, что оба могут масштабироваться горизонтально, но какой из них легче реализовать?
Спасибо, что поделились.
источник
Хотя этот вопрос противоречит принципу «не задавайте субъективных или спорных вопросов» на сайте, я не могу удержаться, пытаясь ответить на него.
Это зависит.
Речь идет об одной конфигурации сервера, которая масштабируется до очень больших наборов данных?
Оба могут работать в этой ситуации в зависимости от набора данных, но ни один из них, вероятно, не будет работать очень хорошо без пользовательской конфигурации и правильного планирования. По моему опыту, работая с большими наборами данных с большим количеством записей, я обнаружил, что в Postgres меньше условий, которые вызывают блокировку, и общая производительность была выше.
Вы говорите о многосерверных конфигурациях, которые масштабируются до множества подчиненных для многих читателей?
Исторически MySQL считался лидером в этой области, поскольку в него была встроена асинхронная репликация. Это уже не тот случай, если вы не против использования новейшего программного обеспечения БД; Postgres теперь также имеет встроенную версию 9.0. Мой опыт с репликацией MySQL был более чем адекватным на данный момент.
Вы говорите о многосерверных конфигурациях, которые масштабируются до множества мастеров для многих авторов?
Это, безусловно, самый сложный способ масштабирования любого продукта, и много раз его можно избежать, используя отказоустойчивые серверы. Если вам действительно нужно масштабировать для обеспечения высокой доступности мастер-серверов, нельзя избежать дополнений / альтернативных установок. Для MySQL есть MySQL Cluster NDB, который имеет опцию с открытым исходным кодом или коммерческую версию . Для Postgres есть много дополнений, которые могут дать вам различные уровни HA и пула
В конечном итоге масштабирование базы данных обычно сводится к планированию проекта. Если ваше приложение разработано с учетом масштаба, то система БД, которая лучше всего подходит вашим разработчикам, часто является лучшим выбором.
источник
PostGre имеет больше возможностей и опций конфигурации.
Таким образом, вероятно, его сложнее масштабировать, но также вероятно, что он будет масштабироваться лучше, то есть при правильной настройке.
В общем, MySQL, вероятно, все еще будет работать быстрее, с другой стороны, реальный вопрос в том, насколько вы цените целостность данных и какие функции вам нужны, и хотите ли вы зависеть от Oracle (теперь владеет MySQL)?
Кроме того, есть вопросы о лицензировании, например, действительно ли вы хотите купить лицензию MySQL только потому, что не хотите публиковать свое приложение под лицензией GPL?
С PostGreSQL это не проблема, что является очень большим плюсом.
источник