Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
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 для веб-приложений
Я работаю над веб-приложением, использующим Python (Django), и хотел бы знать, будет ли MySQL или PostgreSQL более подходящими при развертывании для производства.
В одном из подкастов Джоэл сказал, что у него были некоторые проблемы с MySQL, и данные не были согласованы.
Я хотел бы знать, были ли у кого-то такие проблемы. Кроме того, когда речь заходит о производительности, которую можно легко настроить?
Примечание для будущих читателей: приведенный ниже текст в последний раз редактировался в августе 2008 года. Это было почти 5 лет назад по состоянию на эту редакцию. Программное обеспечение может быстро меняться от версии к версии, поэтому, прежде чем вы выберете DBMS, основываясь на приведенном ниже Совете, проведите небольшое исследование, чтобы убедиться, что он все еще точен.
- Лучше?
MySQL гораздо чаще предоставляется веб-хостами.
PostgreSQL-это гораздо более зрелый продукт.
Вот эта дискуссия касается вашего вопроса "better"
По-видимому , согласно этой веб-странице, MySQL является быстрым, когда уровни параллельного доступа низки, и когда есть намного больше операций чтения, чем записи. С другой стороны, он показывает низкую масштабируемость с увеличением нагрузок и коэффициентов записи/чтения. PostgreSQL является относительно медленным при низких уровнях параллелизма, но хорошо масштабируется с увеличением уровней нагрузки, обеспечивая при этом достаточную изоляцию между параллельными доступами, чтобы избежать замедления при высоких коэффициентах записи/чтения. Он продолжает ссылаться на ряд сравнений производительности, потому что эти вещи очень важны... чувствительны к условиям.
Итак, если ваш фактор принятия решения - " что быстрее? - Тогда ответ таков: "это зависит от обстоятельств. Если это действительно важно, протестируйте свое приложение против обоих. "И если вам действительно не все равно, вы получаете два DBAs (один из которых специализируется на каждой базе данных) и заставляете их настраивать дерьмо из баз данных, а затем выбираете. Поразительно, как дорого стоят хорошие DBAs; и они стоят каждого цента .
Когда это имеет значение.
Что, вероятно, не так, поэтому просто выберите ту базу данных, которая вам нравится, и идите с ней; лучшую производительность можно купить с большим количеством RAM и CPU, и более подходящим дизайном базы данных, и умными трюками с хранимыми процедурами и так далее - и все это дешевле и проще для random-website-X, чем мучительно выбирать, MySQL или PostgreSQL, и Специализированная настройка от дорогого DBAs.
Джоэл также сказал в этом подкасте, что комментарий вернется, чтобы укусить его, потому что люди будут говорить, что MySQL был куском дерьма - Джоэл не мог получить
count строк назад. Множественное число анекдота-это не данные. Он сказал: :
MySQL-это единственная база данных, против которой я когда-либо программировал в своей карьере, у которой были проблемы с целостностью данных, где вы делаете запросы и получаете бессмысленные ответы, которые неверны.
и еще он сказал::
Это просто анекдот. И это одна из тех вещей, которые расстраивают меня, на самом деле, в отношении блогов или просто Интернета в целом. [...] Есть просто странная тенденция превращать анекдоты в правду, и я на самом деле как блогер начинаю чувствовать себя немного виноватым из-за этого
Некоторые говорят, что MySQL-это просто и быстро.
Fast-Ну, если вы используете механизм хранения по умолчанию MyIsam, это быстро. Он имеет почти нулевую серьезную функцию базы данных, но это быстро. Если бы я был саркастичен, я бы сказал, что grep на плоском файле тоже быстро. Забавно, что это не так уж далеко от того, как MyIsam хранит данные. Так что не ожидайте, что там будет какая-то функция реляционной базы данных. Нет даже ограничений целостности ссылок.
Просто-теперь предположим, что вы хотите получить справедливое подмножество реальных функций базы данных. Может быть, какие-то ограничения целостности, триггеры, изоляция транзакций, функциональные индексы? Поэтому очевидно, что вы должны отпустить MyIsam двигатель и выбрать один из основных 3 других двигателей хранения. Которые были разработаны различными поставщиками, каждый из которых имеет определенный configuration/behaviour.
Ознакомьтесь с обзором систем хранения данных, и если у вас не будет головной боли, я соглашусь, что MySql-это просто с вашей точки зрения.
Исходя из этих фактов, я позволю вам составить свое мнение о тех, кто говорит, что MySql-это быстро и просто.
Если вы хотите масштабировать больше, экономить время, иметь меньше странных ошибок для охоты, иметь более простой код приложения, тратить больше времени на оптимизацию вашего бизнеса, а не на борьбу с вашей базой данных, то решение с открытым исходным кодом-это Postgresql.
Просто перезвонит много месяцев спустя.
Географические возможности этих двух баз данных весьма и весьма различны. PostgreSQL имеет исключительное расширение PostGIS. Географические возможности MySQL практически равны нулю по сравнению с ними.
Если ваш веб-сервис имеет компонент location, выберите PostgreSQL.
Я не использовал Django, но я использовал и MySQL и PostgreSQL. Если вы будете использовать свою базу данных только в качестве бэк-энда для Django, это не имеет большого значения, потому что она будет абстрагироваться от большинства различий. PostgreSQL немного более масштабируема (она не ударяется о кирпичную стену так быстро, как MySQL, когда увеличивается размер данных / количество клиентов).
Реальная разница возникает, если вы делаете новую систему. Тогда я бы рекомендовал PostgreSQL hands down, потому что он имеет гораздо больше функций, которые делают ваш слой DB гораздо более настраиваемым, так что вы можете настроить его под любые требования, которые у вас могут быть.
Я широко использую и то, и другое. Мой выбор для конкретного проекта сводится к следующему:
- Лицензирование-собираетесь ли вы распространять свое приложение (IANAL)
- Существующая инфраструктура и база знаний
- Любой специальный соус , который вы должны иметь.
По особому соусу мне такие вещи нравятся:
- легкая / дешевая репликация = MySQL
- Огромные проблемы с набором данных с небольшими результатами = PostgreSQL. Используйте расширения языка и выполняйте очень эффективные операции с данными. (PL/Python, PL/TCL, PL/Perl, и т. д)
- Интерфейс с R статистическими библиотеками = PostgreSQL PL/R доступен в debian/ubuntu
Хотя это немного устарело, было бы полезно прочитать страницу MySQL Gotchas . Многие из перечисленных там пунктов все еще верны, насколько мне известно.
Я использую PostgreSQL.
Ну, я не думаю, что вы должны использовать другой бренд базы данных в какой-либо прошлой разработке (сборка, постановка, прод), поскольку это вернется, чтобы укусить вас.
Насколько я понимаю, PostgreSQL-это более 'correct' реализация базы данных, а mySQl-менее корректная (менее совместимая), но более быстрая.
Так что если вы в значительной степени пишете приложение CRUD mySQL-это правильный путь. Если Вам требуются определенные функции из вашей базы данных (если вы не уверены, то нет), то вы можете посмотреть в postgreSQL.
Если вы пишете приложение, которое может быть распространено совсем немного на разных серверах, MySQL имеет большой вес по сравнению с PostgreSQL из-за переносимости. PostgreSQL трудно найти на менее чем удовлетворительных веб-хостах, albet есть несколько. В большинстве случаев PostgreSQL работает медленнее, чем MySQL, особенно когда речь заходит о тонкой настройке в конце. В общем, я бы сказал, что нужно дать PostgreSQL шанс на короткое время, чтобы вы не полностью избегали его, а затем принять решение.
@WolfmanDragon
PostgreSQL имеет (крошечную) поддержку объектов, но по своей природе является реляционной базой данных. Со своей страницы о компании :
PostgreSQL-это мощная система реляционных баз данных с открытым исходным кодом.
MySQL - это реляционная система управления базами данных, а PostgreSQL-объектно -реляционная система управления базами