MySQL против SQL Server против Oracle

70

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

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

  • 4
    Вопрос сформулирован так, как будто что-то не позволяет MySQL взимать плату за его использование. Там нет ничего, что позволяет MS и Oracle заряжать, они просто делают это. А MySQL просто другой - с открытым исходным кодом. Если бы я захотел, я мог бы написать за полчаса какой-нибудь полусгоревший сценарий сохранения-восстановления и заплатить за него. Мне не нужно ничего, чтобы позволить мне это сделать.
Показать ещё 3 комментария
Теги:
sql-server

12 ответов

34
Лучший ответ

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

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

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

  • 0
    +1, хорошее резюме возможностей Oracle.
  • 0
    Хорошая информация о возможностях Oracle
22

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

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

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

11

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

  • 0
    Я согласен - MySql не является бесплатным (не существует такого понятия, как бесплатный обед). Однако я думаю, что многие из продуктов Microsoft не так хороши - кроме Visual Studio). Sybase кажется очень хорошей базой данных ИМХО
  • 3
    Ха, я был на самом деле одним из этих людей. Я действительно думал, что MySQL был бесплатным, абсолютно бесплатным, несмотря ни на что. Просто быстрый вопрос, есть ли у вас статистика / ссылка, где я вижу «лучший оптимизатор запросов и лучшую производительность в средах с интенсивной записью».
Показать ещё 5 комментариев
9

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

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

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

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

  • 0
    Одна и та же базовая кодовая база для таблицы строк длиной 1 м со 100 секундами чтения / обновлений в секунду для одного и того же набора строк сделает Oracle сияющим и (в то время) превратит спин-блокировку SQL Server в забвение. Да, все изменилось, но суть в том, что, как и я, не люблю корпорацию Oracle, их продукт баз данных является первоклассным.
  • 0
    Изоляция моментальных снимков SQL Server решает эту очень реальную проблему с Microsoft SQL Server - добавлено в SQL Server 2008
5

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

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

5

Oracle кластеры таблиц и одиночные кластеры хэшей таблицы ( которые вы также не найдете в SQL Server).

  • 1
    Ах, одиночные кластеры хэшей таблицы - одно легкое последовательное чтение, чтобы найти вашу строку. Очень крутые вещи ... Я видел 10000 отдельных поисков строк в секунду на очень скромном оборудовании.
4

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

  • 2
    Я думаю, что акцент делается на «теоретически», когда речь идет о транспортабельности;) Кажется, дело в том, что снижение кода до наименьшего общего знаменателя, который допускает транспортабельность, на самом деле стимулирует желание транспортировать, потому что, как правило, избегание улучшений поставщика база данных в яблочко для проблем с производительностью.
4

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

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

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

  • 0
    SQL Server 2008 добавил MERGE.
  • 0
    Некоторые люди вынуждены использовать Microsoft SQL Server из-за ограничений совместимости и головной боли при внедрении Oracle или MySQL в их нынешних системах.
3

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

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

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

  • 0
    Я вроде пропустил это. Спасибо :)
3

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

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

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

1

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню