2009-12-16 3 views
73

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

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

+4

Вопрос формулируется как-то не позволяет MySQL взимать плату за его использование. Нет ничего, что позволяло бы MS и Oracle взимать плату, они просто делают это. И MySQL просто _different_ - с открытым исходным кодом. Если бы я хотел, я мог бы написать несколько полупечных сценарий восстановления-восстановления за полчаса и взимать плату за него. Мне не нужно ничего, чтобы позволить мне это сделать. –

+10

Хорошо, но перефразировать его вопрос; почему умный человек может заплатить за РСУБД X, когда они могут бесплатно выбрать RDBMS Y? – Karl

+2

Я не думаю, что этот вопрос является точным. MySQL не является бесплатным для использования в бизнесе (согласно ответам здесь), в то время как MS SQL Server имеет версию, которая есть. Предложение MS не является ограничительным и позволяет использовать базу данных 10 ГБ с большинством функций. Вопрос можно отменить, зачем платить за MySQL, когда SQL Server является бесплатным и имеет больше возможностей. Возможно, это моя установка, но я нахожу MySQL багги и медленными. – MikeKulls

ответ

35

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

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

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

+0

+1, хорошее резюме возможностей Oracle. – DCookie

+0

Хорошая информация об объектах Oracle – hminaya

4

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

Ну, конечно, незначительные различия в двигателе базы данных, как MERGE заявление, BULK INSERT, группируя НАБОРЫ т.д.

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

+0

SQL Server 2008 добавил MERGE. – DOK

+0

Некоторые люди вынуждены идти с Microsoft SQL Server из-за ограничений совместимости и головной боли при реализации Oracle или MySQL в своих текущих системах. – JsonStatham

22

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

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

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

1

Некоторые функции Oracle я действительно люблю являются

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

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

9

Некоторые другие вещи, которые имеют оракул более mysql.

  • Очередь
  • внутреннего планирования работы
  • зрелых хранимые процедуры язык
  • patitioned столы
  • мелкие
  • мощные функции восстановления мелкозернистого контроля доступа и аудит (например, молниеносный RMAN, DataGuard)
  • удаленные ссылки на базы данных
  • application express
+5

MySql поддерживает секционированные таблицы (явно) с 5.1. http://dev.mysql.com/doc/refman/5.1/ru/partitioning-overview.html – Sharique

5

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

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

4

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

+2

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

5

Oracle table clusters и single table hash clusters (которых вы также не найдете в SQL Server).

+1

Ах, одиночные кластеры хэшей таблицы - один легкий согласованный текст, чтобы найти свою строку. Очень классный материал ... Я видел 10 000 отдельных поисков строк в секунду на очень скромном оборудовании. –

3

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

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

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

3

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

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

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

+0

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

8

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

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

+0

Такая же базовая база кода в таблице строк 1 м с 100-секундным чтением/обновлениями в секунду в одном и том же наборе строк заставит Oracle сиять и (в то время) блокировать блокировку SQL Server в забвении. Да, все изменилось, но дело в том, что, как и я, для корпорации Oracle такая же неприязнь, их продукт базы данных является первоклассным. – Xailor

+0

Изоляция SQL Snapshot SQL Server решает эту очень реальную проблему с Microsoft SQL Server - добавлено в SQL Server 2008 – NTDLS

12

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, похоже, очень хорошая база данных. IMHO –

+3

Ха, я был на самом деле одним из этих людей. Я действительно думал, что MySQL свободен, абсолютно свободен, несмотря ни на что. Просто быстрый вопрос: есть ли у вас статистика/ссылка, где я могу увидеть «лучший оптимизатор запросов и лучшую производительность в среде с интенсивным потреблением». –

+33

Неверно. Версия сообщества MySQL лицензируется в соответствии с лицензией GNU GPL v2, что означает, что вы можете бесплатно использовать ПО для любых целей. (Если вы хотите ИЗМЕНИТЬ И РАСПРОСТРАНЯТЬ программное обеспечение, то модифицированный продукт должен предлагаться под той же лицензией с открытым исходным кодом GPL v2, но его простое ИСПОЛЬЗОВАНИЕ и даже МОДИФИКАЦИЯ (если вы не перераспределяете модифицированный продукт) является бесплатным для любых целей без каких-либо условий.) – Luca

Смежные вопросы