Dlaczego miałbyś używać bazy danych Oracle? [Zamknięte]

97

Jestem ciekawy z przyczyn technicznych, dlaczego wybierasz bazę danych Oracle w porównaniu z najnowszymi wersjami:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

Jakie funkcje lub funkcje uzasadniają dodatkowy koszt. Interesują mnie argumenty techniczne, a nie wojna religijna. Znajomy zapytał mnie o to i zawsze korzystałem z jednego z 3, które wymieniłem. Nie wiedziałem wystarczająco dużo o bazach danych Oracle, aby wyrazić opinię.

Dzięki.

BuddyJoe
źródło

Odpowiedzi:

49

Wydaje się, że nikt nie mówi o koszcie czasu pracy programistów z Oracle. Większość programistów, którzy znają inne bazy danych, nienawidzi Oracle, tych, którzy nie zakładają, że cały kod DB i / lub narzędzia ORM są trudne w użyciu.

Gdybym założył biznes, który moim zdaniem będzie skalował się do rozmiarów Amazona, mógłbym rozważyć rozwiązania NoSQL, w przeciwnym razie za każdym razem wybrałbym PostgreSQL, SQL Server (a nawet teraz Sybase) zamiast Oracle. Mówię, że pracowałem (jako programista) z Oracle przez 2 lata - ciężko się z nim pracuje!

user1016765
źródło
3
nie zgadzam się! Oracle jest zdecydowanie jedną z najlepszych implementacji RDBMS. Zarządza pamięcią bardzo wydajnie i może obsługiwać złożone operacje JOIN, które łatwo psują MySQL i MsSQL. Oracle ma świetną architekturę, dzięki czemu jest solidna, ponieważ bardzo łatwo jest bardzo dobrze organizować dane różnych aplikacji. Myślę, że najlepszym plusem dla mnie jest silnik SQL, który posiada Oracle, jest bardzo zaawansowany, dzięki czemu jest jedyną bazą danych obsługującą hurtownię danych! Uruchamianie złożonych zapytań w Oracle jest po prostu łatwe, a inne funkcje, takie jak widoki zmaterializowane, PL / SQL itp. Sprawiają, że Oracle ma stosunek wartości do ceny.
Muzaaya Joshua
8
Ja też się zgadzam - pracując przez ostatnie kilka lat zarówno z Oracle 11gR2, jak i SQL Server 2008 R2, to absurdalne, ile razy spotykałem się z zepsutym modelem bezpieczeństwa Oracle, nieintuicyjnymi narzędziami do dostrajania wydajności i drobiazgowym optymalizatorem. Wszelkie oszczędności uzyskane dzięki rezygnacji z licencji MS Win Server zostaną natychmiast pochłonięte przez utratę produktywności.
engil
4
Jako główny użytkownik SQL Server i opracowałem bazę danych przy użyciu Oracle: Oracle jest problemem a * se. Jak wspomniał @Jasmine, jest to tak ograniczone do tego, co możesz zrobić. Szczególnie nienawidzę sposobu działania zmiennych i faktu, że musisz tworzyć wyzwalacze i sekwencje dla automatycznie zwiększających się identyfikatorów. SQL Server to definicja tego, jak powinna działać baza danych. Heck, nawet MySQL jest lepszy niż Oracle. Oczywiście obie bazy danych mają swoje ograniczenia, ale nic w porównaniu z tym, co ma Oracle.
RoyalSwish
4
Ponadto PLSQL jest niezgrabny i denerwujący.
RoyalSwish
1
Oracle ma ograniczone wsparcie w zakresie shardingu, ograniczone wsparcie skalowania, ograniczone funkcje administracyjne, ograniczoną pomoc w zakresie wsparcia, nieco ograniczoną obsługę klastrów (brak przesyłania dzienników master-master) i wielu dostawców. Obecnie próbują nadrobić zaległości, ale nigdy nie widziałem tylu błędów. Pracowałem z wieloma wydaniami alfa, wydaniami beta i systemami uznanymi za nieodpowiednie i niestabilne. Wciąż nigdy nie widziałem tylu wyraźnych błędów, które powinny być oczywiste przed wydaniem, a czasem nawet przed kompilacją.
jbo5112
33

Tylko Oracle i Microsoft SQLServer są zamkniętymi źródłami, a kiedy coś pójdzie nie tak i masz problem, odpowiedzią jest tylko telefon (i gotówka, jeśli oczywiście). W każdym razie MySQL i PostGre oferują kilka usług konsultingowych dla przedsiębiorstw, ale ostatecznie konsultanci ci nie są tak naprawdę odpowiedzialni za produkt, ponieważ produkt należy do wszystkich. Co jest świetne, ponieważ możesz wejść i naprawić kod, jeśli jesteś dobry z C i stosunkowo niskopoziomowym programowaniem, ale jeśli nie znajdziesz rozwiązania, może to stać się dziką gonią.

Ponieważ nie każdy jest wystarczająco wykwalifikowany, a te przedsiębiorstwa z pieniędzmi preferują bezpieczeństwo (w sensie biznesowym) zamkniętych baz danych, jest to powód, dla którego te rozwiązania nie wyszły z biznesu, poza tym, że ich wdrożenia są solidne i warte swojej ceny, jeśli je masz.

Ok, w końcu najważniejsza różnica jest między SQLServer a Oracle i ta różnica polega na systemie operacyjnym, większość ludzi używających Windows będzie się trzymać, zgadłeś, SQLServer, ale jeśli korzystasz z odmian Unix, Oracle jest rozwiązaniem zamkniętym. W każdym razie używam Oracle w Solarisie, ale gdyby naszym celem był Windows, prawdopodobnie użyłbym SQLServer, ponieważ oba produkty są solidne, ale ufam, że Microsoft ma pod maską kilka specjalnych sztuczek, aby uzyskać najlepszą wydajność w systemie Windows.

Robert Gould
źródło
6
+1. Dobra odpowiedź. Zawsze pracowałem zgodnie z mottem „Lubię to, co najlepsze, ale darmowe jest bardzo fajne”. Zawsze staram się zachować równowagę przy wyborze rozwiązania. Na co dzień używam SQL Server. Teraz na moim własnym MySQL.
BuddyJoe,
3

Prawdziwe pytanie brzmi, jaki rodzaj aplikacji będzie używany do korzystania z RDMS. Z pewnością nie potrzebujesz wyroczni do swojego bloga lub klonu na Twitterze. Ale jeśli chcesz przeprowadzić zaawansowane analizy biznesowe, Oracle może mieć pewne funkcje, które mogą pomóc robić to wydajniej niż inne.

Serwer MS sql jest również bardzo dobry, ma mnóstwo funkcji. Jeśli uderzyło Cię w Linuksa i potrzebujesz bazy danych z funkcjami oferowanymi przez ms sql, wtedy oracle będzie dobrym wyborem.

TomHastjarjanto
źródło
3

Żeby wymienić tylko kilka:

  • Oracle Real Application Cluster - zapewnia zaawansowane funkcje klastrowania
  • Oracle Data Guard - w skrócie zapewnia fizyczne i logiczne funkcje gotowości.
  • Oracle Exadata - implementuje pamięć masową obsługującą bazę danych (która może wykonywać filtrowanie predykatów, filtrowanie projekcji kolumn, przetwarzanie złączeń, przyspiesza tworzenie przestrzeni tabel). Rozwiązanie jest dostarczane z serwerami HP, pełną gwarancją 24/7 i innymi ciekawymi rzeczami. Jest to całkiem przyjemne dla aplikacji z bardzo intensywnym ładowaniem danych (na przykład dzięki niezależnemu tworzeniu przestrzeni tabel).
  • Wirtualizacja Oracle

No i oczywiście magia marki;)

A jeśli chodzi o wybór RDBMS? Zazwyczaj wybór jest dość oczywisty - Oracle lub reszta świata. Następnie możesz zawęzić wybór przez:

  • platforma (tylko Windows lub nie)
  • waga (sqlite, MySQL, PostgreSQL, ...)
  • budżet (początkowy koszt licencji, koszty utrzymania + koszty wsparcia)
  • perspektywy ewolucji, na przykład:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • perspektywy biznesowe - „bezpieczny, dobrze znany produkt” lub produkt o otwartym kodzie źródłowym (pamiętaj o cytacie wokół pierwszej frazy). Inne posty mają tendencję do głębszego spojrzenia na ten aspekt.
Anonimowy
źródło
14
Byłoby miło, gdybyś mógł dodać trochę o tym, co robią te funkcje ... dla tych z nas, którzy nie wiedzą, to po prostu brzmi jak modne bingo. ;)
Nik Reiman
6
Nie tylko to, ale wiele z tych rzeczy nie jest niezbędnych dla małych i średnich firm, a na pewno nie uzasadnia (dla nich) bardzo dużych kosztów.
Dave Markle
1
Płacisz za to, z czego korzystasz ... Podane przeze mnie przykłady są interesujące dla dość dużych organizacji. I jak powiedziałem, pierwszym wyborem jest zwykle podjęcie decyzji, czy wybrać Oracle, czy coś innego.
Anonimowy
Oracle RAC nie jest zaawansowanym klastrowaniem (i nie było go w 2009 roku), jest klastrowaniem pod klucz. Ponieważ wymaga udostępnionego magazynu, nie będzie skalować operacji we / wy. W 2009 r. Nie skaluje się do poziomu chmury, aw ostatniej dekadzie sytuacja firmy Oracle tylko się pogorszyła.
jbo5112
3

Myślę, że dzieje się tak dlatego, że Oracle był pierwszym systemem RDMS obsługującym „ sharding

iChaib
źródło
2
-1 Co to w ogóle oznacza? * Wymagany cytat. * Istnieje wiele metod implementacji fragmentacji, w tym między innymi implementowanie fragmentacji w warstwie aplikacji.
Jeeyoung Kim
Oracle nie miał natywnego fragmentowania do 12.2 (2016/2017). IIRC, MySQL pokonał je o ponad dekadę (różne silniki pamięci masowej).
jbo5112
1

Wiesz, koszty SQL Server i Oracle nie różnią się tak bardzo.

W rzeczywistości dla małych systemów koszt Oracle w porównaniu z twoją ulubioną bezpłatną bazą danych wynosi od zera (Oracle Express Edition) do niezbyt dużego (5800 USD za wieczyste procesory dla Standard Edition One).

Oto łącze do możliwości różnych wersji w 11g: http://www.oracle.com/database/product_editions.html .

Ceny katalogowe są dostępne dla wszystkich terytoriów na http://store.oracle.com - zazwyczaj duże firmy oczywiście nie płacą detalicznie;)

David Aldridge
źródło
2
koszty Postgres / MySQL i Oracle są jednak ... (nie to, żebym
popierał
+1 David, czy możesz rozszerzyć swoją odpowiedź, aby uwzględnić niektóre ograniczenia Express Edition?
BuddyJoe,
@ annakata - XE jest bezpłatne. SE1 jest bardzo tani.
David Aldridge,
2
Podstawowe ograniczenia af Express (XE) to 4 GB danych, 1 GB pamięci RAM, 1 procesor.
Gary Myers,
4
Nie oznacza to znacznie wyższych kosztów utrzymania instalacji Oracle DB w porównaniu z MSSQL lub innymi konkurentami.
Monty Wild