MySQL по сравнению с PostgreSQL для [закрытых] веб-приложений

У меня есть решение ниже, и его работы для меня:

app.controller('LoginController', ['$http', '$scope', function ($scope, $http) {
$scope.login = function (credentials) {
$http({
        method: 'jsonp',
        url: 'http://mywebservice',
        params: {
            format: 'jsonp',
            callback: 'JSON_CALLBACK'
        }
    }).then(function (response) {
        alert(response.data);
    });
  }
}]);

в ' http: // mywebservice ' должен быть необходим параметр обратного вызова, который возвращает JSON_CALLBACK с данные. Ниже приведен пример примера, который отлично работает

$scope.url = "https://angularjs.org/greet.php";
    $http({
        method: 'jsonp',
        url: $scope.url,
        params: {
            format: 'jsonp',
            name: 'Super Hero',
            callback: 'JSON_CALLBACK'
        }
    }).then(function (response) {
        alert(response.data);
    });

:

{"name":"Super Hero","salutation":"Apa khabar","greeting":"Apa khabar Super Hero!"}

120
задан Ryall 21 April 2016 в 11:59
поделиться

11 ответов

А отмечают будущим читателям: текст ниже был в последний раз отредактирован в августе 2008. Это почти 11 лет назад с этого редактирования. Программное обеспечение может измениться быстро от версии до версии, поэтому прежде чем Вы пойдете, выбор DBMS на основе совета ниже, проведете некоторое исследование, чтобы видеть, точно ли это все еще. Проверьте на более новые ответы ниже.

<час>

Лучше?

MySQL намного чаще всего обеспечивается веб-хостами.

PostgreSQL является намного более сформировавшимся продуктом.

существует это обсуждение, рассматривая Ваш "лучший" вопрос

, По-видимому, согласно эта веб-страница , MySQL быстр, когда параллельные уровни доступа являются низкими, и когда существует намного больше чтений, чем записи. С другой стороны, это показывает низкую масштабируемость с увеличением отношения записи-чтения и загрузки. PostgreSQL является относительно медленным на низких уровнях параллелизма, но масштабируется хорошо с увеличивающимися уровнями загрузки при обеспечении достаточной изоляции между параллельными доступами для предотвращения замедления в высоких отношениях записи-чтения. Это продолжает связываться со многими сравнениями производительности, потому что эти вещи очень... чувствительны к условиям.

Поэтому, если Ваш фактор решения, ", который быстрее? " Затем ответ, "он зависит. , Если это действительно имеет значение, протестируйте свое приложение против обоих. " И если Вы действительно, действительно заботьтесь, Вы входите в два DBAs (тот, кто специализируется на каждой базе данных), и заставьте их настраивать дерьмо из баз данных и затем выбирать. Удивительно, насколько дорогой хороший DBAs; и они стоят каждого цента .

, Когда это имеет значение.

, Который это, вероятно, не делает, поэтому просто, выберите, какой бы ни база данных Вы любите звук и идете с ним; лучшая производительность может быть куплена с большим количеством RAM и ЦП и более соответствующего проектирования баз данных, и умные приемы хранимой процедуры и так далее - и все это являются более дешевыми и легче для random-website-X, чем мучиться, чтобы выбрать, MySQL или PostgreSQL и специалист, настраивающийся от дорогого DBAs.

<час> Joel также сказал в том подкасте, что комментарий возвратится, чтобы укусить его, потому что люди сказали бы, что MySQL был куском дерьма - Joel не мог вернуться count из строк. Множественное число истории не является данными. Он сказал :

MySQL является единственной базой данных, против которой я когда-либо программировал в моей карьере, которая имела проблемы целостности данных, где Вы делаете запросы, и Вы добираетесь, ерунда огрызается, которые являются неправильными.

и он также сказал:

Это - просто история. И это - одна из вещей, которая расстраивает меня, на самом деле, о блоггинге или просто Интернете в целом. [...] существует только странная тенденция превратить истории в истины и меня на самом деле как блоггер, я начинаю чувствовать себя немного виновным об этом

126
ответ дан 24 November 2019 в 01:40
поделиться

Я не использовал Django, но я использовал и MySQL и PostgreSQL. Если Вы будете использовать свою базу данных только в качестве бэкенда для Django, она не имеет значения так очень, потому что она абстрагирует далеко большинство различий. PostgreSQL немного более масштабируем (он не врезается в кирпичную стену с такой скоростью, как MySQL как размер данных / клиентские увеличения количества).

реальная разница входит при выполнении новой системы. Затем I'ld рекомендуют, чтобы PostgreSQL передал, потому что он имеет намного больше функций, которые делают Ваш уровень DB намного более настраиваемым так, чтобы можно было подстроить его к любым требованиям, которые Вы могли бы иметь.

12
ответ дан 24 November 2019 в 01:40
поделиться

Хотя это немного устарело, это стоило бы считать страница MySQL Gotchas . Многие объекты, перечисленные там, все еще верны, насколько я знаю.

я использую PostgreSQL.

6
ответ дан 24 November 2019 в 01:40
поделиться

Ну, я не думаю, что необходимо использовать другой бренд базы данных в чем-либо прошлая разработка (сборка, подготовка, напоминание), когда это возвратится, чтобы укусить Вас.

От того, как я понимаю это, PostgreSQL является более 'корректной' реализацией базы данных, в то время как mySQl менее корректен (менее совместимый), но быстрее.

Поэтому, если Вы в значительной степени пишете, MySQL Приложения типа CRUD является способом пойти. При требовании определенных функций из базы данных (если Вы не уверены затем, что Вы не делаете), затем, можно хотеть изучить postgreSQL.

1
ответ дан 24 November 2019 в 01:40
поделиться

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

0
ответ дан 24 November 2019 в 01:40
поделиться

Спасибо. Я использовал Django с MySQL, и он прекрасен. Выберите свою базу данных по функциям, в которых Вы нуждаетесь. Трудно сравнить MySQL и Пост-ГРЭС. Лучше сравнить Postgress с SQL-сервером.

0
ответ дан 24 November 2019 в 01:40
поделиться

@WolfmanDragon

PostgreSQL имеет (крошечную) поддержку объектов, но это - по своей природе, реляционная база данных. От о странице :

PostgreSQL является мощным, открытым исходным кодом , реляционным система баз данных.

0
ответ дан 24 November 2019 в 01:40
поделиться

MySQL система управления реляционными базами данных , в то время как PostgreSQL объект - система управления реляционными базами данных . PostgreSQL подходит хорошо для C++ или Java-разработчиков, поскольку он дает нам больше контроля тем, как запросы записаны. ORDBMS также дает нам Объекты и Определяемые пользователем Типы. Сами SQL-запросы намного ближе к стандартам ISO, чем MySQL.
Вам нужны ORDBMS или RDBMS? Это лучше ответит на Ваш вопрос.

-1
ответ дан 24 November 2019 в 01:40
поделиться

Некоторые говорят, что MySQL - это просто и быстро.

Быстро - Что ж, если вы используете механизм хранения MyIsam по умолчанию, он будет быстрым. В нем почти нет серьезных функций базы данных, но он быстрый. Если бы я был саркастичен, я бы сказал, что grep на плоском файле тоже работает быстро. Как ни странно, это не так уж и далеко от того, как MyIsam хранит данные. Так что не ждите там каких-либо функций реляционной базы данных. Даже не ограничения целостности ссылок.

Просто - теперь предположим, что вам нужно изрядное количество реальных функций базы данных. Может быть, что-то вроде ограничений целостности, триггеров, изоляции транзакций, функциональных индексов? Таким образом, очевидно, что вам нужно отпустить механизм MyIsam и выбрать один из трех основных механизмов хранения. Которые были разработаны разными поставщиками, каждый из которых имеет определенную конфигурацию / поведение.

26
ответ дан 24 November 2019 в 01:40
поделиться

Я широко использую оба. Мой выбор для конкретного проекта сводится к следующему:

  • Лицензирование - собираетесь ли вы распространять свое приложение (IANAL)
  • Существующая инфраструктура и база знаний
  • Любой специальный соус , который вам нужен.

Специальным соусом Мне нравится:

  • простая / дешевая репликация = MySQL
  • Огромные проблемы с наборами данных с небольшими результатами = PostgreSQL. Используйте языковые расширения и получайте очень эффективные операции с данными. (PL / Python, PL / TCL, PL / Perl и т. Д.)
  • Интерфейс со статистическими библиотеками R = PostgreSQL PL / R доступен в debian / ubuntu
6
ответ дан 24 November 2019 в 01:40
поделиться

Звонок через много месяцев.

Географические возможности двух баз данных очень, очень разные. PostgreSQL имеет исключительное расширение PostGIS. По сравнению с этим географическая функциональность MySQL практически равна нулю.

Если в вашем веб-сервисе есть компонент местоположения, выберите PostgreSQL.

12
ответ дан 24 November 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: