#highload #sqlite #php #postgresql #mysql
Здравствуйте! Подскажите, пожалуйста, какую БД выбрать(MySQL vs PostgreSQL vs SQLite) для высокоангруженного сайта на PHP в котором будет примерно 300 000 статей, и 50 000-60 000 заходов на сайт в день? Спасибо!
Ответы
Ответ 1
Ну для больших проектов SQLite точно не стоит выбирать. А что касается MySQL и PostgreSQL, то это скорее зависит от собственных предпочтений и кривизны рук)) Несколько интересных ссылок: PostgreSQL vs MySQL: есть тесты на больших таблицах? PostgreSQL vs MySQL vs ... MySQL vs PostgreSQLОтвет 2
PostgreSQL выглядит более предпочтительнее по ряду причин: Более "умный" планировщик запросов. Возможность использования нескольких индексов на одной таблице (MySQL может использовать только один индекс на одну таблицу). Функциональные индексы (индексы по выражению, а не по данным из столбца).Ответ 3
Для высоких нагрузок - postgresql Кроме того, что тут написали 1)Много типов индексов функциональные, частичные; Триграмные индексы для запросов к тексту WHERE LIKE '%any%template%'(кому надо искать по шаблону, например в табличке с 10-20 миллионов строк - оценят),запросов,неточный поиск итд; Если надо - крутой полнотекст(кому надо было его использовать на транзакциях в mysql - оценят); География; индексация внутренней структуры jsonb для быстрого поиска; методы индексирования gist\gin\btree а будут и ещё 2) полно всяких фишек для генерации отчётов на стороне SQL рекурсивные и обычные табличные выражения; аналитические функции; pivot(дополнение),unnest,generate_series,rollup и т.п.; 3)Очень много типов и крутые возможности контроля целостности по ним, например, задача бронирования номеров\мест на диапазон дат решается в лоб даже без триггеров и хранимок, чисто констрейнами. 4)фишки для скорости и для интерактива функционал для организации очередей массового обслуживания; система очень быстрых сообщений между клиентами; unlogged таблицы ; матвьюхи 5) средства для отказоустойчивости репликация из коробки; различные методы резервного копирования; мониторинг; 6)удобства для проггера богатый pl\pgsql; можно писать на чём хочешь, хоть на plr,питоне и джаваскрипте; чеки,ключи; можно писать запросы не на sql, а прямо на языке хранимок, какой выберешь.
Комментариев нет:
Отправить комментарий