MySQL и SQL Server против Oracle

Я всегда использовал только MySQL и никакой другой системы баз данных.

Сегодня на собрании компании возник вопрос, и я смутился, чего не знал: Разработчику, какая потрясающая функциональность MS или Oracle предлагают, что MySQL не хватает и который позволяет MS и Oracle взимать плату за свои системы?

Ответ 1

Я думаю, что другие комментаторы совершенно правы, чтобы возвысить все дополнительные неосновные возможности RDBMS, которые связаны с коммерческими решениями.

Вот матрица выпусков и функций Oracle, которые стоили бы просматривать только для понимания "дополнительных" функций, особенно в контексте того, что будет стоить для разработки и поддержки вашей собственной версии (если это даже возможно) на такой продукт, как MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html

Например, если у вас было требование о том, что "пользователи смогут восстановить любые предыдущие версии данных, которые они удалили или обновили до одной недели после того, как изменения были совершены", то это означает определенные накладные расходы на разработку что я думаю, будет намного выше в системе, у которой не было встроенной функции, такой как Flashback Query оракула. ​​

Ответ 2

Чистые RDBMS-уровни Oracle и MSSQL предлагают в основном более зрелую программируемую среду, чем MySQL и InnoDB. T-SQL и PL/SQL еще не могут быть сопоставлены хранимыми процедурами и триггерами MySQL.

Другими отличиями являются синтаксические и незначительные смысловые различия, которые делают вещи проще или сложнее (например, верхние 500 против предела/смещения).

Но реальным убийцей является то, что на уровне слотов RDBMS MSSQL (службы Reporting Services, Analysis Services) и Oracle (Data Warehousing, RAC) есть много интегрированных инструментов и сервисов, которые у MySQL нет (пока).

Ответ 3

MySQL не является бесплатным!

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

В противном случае он стоит $2000 в год для "стандартного" издания, что примерно сопоставимо с стоимостью лицензирования SQL Server.

Оба являются очень хорошими базами данных, но среди преимуществ SQL Server:

  • Богатый и выразительный процедурный язык (T-SQL)
  • Лучший оптимизатор запросов и более высокая производительность в среде с интенсивной записью
  • Сильный набор вспомогательных инструментов и возможностей, включая среду программирования, инструмент ETL (SSIS), моделирование размеров (SSAS), среду отчетности (SSRS) и достаточно сложный планировщик заданий.
  • Интерактивная отладка хранимых процедур и UDF.
  • Относительно простой в использовании инструмент управления на основе окон, который позволяет выполнять большинство задач администрирования "щелчком".

Многие люди идеологически настроены против использования инструментов Microsoft или блокируются в среде Windows, и я могу это понять. Но MySQL не является бесплатным для использования в бизнесе, и это, похоже, не широко понято.

Чтобы просмотреть политику лицензирования MySQL, ознакомьтесь с ней на своем веб-сайте: http://www.mysql.com/about/legal/licensing/index.html

Ответ 4

Некоторые другие вещи, о которых говорит оракул MySQL.

  • Очередь
  • планирование внутренних заданий
  • зрелый язык хранимых процедур
  • пассированные таблицы
  • мелкозернистый контроль доступа и аудит
  • сильные функции восстановления (например, flashback, rman, dataguard)
  • ссылки удаленной базы данных
  • приложение express

Ответ 5

До тех пор, пока я не буду управлять RDBSes от других поставщиков Oracle, о повторных "читателях не блокируют писателей, писатели не блокируют читателей", для меня мало что значит. Я действительно мало знал о проблемах с блокировкой в ​​течение 8 лет как Oracle DBA. 2 года Informix и 3 или SQL Server и доверяйте мне, я знаю намного больше о блокировке.

Итак, я бы сказал, помимо комментариев о функциях поддержки и не-RDBMS, добавьте поведение блокировки.

Ответ 6

В списке слишком много функций. См. Ссылку в Википедии в сообщении nullptr. Но я полагаю, что на самом деле вопрос, заданный на встрече, - "Разработчику, какая потрясающая функциональность делает MS или Oracle, предлагает, что задержки в MySQL позволяют MS и Oracle взимать плату за свои системы и которые могут быть эффективно использованы нашими компания?"

Все преимущества - это действительно преимущества, если они соответствуют вашим потребностям...

Ответ 8

ПРИМЕЧАНИЕ. Я не могу сказать ничего о Oracle, поэтому я отвечу только за SQL Server.

Ну, конечно, небольшие отличия в движке базы данных, такие как оператор MERGE, BULK INSERT, GROUPING SET и т.д.

Но я думаю, что большая часть таких вещей, как Integration Services, Analysis Services и Reporting Services. Это важные технологии, которые, на мой взгляд, абсолютно стоят денег, которые они стоят.

Ответ 9

MySQL не предлагал более богатую среду программирования, предлагаемую Oracle и MSSQL, особенно в ранних воплощениях, когда у нее даже не было хранимых процедур. С моей точки зрения, я склонен вкладывать большую часть своей бизнес-логики в приложение, через DAO или ORM-карты и т.д. Поэтому механизм базы данных под ним менее важен, и теоретически приложение переносимо. С точки зрения управления MSSQL предлагает ряд преимуществ (многие из них уже перечислены), которые облегчают задачу владения базой данных. Microsoft также обеспечивает превосходный и легкий SQLExpress для разработки, с которым я нашел легко работать, и он прекрасно интегрируется в Visual Studio.

Ответ 10

Вдохновленный ответом ThinkJet, я думаю, что еще один фактор, который приходит в игру, - "В какой степени мы готовы отказаться от независимости базы данных, чтобы обеспечить более быструю и дешевую разработку более эффективных приложений?" Если акцент компании заключается в том, что весь код должен быть переносимым между базами данных, тогда мало смысла использовать что-либо, кроме самых простых СУБД, а также улучшения и преимущества, которые предоставили Oracle и Microsoft, ничего не значит.

Потребуется очень мало, чтобы сломать истинную независимость базы данных, и моя философия заключается в том, что вы должны полностью отвлечься на использование каждой функции, которую вы заплатили, - улучшений SQL, PL/SQL и т.д.

Другие могут отличаться, конечно.

Ответ 11

Я думаю, что вопрос имеет неявное предположение, что это функции разработки, которые позволяют SQL Server/Oracle взимать плату. Я подозреваю, что это скорее реализация/поддержка.

Горячее резервное копирование - важная функция, которую стоит заплатить, по крайней мере, для большинства установок.

Для Oracle большое добавочное значение - это RAC - несколько серверов, которые используют одни и те же данные (то есть такие же диски) без какой-либо беспорядочной репликации. Это (как правило) не является очевидным для разработчика.

Ответ 12

Некоторые функции Oracle, которые мне очень нравятся,

  • Real Application Clusters - довольно мощный способ создания кластеров баз данных.
  • Быстро обновляемые материализованные представления, очень эффективный способ хранения и обновления результатов запроса.
  • Аналитические функции (как функции окна), которые позволяют эффективно группировать функции в подмножестве запроса. В большинстве случаев это может привести к самоуничтожению.

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