sql >> Database teknologi >  >> RDS >> PostgreSQL

Oracle til PostgreSQL:Grunde til at migrere

PostgreSQL har en del overbevisende fordele, hvoraf nogle ikke findes i noget andet databasestyringssystem. Denne artikel vil skitsere dem, der er mest interessante for Oracle-udvikleren, der søger at foretage en migrering eller undersøge alternativer til ny udvikling.

For at forhindre denne artikel i at blive endnu en liste over PostgreSQL-funktioner, vil den holde sig til de funktioner, der adskiller den fra Oracle specifikt, og de fordele, som disse forskelle skaber.

Federation vs. Foreign Data Wrappers

Oracle har en funktion kaldet Federation, der gør det muligt at behandle tabeller fra andre databaser som lokale data. PostgreSQL sparker dette op til en 11 med udenlandske dataindpakninger. Det er fantastisk overlegent i forhold til forbundssystemet, kan kobles til alt, der fjernt minder om data, og koster ingenting i gebyrer. Dette gør PostgreSQL til en fantastisk ETL-platform, selvom alt du bruger det til er dataindtagelsen.

plSQL vs. alt andet

Oracle har et indbygget programmeringssprog kaldet plSQL. PostgreSQL har et sted omkring 80 eller deromkring. Virkelig. Udvidelsessystemet til PostgreSQL bruges til at skabe proceduresprog som plug-ins, og der er bindinger for stort set ethvert sprog, du kan tænke på. Og hvis der ikke er det, kan du altid følge med Mark Wong for, hvordan du laver en indpakning til din personlige favorit.

Applikationsprogrammering

Oracle leverer en applikations-API til at kommunikere med databasen. PostgreSQL giver også en API til bekvemmelighed og pålidelige sprog. Produktet er dog open source, så der er ingen andenrangs udviklingsborgere. Du kan få adgang til alt, hvad PostgreSQL har at tilbyde, ved at inkludere header-filen i dit projekt. Gør hvad du vil med det.

Internationalisering og lokalisering

Oracle leverer et globaliseringsværktøj. PostgreSQL er bygget fra bunden til at stole fuldstændigt på velkendte og bredt kompatible systemtjenester til lokalisering. Det kan bruge enhver tegnkodning, sortering og tegntabel, som operativsystemet leverer.

Webudvikling

Oracle anerkender eksistensen af ​​HTML gennem HTML DB. PostgreSQL understøtter naturligt JSON, XML og plugs i Javascript som en backend kodesprog, som du kan bruge på samme tid som Java eller et hvilket som helst andet frontendsprog efter eget valg.

Godkendelse

Oracle har et indbygget autentificeringssystem (et nik her til Proxy Auth, som er lidt mere fleksibelt). PostgreSQL er afhængig af Host Based Authentication- og SASL-protokollerne til at tilslutte ethvert autentificeringssystem, som værten kan understøtte, og nogle få, der tilsluttes direkte til PostgreSQL. Dette giver en enorm vifte af muligheder for godkendelse sammen med potentialet til at overføre godkendelsesprocessen til andre maskiner.

Udvidelsesmuligheder

Oracle har et plug-in-system med for det meste proprietære plug-ins. PostgreSQL har et udvidelsessystem, der understøttes af det generelle fællesskab, med tusindvis af tilgængelige plug-ins.

Læs skalerbarhed

Oracle har ret god lodret læseskalerbarhed. PostgreSQL kan oprette en praktisk talt ubegrænset læseklynge. Antallet af noder er kun begrænset af mængden af ​​ressourcer, du gerne vil kaste på det.

Omkostninger

Det er svært at slå "fri", og Oracle prøver ikke engang hårdt. Lad os se det i øjnene, Oracle er bare latterligt dyrt, og de har ikke noget imod at debitere dig igen for hvert enkelt tilfælde.

Dette er heller ikke en lineær sammenligning. En af de største fordele ved PostgreSQL er, at du kan have alle de forekomster, du ønsker, uden ekstra omkostninger. (Jeg gætter på, at det er en ekstra omkostning på +$0,00, eller gange med $0,00, du bestemmer).

Det er ikke rimeligt (over for PostgreSQL) at sammenligne prisen på en enkelt forekomst af Oracle med en enkelt forekomst af PostgreSQL. Når du først har smagt friheden ved gratis, vil det være svært at vende tilbage til at sætte alt i en enkelt instans bare for at reducere omkostningerne.

Hvor meget skal en midlertidig database koste, der transformerer data på vej til lageret? Jeg tror, ​​at gratis er nok. Hvad med en forbigående database til rapportering? Det tager jeg også fri for. Hvad med en, der er dataindtagelsespunktet for ETL? Gratis er godt. Jeg kan godt lide gratis. Det er meget, øh...befriende.

Ydeevne

Nej, vent! Hør mig om denne. Jeg har allerede nævnt, at PostgreSQL kan oprette et ubegrænset antal noder i en læseklynge. Det kan fortynde omkostningerne ved en bestemt læseoperation til næsten nul. Men der er også en anden måde, hvorpå PostgreSQL er mere effektiv end Oracle.

Fordi PostgreSQL ikke koster noget pr. node, kan du indstille det forskelligt for hver arbejdsbelastning. Selvfølgelig kan du også gøre dette med Oracle, men du betaler pr. node for muligheden for at indstille det på denne måde. Så hvis du ønsker at differentiere tuning-parametrene for dit lager fra OLTP til rapportering til datasøen, gør PostgreSQL dette ret nemt og stadig nemt for pengepungen.

Selvfølgelig er der mange flere overbevisende funktioner i PostgreSQL, men jeg skrev allerede den artikel for et par måneder siden. Fortæl mig i kommentarerne, hvis du har migreret til PostgreSQL af en anden grund.


  1. MySQL Aggregate-funktioner uden GROUP BY-klausul

  2. PostgreSQL:Deaktiver midlertidigt forbindelser

  3. Konverter fra Oracles RAW(16) til .NET's GUID

  4. Har rækkefølgen af ​​kolonner i en WHERE-sætning betydning?