Чому ви використовуєте базу даних Oracle? [зачинено]


97

Мені цікаво з технічних причин, чому ви вибираєте базу даних Oracle у порівнянні з найновішими варіантами:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

Які функції чи функціональність виправдовують додаткові витрати. Мене цікавлять технічні аргументи, а не релігійна війна. Друг запитав мене про це, і я завжди користувався одним із 3, які я перерахував. Я недостатньо знав про бази даних Oracle, щоб запропонувати свою думку.

Дякую.

Відповіді:


48

Здається, ніхто не говорить про витрати часу розробників на роботу з Oracle. Більшість розробників, які знають будь-які інші бази даних, ненавидять Oracle, а ті, хто не припускає, що всі коди БД та / або інструменти ORM важкі у використанні.

Якби я розпочав бізнес, який, на мою думку, збирався масштабувати до пропорцій Amazon, я міг би розглянути рішення NoSQL, інакше я б кожного разу вибирав PostgreSQL, SQL Server (чи навіть Sybase зараз) замість Oracle. Я кажу це, працюючи (як розробник) з Oracle протягом 2 років - це страшно працювати!


3
я не погоджуюсь! Oracle, безумовно, є однією з найкращих реалізацій СУБД. Він дуже ефективно управляє пам'яттю і може обробляти складні операції JOIN, які легко скалічують MySQL та MsSQL. Oracle має чудову архітектуру, це робить її міцною, оскільки дуже легко впорядковувати різні дані додатків дуже добре. Я думаю, що найкращим плюсом для мене є SQL Engine, яким володіє Oracle, він дуже вдосконалений, що робить його єдиною базою даних, яка управляє сховищем даних! Запустити складні запити в Oracle просто - інші функції, такі як Materialized Views, PL / SQL тощо, роблять Oracle співвідношенням ціна / якість.
Музаая Джошуа

7
Я також погоджуюсь - працюючи як з Oracle 11gR2, так і з SQL Server 2008 R2 протягом останніх кількох років, абсолютно смішно, скільки разів я стикався з непрацездатною моделлю безпеки Oracle, неінтуїтивними інструментами налаштування продуктивності та витонченим оптимізатором. Яку б економію ви не отримали, відмовившись від ліцензії на MS Win Server, негайно з’їсте втрачена продуктивність.
engil

3
Як основний користувач SQL Server і розробив базу даних за допомогою Oracle: Oracle - це проблема в самому собі. Як і @Jasmine, згаданий, він настільки обмежений тим, що ви можете зробити. Я особливо ненавиджу, як працюють змінні, і той факт, що ви повинні створювати тригери та послідовності для автоматичного збільшення ідентифікаторів. SQL Server - це визначення того, як повинна працювати база даних. Чорт, навіть MySQL кращий за Oracle. Звичайно, обидві бази даних мають свої обмеження, але нічого в порівнянні з тим, що має Oracle.
RoyalSwish

4
Крім того, PLSQL незграбний і дратує.
RoyalSwish

1
Oracle має обмежену підтримку шардингу, обмежену підтримку масштабування, обмежені можливості адміністрування, обмежену допомогу в підтримці, дещо обмежену підтримку кластеризації (відсутність доставки журналу майстер-майстер) та безліч блокувань постачальників. В даний час вони намагаються наздогнати, але я ніколи не бачив стільки помилок. Я працював із низкою альфа-версій, бета-версій та систем, визнаних непридатними та нестабільними. Я ще ніколи не бачив стільки явних помилок, які мали б бути очевидними до випуску або іноді навіть до компіляції.
jbo5112

32

Тільки Oracle та SQLServer Microsoft є закритими джерелами, і коли щось піде не так, і у вас виникли проблеми, відповідь - це лише телефонний дзвінок (і готівка, якщо звичайно). У будь-якому випадку MySQL та PostGre мають кілька корпоративних консалтингових служб, але зрештою ці консультанти насправді не відповідають за продукт, оскільки продукт належить кожному. Що чудово, тому що ви можете зайти та виправити код, якщо добре володієте C та відносно низьким рівнем програмування, але якщо ви не знайдете рішення, це може стати дикою переслідуванням гусей.

Зараз, оскільки не всі достатньо кваліфіковані, і ті підприємства, які мають гроші, віддають перевагу безпеці (у діловому сенсі) баз даних із закритим кодом, тому причина, що ці рішення не вийшли з ладу, крім того, що їх реалізація є надійною і коштує грошей, якщо у вас є.

Гаразд, нарешті, найголовніша різниця між SQLServer та Oracle, і ця різниця полягає в ОС, більшість людей, які використовують Windows, дотримуватимуться, як ви вже здогадалися, SQLServer, але якщо ви працюєте на смаках Unix, Oracle - це ваше закрите вихідне рішення. У будь-якому випадку я використовую Oracle на Solaris, але якби нашою ціллю була Windows, я б, напевно, використовував SQLServer, оскільки обидва продукти міцні, але я вірю, що у Microsoft є кілька особливих хитрощів, щоб отримати найкращу продуктивність у Windows.


6
+1. Хороша відповідь. Я завжди працював з девізом "Мені подобається найкраща порода, але вільне - це дуже круто". Завжди намагаюся знайти баланс, вибираючи рішення. Для своєї повсякденної роботи я використовую SQL Server. На моїх власних речах MySQL прямо зараз.
BuddyJoe

3

Справжнє питання полягає в тому, який тип програми буде використовуватися для використання СУБД. Вам, звичайно, не потрібен оракул для вашого блогу WordPress або клонування Twitter. Але якщо ви хочете зробити важкий бізнес-аналіз, то Oracle може мати деякі функції, які можуть допомогти зробити це ефективніше, ніж інші.

Сервер MS sql також дуже хороший, він має безліч функцій. Якщо вас вразив Linux і вам потрібна база даних із функціями, запропонованими ms sql, тоді хорошим вибором буде oracle.


3

Просто назвемо декілька:

  • Кластер додатків Oracle Real - надає розширені функції кластеризації
  • Oracle Data Guard - коротше, надає фізичні та логічні функції в режимі очікування.
  • Oracle Exadata - реалізує сховище даних (базу даних) (яке може виконувати фільтрацію предикатів, фільтрацію проекції стовпців, обробку об’єднань, пришвидшує створення табличної області). Рішення поставляється з серверами HP, повною цілодобовою гарантією та іншими приємними речами. Це дуже приємно для додатків з дуже інтенсивним завантаженням даних (наприклад, завдяки незалежному створенню табличної області).
  • Oracle Virtualization

І звичайно магія бренду;)

А коли справа доходить до вибору СУБД? Зазвичай вибір досить очевидний - Oracle або решта світу. Після цього ви можете звузити вибір:

  • платформа (лише для Windows чи ні)
  • вага (sqlite, MySQL, PostgreSQL, ...)
  • бюджет (початкова вартість ліцензії, обслуговування + вартість підтримки)
  • перспективи еволюції, наприклад:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • перспективи бізнесу - "безпечний, добре відомий товар" або продукт з відкритим кодом (майте на увазі цитату навколо першої фрази). Інші публікації, як правило, глибше заглиблюються в цей аспект.

14
Було б непогано, якби ви могли додати трохи про те, що роблять ці функції ... для тих з нас, хто не знає, це просто звучить як модне слово. ;)
Нік Рейман

6
Мало того, але багато цього не потрібно для малого та середнього бізнесу, і, звичайно, не виправдовує (для них) дуже великих витрат.
Dave Markle

1
Ви платите за те, що використовуєте ... Наведені мною приклади цікаві для досить великих організацій. І як я вже говорив, перший вибір - це, як правило, вирішення, чи йти з Oracle, чи чимсь іншим.
Анонім

Oracle RAC - це не розширена кластеризація (і не була у 2009 році), це кластеризація під ключ. Оскільки для цього потрібне спільне сховище, він не буде масштабувати IO. У 2009 році він не зміг би масштабуватись до рівня хмарності, а за останнє десятиліття для Oracle справа погіршилася.
jbo5112

3

Думаю, це тому, що Oracle була першою СУБД, яка підтримувала " шардінг "


2
-1 Що це взагалі означає? * Потрібне цитування. * Існує кілька методів реалізації шардінгу, включаючи, але не обмежуючись, реалізацію шардінгу на рівні програми.
Jeeyoung Kim

Oracle не мав власного шардінгу до 12.2 (2016/2017). IIRC, MySQL перевершили їх більше ніж на десятиліття (різні механізми зберігання).
jbo5112

1

Ви знаєте, витрати на SQL Server та Oracle не такі вже й різні.

Насправді для невеликих систем вартість Oracle проти Вашої улюбленої безкоштовної бази даних становить від нуля (Oracle Express Edition) до не дуже великої (5800 доларів США безперервно для Standard Edition One).

Ось посилання на можливості різних видань у 11g: http://www.oracle.com/database/product_editions.html .

Прайс-листи доступні для всіх територій на веб-сайті http://store.oracle.com - звичайно великі компанії, звичайно, не платять у роздріб;)


2
Витрати на Postgres / MySQL та Oracle є, однак ... (не те, що я відстоюю жодного з них)
annakata

+1 Девід, ти можеш розширити свою відповідь, можливо, включивши деякі обмеження Express Edition?
BuddyJoe

@ annakata - XE безкоштовний. SE1 дуже дешевий.
Девід Олдрідж,

2
Основними обмеженнями Express (XE) є 4 ГБ даних, 1 ГБ оперативної пам'яті, 1 процесор.
Gary Myers

4
Це не пояснює набагато вищих витрат на підтримку інсталяції Oracle DB на відміну від MSSQL або інших конкурентів.
Монті Уайлд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.