Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
899
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
952
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
942
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1727
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6087
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4400
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
MySQL vs PostgreSQL?
Просмотров: 329
 
Ответов: 15
Кратко о проекте:
— выборка по большому количеству условий
— много инсертов
— высокие нагрузки
— без права на ошибку
MySQL или PostgreSQL?
Комплексное решение?
Другие варианты?
NoSQL?
Однозначно Postresql. У mysql после появления в девятой версии репликации из коробки пропал последний плюс mysql.
Постгря намного более продвинутая база данных, перечислять ее возможности можно бесконечно, и вот пара вещей которые очень и очень полезны.
— Индексы по выражению
— Частичные индексы
— Неблокирующее обновление индексов
— Супер быстрое удаление и добавление колонок в таблицах любого размера
— По опыту во много раз меньше дедлоков при больших нагрузках
— Несколько типов индексов
— Количество типов просто огромно, плюс пользовательские типы
— Точнее соответствует стандарту ANSI и гораздо строже относится к входным данным
— чеки, правила, тригеррные функции
— Модуль полнотекстового поиска (мускульный только для myisam и по возможностям нервно курит в стороне)!
— Транзакционный ddl!
— Возможность писать процедуры практически на любом языке, мощный внутренний язык PL/pgSQL (в мускуле убожество с кучей ограничений)
— Намного лучше работает на многоядерных системах
— Продвинутый оптимизатор
и многое многое другое другое.
Как известно MySQL пользуется для хранения основного объема информации facebook.com и много других сайтов с более ограничеными ресурсами — например lenta.ru
От ошибок страхует не СУБД, а формат хранения данных. Храните оперативные данные в памяти, скидывайте по таймеру в innodb-таблицы.
Выборка по большому количеству условий — это минус архитектуре. В высоконагруженом проекте нормализация стоит на втором месте за производительностью, лучше разбейте сложные таблицы на простые, даже если придется где-то вместо одного сложного запроса сделать несколько простых. Зато при простых запросах не придется дергать слишком большие таблицы.
PostreSQL — объектно-реляционная база данных.
MySQL — реляционная база данных.
Посмотрите чем вам это грозит.
Базовый синтаксис запросов одинакой. Поэтому можете установить две базы и протестировать.
Так же обратите внимание что в MySQL может быть использован разный тип таблиц (MyISAM, InnoDB etc.)
Лично я работал с обоими базами данных, PostreSQL показался мне удобнее в плане реализации логики обратки данных на стороне БД.
У каждой БД есть свои +
и надо лишь правильно воспользоваться ими.
есть же байка, что гугл работает на майскуле, фейсбук также и ещё много кто и не жалуется.
также есть куча примеров когда сайт с 1000 посетителей не справлялся на мускуе, а вот с посгресом полетел.
так что я за умное использование любого инструмента, будь то молоток то кувалда, для себя решил, что следующий свой проект буду делать а фиг знает на django а там пофигу с одной в другую БД прыгнуть не далеко
Если выберите NoSQL, то от автоматического «без права на ошибку» (поддержки транзакций и целостности) скорее всего придётся отказаться и реализовывать её ручками, зачастую отказываясь от кэширования записи. Основное преимущество NoSQL я вижу когда архитектура модели мало использует связи (особенно многие-ко-многим), но часто «опускается» до композиции и агрегации или необходимости работать с иерархией наследования классов/объектов модели.
Заметного увеличения, равно как и падения, производительности от перехода от дефолтных для debian настроек MySQL к дефолтным же настройкам PostgreSQL простой заменой в ORM не заметил
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться


