Hoe vergelijken de relationele databases van AWS

Een relationele database was lange tijd een vrij standaardoplossing voor verschillende (en bijna alle) software use cases die grote of kleine bedrijven moesten oplossen.

Tegenwoordig is de variabiliteit veel groter met de bredere beschikbaarheid van NoSQL-, in-memory- of data lake-databases. Maar ondanks dat, wanneer de beslissing wordt genomen om huidige on-premise databases naar de cloud te migreren, is de relationele database als doel nog steeds de meest voor de hand liggende optie voor deze overgang.

We gaan dieper in op de volgende databases die deel kunnen uitmaken van een dergelijk initiatief:

  • Orakel
  • Aurora
  • Microsoft SQL Server
  • MySQL en PostgreSQL
  • MariaDB

Ik zal duidelijk zijn over hoe ze verschillen van de rest en wat hen onderscheidt, inclusief hun nadelen. Vervolgens zal ik ze in context brengen door te demonstreren aan de hand van een typisch gebruiksvoorbeeld uit de praktijk. Ten slotte zal ik mijn mening geven over het kiezen tussen de verschillende databases voor uw zaak.

AWS Oracle DB

Bron: aws.amazon.com

De Oracle DB was ongetwijfeld de meest gebruikte commerciële database van de afgelopen decennia. Wanneer een bedrijf een robuuste en goed presterende database-oplossing nodig had, was Oracle DB de eerste keuze. En om vele goede redenen.

Hoe het verschilt

Oracle is een robuust en functioneel platform dat een enorm aantal zelfs totaal verschillende instellingen en vereisten kan bedienen. Na verloop van tijd werd deze DB de ultieme go-to-oplossing voor het geval u ultramoderne betrouwbaarheid, schaalbaarheid en onderhoudbaarheid nodig hebt op de on-premise hardware-infrastructuur.

Belangrijkste voordelen

Hier zijn enkele van de belangrijkste voordelen die u krijgt bij het kiezen van zo’n volwassen databasesysteem als Oracle:

✅ Geweldige ondersteuning en opties voor effectieve back-up- en herstelactiviteiten.

✅ Breed scala aan mogelijkheden voor het afstemmen van de prestaties van de DB-oplossing binnen het systeem. Zelfs lang daarna is de oplossing al in productie. Ondersteunings- en onderhoudsactiviteiten binnen dit platform zijn heel eenvoudig op te zetten en ze zijn zeer effectief.

✅ Hoge mate van maatwerk van de DB-oplossing. Aangezien Oracle DB een uitgebreide hoeveelheid functionaliteiten ondersteunt om uit te kiezen, heeft u als systeemintegrator genoeg mogelijkheden om een ​​robuust systeem te bouwen dat bestaat uit precies die functionaliteiten die uw platform nodig heeft (denk aan triggers, partities, subpartities, geautomatiseerde primaire-sleutelsequenties, views , snapshots, gegevensbeperkingen, unieke sleutels, gecombineerde sleutels, externe sleutels, samengestelde indexen, enz.). Het ondersteunt alles.

✅ Eenvoudig beheer van database-activiteiten en -processen. Toegewijde beheerconsoles en -dashboards, en veel tools die door Oracle zijn gemaakt en uitsluitend zijn bedoeld voor beheerders om kant-en-klaar te gebruiken.

✅ Ondersteuning van omgevingen met meerdere gebruikers. Als het de vereiste is om duizenden afzonderlijke actieve gebruikers tegelijkertijd te ondersteunen, is Oracle het antwoord.

Belangrijkste nadelen

Oracle DB is zeer flexibel wat betreft verticale schaling van de performance. Maar minder wanneer u sterke horizontale schaalvergroting nodig heeft. Dat betekent dat het eenvoudig is om te upgraden naar een sterkere CPU, meer geheugen en opslagruimte op een cluster-DB.

Maar als uw gegevens in korte tijd aanzienlijk groeien – wat het gebruikelijke geval is met gegevens in de cloud – worden de knelpunten in de prestaties zichtbaarder en moeilijker op te lossen. Het verspreiden van de gegevens over meerdere clusters en verwachten dat ze dynamisch groeien, zal in de toekomst een belangrijke vereiste worden. In dit geval zou u kunnen merken dat Oracle DB meer beperkend begint te worden dan het vervullen van uw toekomstige behoeften.

Een ander mogelijk nadeel zijn de kosten. Oracle DB ondersteunt veel functies, maar aan veel daarvan zijn ook kosten verbonden. Zeker als er meerdere clusters aanwezig zijn en fysieke prestatie-upgrades nodig zijn. Dat betekent dat softwarematige afstemming van het datamodel niet meer voldoende is. Om meer beheertools en -functies beschikbaar te hebben, moet u een bedrijfslicentie aanschaffen. Dit zal de toch al hoge kosten nog verder opdrijven.

  4 ongezonde processen die je sprint kunnen verpesten

Ten slotte is Oracle DB geen native AWS DB-service, wat betekent dat u geen volledige ondersteuning van AWS zult verwachten. Oriënteer liever op ondersteuning van Oracle. Maar behandel vervolgens de pijnpunten van Oracle en AWS parallel en met twee verschillende sets ondersteuningsteams.

Wanneer kiezen

Het kiezen van de cloud-tegenhanger van de Oracle DB is de meest natuurlijke beslissing wanneer uw huidige on-premise oplossing al gebruikmaakt van Oracle DB. Het zal ook de migratie en overstap naar de cloudgebaseerde oplossing zo eenvoudig mogelijk maken.

Kies daarom voor de AWS Oracle DB in het geval:

  • Je verwacht dat de cloud DB binnen afzienbare tijd dezelfde processen en functionaliteiten ondersteunt als de on-premise variant.
  • U bent niet van plan om de database heel snel te integreren met te veel native AWS-services.
  • Je verwacht niet dat het huidige datavolume in korte tijd fors zal groeien.
  • U heeft de ondersteuning nodig van een enorme hoeveelheid functionaliteiten. Dat wil zeggen, het zou moeilijk zijn om een ​​aantal van hen die momenteel aanwezig zijn kwijt te raken bij het overstappen naar de cloud.
  • Uw systeem moet honderden actieve gebruikers tegelijkertijd (of meer) ondersteunen.

Voorbeeld van gebruik

  • Grote telecommunicatiesystemen voor facturering, CRM en middlewaregegevens.
  • Aangepaste DB-implementaties voor databasesystemen voor auto’s, geïntegreerd met verschillende tools op maat of van derden.
  • Systeemoplossingen voor de banksector, waarbij Oracle al een vast onderdeel is van de pakketoplossing van de leveranciers en uiteindelijk extra aangepaste DB-componenten integreert in één complexe implementatie.

AWS Aurora DB

Bron: aws.amazon.com

In veel opzichten is Aurora het tegenovergestelde van Oracle, ook al is het nog steeds een relationele database.

Hoe het verschilt

Autora DB is een native databaseservice in AWS. AWS geeft het volledige ondersteuning en voortdurende ontwikkeling en integreert het diep met de rest van het AWS-service-ecosysteem.

Aurora DB bereikt niet dat niveau van functionaliteitsdiversificatie zoals Oracle al heeft. Maar het is geboren in de cloud (in tegenstelling tot Oracle). Aangezien AWS Aurora verder ontwikkelt, zou de functionaliteitskloof in de toekomst uiteindelijk kleiner kunnen zijn dan nu het geval is.

In veel opzichten loopt Aurora al voor op Oracle, vooral wat betreft de integratie met andere AWS-cloudservices. En aangezien Amazon Aurora heeft gemaakt met een cloud-ecosysteem in gedachten, is Aurora klaar voor enorme data-inkomsten en toename in de loop van de tijd, dus horizontaal schalen is een sterke eigenschap.

Belangrijkste voordelen

Ik zou zeggen dat de belangrijkste voordelen van Aurora DB zijn:

✅ Zeer flexibele uitbreidbaarheid van alleen-lezen DB-exemplaren. Die u in slechts enkele seconden kunt maken. Alleen-lezen instanties delen dezelfde DB-logboeken van de hoofddatabase waaruit ze afkomstig zijn. Dat betekent dat het maken van een nieuwe alleen-lezen database niet vereist dat alle gegevens worden gesynchroniseerd; het doet het automatisch door de bestaande te delen.

✅ Klaar voor grote gegevensgroei – horizontaal schalen is een groot kenmerk van Aurora DB. Het toevoegen van nieuwe clusters en het uitbreiden van de schaalbaarheid over verschillende beschikbaarheidszones is zo eenvoudig als maar kan. Aurora is dan zeer effectief in het razendsnel selecteren van grote hoeveelheden data.

✅ U kunt kiezen of u de server- of serverloze modus van Aurora DB wilt gebruiken. Sommige functies ontbreken in de serverloze modus. Maar u krijgt veel flexibiliteit en kostenoptimalisaties bij het kiezen van de serverloze modus.

✅ Geautomatiseerde back-ups en eenvoudig terugzetten naar een bepaald tijdstip. Een ander hoogtepunt is dat Aurora DB eenvoudige dagelijkse back-ups kan maken en dat het veel eenvoudiger is om de volledige database naar een willekeurig tijdstip te herstellen. U kunt hier alle voordelen van de cloudomgeving combineren, zoals altijd beschikbare vrije ruimte, snelle interne AWS-bewerkingen en een speciale Aurora DB-functie die gericht is op snelle hersteltijden en korte downtime.

  15 JavaScript-tabelbibliotheken om te gebruiken voor eenvoudige gegevenspresentatie epcdream.nl

✅ Ondersteuning voor MySQL- of PostgreSQL DB-engine, zodat u kunt kiezen wat bij u past.

Belangrijkste nadelen

  • Hoewel Aurora aantoonbaar de meest feature-rijke native relationele database is die u kunt kiezen in AWS, loopt het in dit opzicht nog steeds achter op Oracle. Het is begrijpelijk; Oracle had in het verleden veel meer tijd om die features te ontwikkelen. Feit blijft dat Aurora DB met elke release sterker en hechter is.
  • Er is geen equivalent van Aurora DB in de lokale ruimte. Je kunt stellen dat oude databases die zijn gebouwd in MySQL- of PostgreSQL-databases een goede match zijn – en vanuit een compatibiliteitsperspectief zijn ze dat zeker. Maar ze zijn niet het strikte equivalent. Dat betekent dat de migratie niet zo eenvoudig zal zijn. U moet migratieprocessen aanpassen en implementeren om ervoor te zorgen dat ze gegevens van on-premise overdragen en opslaan in Aurora DB, allemaal in het juiste gegevensmodelformaat.
  • Verschillende AWS-limieten, vooral die harde, zijn een factor die in sommige gevallen afbreuk kan doen aan het kiezen van deze DB als doel om verder te gaan. Het is zeer waarschijnlijk dat u ze allemaal kunt omzeilen, maar voor sommigen zult u een serieuzere investering in refactoring nodig hebben, wat uiteindelijk de algehele migratiekosten kan verhogen in vergelijking met een ander databasedoel.

Wanneer kiezen

Kortom, het kiezen van Aurora DB als de relationele goto-database in het AWS-platform is nooit een slechte beslissing, maar doe het toch, vooral als:

  • Je bouwt vanaf nul een cloudsysteem rond een relationele database.
  • U verwacht het hoogste niveau van compatibiliteit en integraliteit met zoveel mogelijk verschillende native AWS-services.
  • U verwacht dat uw datavolume in korte tijd aanzienlijk zal groeien.
  • U bent van plan om verschillende spin-off proofs of concept (POC)-projecten te starten waarin u alle voordelen van de serverloze versie van een relationele database kunt benutten.

Voorbeeld van gebruik

  • Een serverloos platform voor het analyseren van grote hoeveelheden infrastructuurbeeldgegevens.
  • Gebruik van machine learning-modellen om uw data lake-informatie te verwerken en zakelijke voorspellingen voor uw bedrijf te genereren.
  • Netflix gebruikt Aurora DB voor snelle parallelle query-uitvoeringen over hun catalogusgegevens.

AWS Microsoft SQL DB

Bron: aws.amazon.com

Deze database is in sommige opzichten vergelijkbaar met Oracle. Het is ook gemaakt lang voordat de cloud een ding werd, en er zijn veel huidige gebruikers op locatie die van plan zijn om naar de cloud te migreren, met behulp van de MS SQL DB als bron.

Hoe het verschilt

Ondanks die overeenkomsten is MS SQL DB nog steeds degene die in het verleden veel minder werd gebruikt in vergelijking met Oracle DB.

Tenminste te oordelen vanuit mijn persoonlijke ervaringsperspectief. Ik was de afgelopen twee decennia betrokken bij meerdere Oracle-projecten, maar slechts in een handvol gevallen waarin MS SQL DB betrokken was. En eerlijk gezegd vond ik het lang niet zo leuk om ermee om te gaan als met Oracle DB.

Hoe dan ook, ik herken nog steeds een groot deel van de bedrijven die de MS SQL DB gebruiken als de belangrijkste database die het enige punt van waarheid is voor alle gegevens.

Belangrijkste voordelen

Belangrijkste voordelen die MS SQL DB heeft:

✅ Goede integratie met andere Microsoft-services en -software, voor het geval dit een functie is die u herkent als waardevol voor uw zaak.

✅ Eenvoudig aan te passen met aangepaste code-extensies, meestal in de vorm van Javascript-codemodules. Dit kan handig zijn bij complexere bedrijfsprocessen en taken die via de database moeten worden gepland.

✅ Vrij eenvoudig vanuit administratief perspectief (althans in vergelijking met Oracle DB).

✅ Het is waarschijnlijk veel logischer in het Azure-cloudecosysteem, omdat het daar wordt beschouwd als een native relationeel databasesysteem, veel meer compatibel met andere cloudservices daar.

Belangrijkste nadelen

  • Net als bij Oracle DB, moet alle ondersteuning en probleemoplossing worden aangestuurd via afzonderlijke speciale MS SQL-ondersteuningsteams als een niet-native database in de ruimte van de AWS-cloud.
  • Minder diversificatie van functionaliteitsondersteuning in het algemeen bij vergelijking met Oracle DB of Aurora DB.
  • Niet geschikt voor een groot aantal actieve gebruikers.
  • Horizontale schaalbaarheid is een nog groter probleem dan bij Oracle DB.
  Reparaties voor beginners en experts inbegrepen

Wanneer kiezen

MS SQL DB is het meest geschikt als u de bestaande MS SQL DB on-premise naar de cloud wilt migreren met zo min mogelijk afleiding. Ook verwacht je die integratie met andere AWS-cloudservices niet in hoge mate.

Dan zal de MS SQL DB in de AWS-cloud leven als een volledig beheerde database met onbeperkte opslag en uitgebreide opties voor horizontale schaalbaarheid en hoge beschikbaarheid in vergelijking met het on-premise alternatief.

Voorbeeld van gebruik

  • Fungeren als een middenwegplatform voor aangepaste integratie van verschillende databasesystemen (kan zelfs van een ander type zijn, bijvoorbeeld Oracle DB).
  • Diverse kleinere projecten waarbij de kosten van de database-oplossing een ding zijn om te overwegen, en het budget beperkter is (en niet toelaat om voor een volwaardige Oracle DB-oplossing te gaan).

AWS MySQL en PostgreSQL DB

Bron: aws.amazon.com

Deze databases zijn allebei van oorsprong open source (hoewel ze nu al zijn gekocht door grotere bedrijven), waardoor ze uiteindelijk zowel voor- als nadelen hebben.

Ze zijn ook niet zo rijk aan functies als andere alternatieven, vooral niet in hun oorspronkelijke vorm. En hoewel je ze in deze vorm nog steeds allebei in de AWS-infrastructuur kunt gebruiken, betwijfel ik of dit nog te veel praktische zin heeft.

Hoe het verschilt

Bij het migreren van de on-premise DB (of het nu MySQL of PostgreSQL is) naar de AWS-cloud, kunt u Aurora met MySQL- of PostgreSQL-engine gewoon rechtstreeks als doel gebruiken en zo profiteren van alle extra voordelen die Aurora DB te bieden heeft.

Zeker, het zal wat extra inspanning betekenen voor de migratiefase in vergelijking met het geval wanneer een native alternatief zou worden gekozen. Maar die extra inspanning zal slechts marginaal zijn.

Hun belangrijkste voordeel ligt in de kosten en dat ze het best geschikt zijn voor kleine projectinitiatieven, waar robuustheid niet echt een onderwerp is.

Belangrijkste nadelen

  • Beide zijn vrij beperkt in ondersteunde functionaliteit en u moet voorbereid zijn op beperkte opties voor onderhoudbaarheid en beheer.
  • Niet geschikt voor grootschalige projecten met veel actieve gebruikers.
  • Niet het beste voor hoogwaardige oplossingen en waar constante afstemming van prestaties een sterke vereiste is.

Wanneer kiezen

  • Als kosten het belangrijkste onderwerp zijn en het budget zeer beperkt is.
  • Als het projectinitiatief vrij klein is.
  • Als het datavolume vrij klein is en er geen plannen zijn voor significante groei.

Voorbeeld van gebruik

  • Persoonlijke projecten initiatieven waarbij de kost van de infrastructuur zo minimaal mogelijk zal zijn.
  • Kleine POC’s die zouden bewijzen dat het voorgestelde concept realiseerbaar is.
  • Projecten van kleine bedrijven met kleine hoeveelheden data.
  • Voor kleine SaaS-projecten, waarvoor geen grote hoeveelheid databasebelastingen nodig is, is alleen gegevensopslag in een relationeel gegevensmodel alles wat echt nodig is.

AWS MariaDB

Bron: aws.amazon.com

MariaDB is nog steeds een volledig open-source database gemaakt door voormalige MySQL-ontwikkelaars (na de overname van MySQL door Oracle).

In termen van compatibiliteit werkt elke MySQL DB prima in MariaDB.

Hoe het verschilt

Qua functionaliteit zijn er niet veel verschillen met MySQL te verwachten, maar de open source-eigenschap is het hoogtepunt.

Technisch gezien zijn er nogal wat handige functies die beschikbaar zijn in MariaDB maar niet in MySQL.

Belangrijkste nadelen

Vrij gelijkaardig aan de MySQL-case.

Wanneer kiezen

  • Als u helemaal weg bent van uw huidige MariaDB-implementatie op locatie en om welke reden dan ook niet wilt migreren naar Aurora DB.
  • Als u echt open-source wilt blijven met uw database-oplossing binnen het AWS-cloudecosysteem.

Voorbeeld van gebruik

Vrij gelijkaardig aan de MySQL-case.

laatste woorden

Evenzo, aangezien Oracle DB de oplossing was in de on-premise wereld, lijkt het erop dat Aurora DB deze plaats inneemt in de AWS-cloudwereld. Tenminste vanuit het perspectief van de functiesets komt dit het dichtst in de buurt.

En zelfs als u niet echt achter de belangrijkste stakeholders aan zit, is het goed om te weten dat er nog vrij eenvoudige opties zijn om uw bestaande database naar de AWS-cloud te migreren.

Beter nog: met deze overstap krijgt u automatisch functies die u tot dan toe waarschijnlijk niet had. Het belangrijkste is dat betere opslaguitbreidbaarheid, hoge beschikbaarheid en horizontale schaalbaarheid allemaal eigen kenmerken van de cloudomgeving zijn.