1

Тема: Сравнение с PostgreSQL

Приветствую!

У меня тут возникла проблема выбора. Лично я хорошо знаком с mysql на практике и по учебной линии хорошо знаю mssql и oracle.
Есть задача: организовать веб-проект.
Обязательная кластеризация sql бд (выбор между mySQL и PostgreSQL. mssql и oracle покамест не рассматриваются в виду ограниченности бюджета проекта). Кластер минимум на 2 сервера.
Минимум 2 app-серверов.
Минимум 2 веб-серверов.

Если бы я делал проект один - то у меня бы вопросов с выбором не возникало. Но я делаю не один, потому приходится выбирать БД. В интернете я нахожу весьма странную ситуацию. Сторонники PostgreSQL не считают mySQL вообще БД. Активных сторонников mySQL не наблюдается. Может действительно PostgreSQL лучше mySQL настолько что и сравнивать нет смысла.

У меня есть личный проект. Там в БД mySQL несколько млн записей и оно каждый день их перетасовывает, сравнивает, обновляет и т.п. очень быстро и стабильно, раз в 10-20 минуту идёт большая выборка данных каким-то клиентом 1-10 раз в минуту идёт мелкий запрос. Всё это выполняется быстро и стабильно - главное пользователи довольны.

Лично я mуSQL очень доволен. Но тут ситуация немного иная. В будущем проекте будет миллиарды записей. И обращений бд предполагается несколько тысяч в секунду при пиковой нагрузке и с десяток в секунду в штатном режиме. Есть мнение что mySQL с этим справляться не будет, равно как нет утверждения, что с этим будет справляться PostgreSQL. Хотелось бы услышать мнения по этому вопросу. Может тесты какие-то специальные есть? Результаты тестов?

Заранее большое спасибо.

2

Re: Сравнение с PostgreSQL

После появления MySQL 5, разница между MySQL и PostgreSQL практически нивелировалась. Трудно найти такую функцию, которая была бы в одной БД и не было бы в другой.

У меня нет опыта работы с кластером MySQL, но предполагаю, что существенного замедления использование NDB не вызовет, хотя здесь уже существует зависимость скорее от железа и типа соединения компьютеров, чем от БД. По идее смысл в создании кластера есть только при соединении удаленных компьютеров, и в этом случае все упрется в ширину пропускного канала. Зависимость скорости от используемой БД будет минимальна.

MySQL используется в таких проектах, как Wikipedia и YouTube, так что сомневаться в ее возможностях обрабатывать большое количество запросов не приходится.

Но все это вовсе не значит, что PostgreSQL никуда не годится, просто здесь уже выбор БД зависит от привычки и собственного опыта работы с определенной БД.

А вот с тестами совсем плохо. Дело в том, что ни один разработчик не станет публиковать результаты тестов, в которых его БД выглядит хуже других, но при этом с удовольствием опубликует те, в которых она лучше. На тесты сторонних энтузиастов, расчитывать также не стоит, так как они, как правило, очень далеки от жизни, то есть используемые в них запросы, либо вообще в реальной жизни выполняться не будут, либо будут выполняться черезвычайно редко.

В целом, совет можно дать только один - используйте то, к чему вы привыкли. Если это MySQL - хорошо, если PostgreSQL - тоже хорошо.

3

Re: Сравнение с PostgreSQL

Hanut сказал:

Но все это вовсе не значит, что PostgreSQL никуда не годится, просто здесь уже выбор БД зависит от привычки и собственного опыта работы с определенной БД.

Полностью согласен с Виктором, считаю, что обе СУБД имеют свои преимущества и недостатки.

Если сравнивать MySQL и PostgreSQL по большому счету производительность БД напрямую зависит прежде всего от квалификации разработчика, железа и размера БД.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)