2009-09-03 6 views
2

Просто был обсужден вопрос о преимуществах использования PostgreSQL над MySQL и наоборот. Есть ли у кого-нибудь практический опыт, когда есть веская причина использовать один над другим?Что такое лучшая СУБД для работы?

Некоторые люди говорили, что Postgre лучше для безопасности, тогда как MySQL становится все более функционально богатым ... Я не уверен, что с этим делать.

ответ

5

Вопрос не в том, что лучше, но лучше для конкретного использования, которое вы планируете использовать.

Если вам не нужна последовательность транзакций, mySQL может дать лучшую производительность. Если вы это сделаете, PostgreS может быть быстрее. Если вам нужен пространственный поиск, PostgreS. Таблицы размером более 2 ГБ, PostgreS. Растровые индексы, PostgreS. INTERSECT, PostgreS.

... это может продолжаться ad-nauseum. И тогда мы переходим к вопросу о «лучшем», и это предполагает, что mySQL или PostgreS - это только два варианта. Иногда SQLite является лучшим. Или Oracle. Или даже механизм хранения, который не является РСУБД.

(и заметьте, что я сказал «может» дать более высокую производительность - просто потому, что один это, как правило, быстрее, не означает, что это будет быстрее, как вы собираетесь подчеркнуть это)

+3

Я уверен, что вы имели в виду Postgres для пространственного поиска, не так ли? PostGIS имеет гораздо больше возможностей, чем MySQL. И в MySQL пространственные запросы поддерживаются только в MyISAM, поэтому до свидания с базовыми функциями базы данных, такими как транзакции. –

1

Он также может зависеть от вашей точки зрения ...

Если вы работодатель, вы хотите, чтобы обеспечить максимально возможную скорость принятия, так что вы можете найти разработчиков, которые могут работать на нем.

Если вы разработчик, функции, документация и сообщество важны.

Если вы архитектор, важны безопасность, функции и масштабируемость.

Если вы конечный пользователь. Тебе все равно!

+0

Как это ответ? ;-) –

+0

Конечный пользователь может не заботиться об этом, но босс конечного пользователя позаботится. –

+0

Объясните, почему босс конечного пользователя заботится о том, какую технологию баз данных вы используете? – Fenton

1

Посмотрите на this уведомление, что это идет от Postgresql.org хотя

1

Простой ответ заключается в том, что Postgres лучше для обеих функций и безопасности.

Однако MySQL гораздо более популярен, поэтому более вероятно, что он будет напрямую поддерживаться случайным приложением, особенно веб-приложениями. MySQL также делает заявления более быстрыми (возможно, поскольку он имеет меньше возможностей).

На эту тему посвящены тысячи веб-страниц.

+0

Да, в какой-то момент 'mysql' был еще легче и был идеальным инструментом для создания двухстраничного веб-сайта. Как 'php'. Теперь люди просто продолжают использовать его, потому что они всегда это делают ... –

1

Это на самом деле не из первых рук знания, но ...

Из того, что я слышал о скорости:
MyISAM в MySQL работает быстрее, чем PostgreSQL
PostgreSQL быстрее, чем в MySQL InnoDB

(Обратите внимание, что я никогда не использовал PostgreSQL, только MySQL)

1

I использовали оба и даже перенесенные проекты от MySQL до PostgreSQL, и по моему опыту PostgreSQL был лучшим выбором. Для моих приложений он был по крайней мере наравне с MySQL и предложил необходимые функции, не найденные в MySQL. При этом, если MySQL отвечает вашим потребностям, это хороший маленький dbms и, как и другие dbms, продолжает улучшаться.

1
0

Если вы используете СУБД для веб-сайта без каких-либо транзакционных потребностей - ваш выбор MySQL с MyISAM двигателя. Если вы разрабатываете более промышленное программное обеспечение, то PostgreSQL. Удивительная функция PostgreSQL записывает хранимые процедуры на разных языках не только PL/PgSQL. Могут быть C, Python, PERL ... все, что вы хотите, и для которых существует обработчик языка.

0

Сервер Oracle 9i очень силен RDBMS, и узнать, как использовать СУБД, я думаю, что PostgreSQL - отличный выбор.