Сведения о вопросе

Junior

21:06, 1st October, 2020

Теги

MySQL   PostgreSQL    

MySQL vs PostgreSQL?

Просмотров: 329   Ответов: 15

Кратко о проекте:
— выборка по большому количеству условий
— много инсертов
— высокие нагрузки
— без права на ошибку

MySQL или PostgreSQL?
Комплексное решение?
Другие варианты?
NoSQL?



  Сведения об ответе

padenie

21:12, 5th August, 2020

Однозначно Postresql. У mysql после появления в девятой версии репликации из коробки пропал последний плюс mysql.

Постгря намного более продвинутая база данных, перечислять ее возможности можно бесконечно, и вот пара вещей которые очень и очень полезны.
— Индексы по выражению
— Частичные индексы
— Неблокирующее обновление индексов
— Супер быстрое удаление и добавление колонок в таблицах любого размера
— По опыту во много раз меньше дедлоков при больших нагрузках
— Несколько типов индексов
— Количество типов просто огромно, плюс пользовательские типы
— Точнее соответствует стандарту ANSI и гораздо строже относится к входным данным
— чеки, правила, тригеррные функции
— Модуль полнотекстового поиска (мускульный только для myisam и по возможностям нервно курит в стороне)!
— Транзакционный ddl!
— Возможность писать процедуры практически на любом языке, мощный внутренний язык PL/pgSQL (в мускуле убожество с кучей ограничений)
— Намного лучше работает на многоядерных системах
— Продвинутый оптимизатор

и многое многое другое другое.


  Сведения об ответе

PROGA

12:07, 4th August, 2020

  Сведения об ответе

FAriza

01:37, 18th August, 2020

  Сведения об ответе

PIRLO

03:22, 9th August, 2020

The AdWords system was initially implemented on top of the MySQL database engine. After the system had been launched, management decided to use a commercial database (Oracle) instead. The system became much slower, so eventually it was returned to MySQL [3]


  Сведения об ответе

park

05:25, 11th August, 2020

Как известно MySQL пользуется для хранения основного объема информации facebook.com и много других сайтов с более ограничеными ресурсами — например lenta.ru
От ошибок страхует не СУБД, а формат хранения данных. Храните оперативные данные в памяти, скидывайте по таймеру в innodb-таблицы.
Выборка по большому количеству условий — это минус архитектуре. В высоконагруженом проекте нормализация стоит на втором месте за производительностью, лучше разбейте сложные таблицы на простые, даже если придется где-то вместо одного сложного запроса сделать несколько простых. Зато при простых запросах не придется дергать слишком большие таблицы.


  Сведения об ответе

LIZA

21:40, 24th August, 2020

согласно libastral, сегодня я отвечу noSQL, но завтра все может измениться.

Описывайте проблему и не стоит заставлять нас обращатся к этой библиотеке.


  Сведения об ответе

darknet

12:15, 20th August, 2020

PostreSQL — объектно-реляционная база данных.
MySQL — реляционная база данных.

Посмотрите чем вам это грозит.

Базовый синтаксис запросов одинакой. Поэтому можете установить две базы и протестировать.

Так же обратите внимание что в MySQL может быть использован разный тип таблиц (MyISAM, InnoDB etc.)
Лично я работал с обоими базами данных, PostreSQL показался мне удобнее в плане реализации логики обратки данных на стороне БД.


  Сведения об ответе

DO__IT

23:04, 10th August, 2020

У каждой БД есть свои +
и надо лишь правильно воспользоваться ими.

есть же байка, что гугл работает на майскуле, фейсбук также и ещё много кто и не жалуется.

также есть куча примеров когда сайт с 1000 посетителей не справлялся на мускуе, а вот с посгресом полетел.

так что я за умное использование любого инструмента, будь то молоток то кувалда, для себя решил, что следующий свой проект буду делать а фиг знает на django а там пофигу с одной в другую БД прыгнуть не далеко


  Сведения об ответе

lesha

10:10, 24th August, 2020

Задачи не описал, поэтому бери что лучше всего знаешь. Я бы взял firebird


  Сведения об ответе

ITSME

11:47, 2nd August, 2020

MongoDB

если хочется таки РСУБД, то PostgreSQL


  Сведения об ответе

ASER

03:43, 10th August, 2020

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


  Сведения об ответе

dumai

14:04, 24th August, 2020

Лучше всего то, чем Вы пользовались.
Одной из убийственных фич Postgres может стать возможность написания очень мощных функций и триггеров, что может стать решающим моментом, если БД сервер удаленный и хочется сократить трафик


  Сведения об ответе

PAGE

16:33, 28th August, 2020

Подойдёт любая популярная система. Берите и тестируйте оба варианта, если без права на ошибку.


  Сведения об ответе

lool

18:27, 14th August, 2020

Если выберите NoSQL, то от автоматического «без права на ошибку» (поддержки транзакций и целостности) скорее всего придётся отказаться и реализовывать её ручками, зачастую отказываясь от кэширования записи. Основное преимущество NoSQL я вижу когда архитектура модели мало использует связи (особенно многие-ко-многим), но часто «опускается» до композиции и агрегации или необходимости работать с иерархией наследования классов/объектов модели.

Заметного увеличения, равно как и падения, производительности от перехода от дефолтных для debian настроек MySQL к дефолтным же настройкам PostgreSQL простой заменой в ORM не заметил


  Сведения об ответе

SEEYOU

01:24, 14th August, 2020

Может будет кому интересно.
База MySql 5.7 суммарный объем базы 100Гб самая большая таблица
5aecf5b054416282604879.png
из этой таблицы обычно идет запрос по 3-м условиям.
все это работает на машине
5aecf62108671105320965.png
Суточное посещение сайта
5aecf6f66bdc6314159027.png
Все работает достаточно шустро


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться