Cum se compară bazele de date relaționale AWS

O bază de date relațională a fost, pentru o lungă perioadă de timp, o soluție destul de standard pentru diverse (și aproape toate) cazuri de utilizare a software-ului pe care companiile mari sau mici trebuiau să le rezolve.

Astăzi, variabilitatea este mult mai mare cu disponibilitatea mai largă a bazelor de date NoSQL, în memorie sau lac de date. Dar, în ciuda acestui fapt, ori de câte ori se ia decizia de a migra bazele de date actuale on-premise în cloud, baza de date relațională ca țintă este încă cea mai simplă opțiune pentru această tranziție.

Vom arunca o privire mai atentă asupra următoarelor baze de date care pot face parte dintr-o astfel de inițiativă:

  • Oracol
  • Aurora
  • Microsoft SQL Server
  • MySQL și PostgreSQL
  • MariaDB

Voi fi clar cum diferă de restul și ce le diferențiază, inclusiv dezavantajele lor. Apoi le voi aduce în context, demonstrând un exemplu tipic de utilizare în lumea reală. În cele din urmă, îmi voi împărtăși punctul de vedere cu privire la alegerea între diferitele baze de date pentru cazul dvs.

AWS Oracle DB

Sursa: aws.amazon.com

Oracle DB a fost, fără îndoială, cea mai utilizată bază de date comercială din ultimele decenii. Ori de câte ori o companie avea nevoie de o soluție de bază de date robustă și de înaltă performanță, Oracle DB a fost prima alegere. Și din multe motive întemeiate.

Cum diferă

Oracle este o platformă robustă și bogată în funcționalități, care poate servi la o cantitate enormă de setări și cerințe complet diferite. De-a lungul timpului, această bază de date a devenit soluția ideală în cazul în care aveți nevoie de fiabilitate, scalabilitate și întreținere de ultimă generație, care trăiesc în infrastructura hardware locală.

Principalele avantaje

Iată câteva dintre principalele avantaje pe care le obțineți atunci când alegeți un sistem de baze de date atât de matur precum Oracle:

✅ Asistență excelentă și opțiuni pentru activități eficiente de backup și restaurare.

✅ Arie largă de posibilități pentru modul de reglare a performanței soluției DB în interiorul sistemului. Chiar și după mult timp, soluția este deja în producție. Activitățile de asistență și întreținere din cadrul acestei platforme sunt foarte ușor de configurat și sunt foarte eficiente.

✅ Personalizare ridicată a soluției DB. Deoarece Oracle DB acceptă o cantitate mare de funcționalități din care să alegeți, dvs., în calitate de integrator de sistem, aveți o mulțime de opțiuni pentru a construi un sistem robust, constând din exact acele funcționalități de care are nevoie platforma dvs. (gândiți-vă la declanșatoare, partiții, subpartiții, secvențe automate de chei primare, vizualizări). , instantanee, constrângeri de date, chei unice, chei combinate, chei externe, indecși compoziți etc.). Susține totul.

✅ Administrare ușoară a activităților și proceselor bazei de date. Console de administrare și tablouri de bord dedicate și multe instrumente create de Oracle și dedicate exclusiv administratorilor pentru a le utiliza imediat.

✅ Suport pentru medii multi-utilizator. Dacă cerința este de a sprijini mii de utilizatori activi diferiți în același timp, Oracle este răspunsul.

Principalele dezavantaje

Oracle DB este foarte flexibil în ceea ce privește scalarea verticală a performanței. Dar mai puțin atunci când aveți nevoie de scalare orizontală puternică. Aceasta înseamnă că este ușor să faceți upgrade la un procesor mai puternic, mai multă memorie și spațiu de stocare pe un cluster DB.

Dar dacă datele tale cresc semnificativ într-un timp scurt – care este cazul obișnuit care se întâmplă cu datele din cloud, blocajele de performanță vor deveni mai vizibile și mai greu de rezolvat. Răspândirea datelor în mai multe clustere și așteptarea ca acestea să crească dinamic va deveni o cerință principală în viitor. În acest caz, este posibil să găsiți că Oracle DB începe să fie mai limitativ decât să vă satisfacă nevoile viitoare.

Un alt posibil dezavantaj ar putea fi costul. Oracle DB acceptă multe caracteristici, dar multe dintre ele au și un cost. Cu atât mai mult dacă există mai multe clustere și sunt necesare upgrade-uri de performanță fizică. Aceasta înseamnă că reglarea software a modelului de date nu mai este suficientă. Pentru ca mai multe instrumente și funcții administrative să fie disponibile, va trebui să achiziționați o licență de întreprindere. Acest lucru va crește și mai mult costurile deja ridicate.

  Cum să vă schimbați profilul Netflix, subtitrarea și limba audio

În cele din urmă, Oracle DB nu este un serviciu AWS DB nativ, ceea ce înseamnă că nu vă așteptați la asistență completă de la AWS. Orientați-vă mai degrabă către suportul Oracle. Dar apoi tratați punctele critice Oracle și AWS în paralel și cu două seturi diferite de echipe de asistență.

Când să alegi

Alegerea omologul cloud al Oracle DB este cea mai naturală decizie pe care trebuie să o luați ori de câte ori soluția dvs. actuală on-premise utilizează deja Oracle DB. De asemenea, va face ca migrarea și trecerea la soluția bazată pe cloud să fie cât mai ușoară.

Prin urmare, alegeți AWS Oracle DB în cazul:

  • Vă așteptați ca DB în cloud să suporte aceleași procese și funcționalități ca și varianta on-premise în viitorul apropiat.
  • Nu intenționați să integrați foarte repede DB cu prea multe servicii native AWS.
  • Nu vă așteptați că volumul actual de date va crește semnificativ într-o perioadă scurtă de timp.
  • Aveți nevoie de sprijinul unei cantități uriașe de funcționalități existente. Adică, ar fi dificil să pierzi unele dintre ele existente în prezent atunci când treci la cloud.
  • Sistemul dvs. trebuie să accepte sute de utilizatori activi în același timp (sau mai mulți).

Exemplu de utilizare

  • Sisteme mari de telecomunicații pentru facturare, CRM și date middleware.
  • Implementări personalizate DB pentru sisteme de baze de date auto, integrate cu mai multe instrumente personalizate sau de la furnizori terți.
  • Soluții de sisteme împachetate pentru industria bancară, unde Oracle este deja o parte fixă ​​a soluției împachetate de la furnizori și în cele din urmă integrează componente DB personalizate suplimentare într-o implementare complexă.

AWS Aurora DB

Sursa: aws.amazon.com

În multe privințe, Aurora este direct opusul Oracle, chiar dacă este încă o bază de date relațională.

Cum diferă

Autora DB este un serviciu de baze de date nativ în AWS. AWS îi oferă suport complet și dezvoltare continuă și îl integrează profund cu restul ecosistemului de servicii AWS.

Aurora DB nu atinge acel nivel de diversificare a funcționalității așa cum a făcut deja Oracle. Dar s-a născut în nor (spre deosebire de Oracle). Deoarece AWS dezvoltă în continuare Aurora, decalajul de funcționalitate ar putea fi în cele din urmă mai mic în viitor decât este în prezent.

În multe privințe, Aurora este deja înaintea Oracle, în special în ceea ce privește integrarea cu alte servicii cloud AWS. Și, deoarece Amazon a creat Aurora având în vedere un ecosistem cloud, Aurora este pregătită pentru venituri masive de date și creștere în timp, astfel încât scalarea orizontală este o proprietate puternică.

Principalele avantaje

Aș spune că principalele avantaje ale Aurora DB sunt:

✅ Extensibilitate foarte flexibilă a instanțelor de copiere DB numai pentru citire. Pe cele pe care le poți crea doar în câteva secunde. Instanțele de doar citire partajează aceleași jurnale DB ale bazei de date principale din care provin. Aceasta înseamnă că crearea unei noi baze de date numai în citire nu necesită sincronizarea tuturor datelor; se face automat prin partajarea celor existente.

✅ Pregătit pentru creșterea mare a datelor – scalarea orizontală este o caracteristică importantă a Aurora DB. Adăugarea de noi clustere și extinderea scalabilității în diferite zone de disponibilitate este cât se poate de simplă. Aurora este atunci foarte eficientă în selectarea cantităților mari de date foarte rapid.

✅ Puteți alege dacă să utilizați modul server sau fără server al Aurora DB. Unele dintre funcții vor lipsi în modul serverless. Dar obțineți multă flexibilitate și optimizări ale costurilor atunci când alegeți modul fără server.

✅ Backup-uri automate și revenire ușoară la un moment dat. Un alt punct culminant este faptul că Aurora DB poate face backup zilnic ușor, iar restaurarea bazei de date complete în orice moment este mult mai simplă. Puteți combina toate avantajele mediului cloud aici, ca întotdeauna spațiu liber disponibil, operațiuni interne rapide ale AWS și o funcție Aurora DB dedicată care vizează timpii de recuperare rapidi și timpii scurti de nefuncționare.

✅ Suport fie pentru motorul DB MySQL, fie PostgreSQL, astfel încât să puteți alege ceea ce vi se potrivește.

  Un ghid aprofundat al aplicației Semrush Influencer Analytics

Principalele dezavantaje

  • Chiar dacă Aurora este, fără îndoială, cea mai bogată în funcție de bază de date relațională nativă pe care o puteți alege în AWS, încă rămâne în urma Oracle în acest sens. E de înțeles; Oracle a avut mult mai mult timp pentru a dezvolta aceste caracteristici în trecut. Faptul rămâne că Aurora DB este, cu fiecare lansare, mai puternică și mai apropiată.
  • Nu există echivalent cu Aurora DB în spațiul local. Puteți argumenta că bazele de date vechi construite în bazele de date MySQL sau PostgreSQL se potrivesc strâns – și din perspectiva compatibilității, cu siguranță sunt. Dar nu sunt echivalentul strict. Asta înseamnă că migrarea nu va fi atât de simplă. Va trebui să personalizați și să implementați procesele de migrare pentru a vă asigura că acestea vor transfera date de pe site și le vor stoca în Aurora DB, toate în formatul corect al modelului de date.
  • Diverse limite AWS, în special cele dure, sunt un factor care, în unele cazuri, ar putea diminua alegerea acestei baze de date ca țintă pentru a merge mai departe. Este foarte probabil că veți putea să le rezolvați pe toate, dar pentru unii, veți avea nevoie de investiții mai serioase în refactorizare, care în cele din urmă poate crește costurile totale de migrare în comparație cu o altă țintă a bazei de date.

Când să alegi

Pe scurt, alegerea Aurora DB ca bază de date relațională goto în platforma AWS nu este niciodată o decizie proastă, dar faceți-o, mai ales dacă:

  • Veți construi un sistem cloud de la zero în jurul unei baze de date relaționale.
  • Vă așteptați la cel mai înalt nivel de compatibilitate și integralitate cu cât mai multe servicii AWS native diferite.
  • Vă așteptați ca volumul de date să crească semnificativ într-un timp scurt.
  • Intenționați să începeți mai multe proiecte spin-off proofs of concept (POC) în care puteți profita de toate avantajele versiunii fără server a unei baze de date relaționale.

Exemplu de utilizare

  • O platformă fără server pentru analiza unor cantități mari de date de imagine ale infrastructurii.
  • Utilizarea modelelor de învățare automată pentru a procesa informațiile din lacul de date și a genera previziuni de afaceri pentru afacerea dvs.
  • Netflix folosește Aurora DB pentru execuții rapide de interogări paralele asupra datelor din catalog.

AWS Microsoft SQL DB

Sursa: aws.amazon.com

Această bază de date este, în anumite privințe, comparabilă cu Oracle. De asemenea, a fost creat cu mult timp înainte ca cloud-ul să devină un lucru și există o mulțime de utilizatori actuali on-premise care intenționează să migreze în cloud, folosind MS SQL DB ca sursă.

Cum diferă

În ciuda acestor asemănări, MS SQL DB este încă cel care a avut mult mai puțină utilizare în trecut în comparație cu Oracle DB.

Cel puțin judecând din perspectiva experienței mele personale. Am fost implicat în mai multe proiecte Oracle în ultimele două decenii, dar numai în câteva cazuri în care a fost implicat MS SQL DB. Și sincer, nu mi-a plăcut să mă ocup de asta la fel de mult ca cu Oracle DB.

Oricum, încă recunosc un segment mare de companii care folosesc MS SQL DB ca bază de date principală care este singurul punct de adevăr pentru toate datele.

Principalele avantaje

Principalele avantaje pe care le are MS SQL DB:

✅ Bună integrare cu alte servicii și software Microsoft, în cazul în care aceasta este o caracteristică pe care o recunoașteți ca fiind valoroasă pentru cazul dvs.

✅ Personalizare ușoară cu extensii de cod personalizate, mai ales sub formă de module de cod Javascript. Acest lucru poate fi util atunci când aveți de-a face cu procese de afaceri mai complexe și cu joburi care trebuie programate în baza de date.

✅ Destul de simplu din punct de vedere administrativ (cel puțin în comparație cu Oracle DB).

✅ Probabil că are mult mai mult sens în ecosistemul cloud Azure, întrucât acolo este considerat un sistem de baze de date relaționale nativ, mult mai compatibil cu alte servicii cloud de acolo.

Principalele dezavantaje

  • La fel ca și cazul Oracle DB, ca bază de date non-nativă în spațiul cloud AWS, toată asistența și rezolvarea problemelor trebuie conduse prin echipe de asistență MS SQL dedicate separate.
  • Mai puțină diversificare a suportului de funcționalitate în general, atunci când îl comparăm cu Oracle DB sau Aurora DB.
  • Nu este potrivit pentru un număr mare de utilizatori activi.
  • Scalabilitatea orizontală este o problemă și mai mare decât în ​​cazul Oracle DB.
  Ce dispozitive acceptă HBO Max? Roku și Amazon Fire TV nu

Când să alegi

MS SQL DB este cel mai potrivit dacă doriți să migrați MS SQL DB existent în cloud, cu cât mai puține distrageri posibil. De asemenea, nu vă așteptați la această integrare cu alte servicii cloud AWS într-o mare măsură.

Apoi, MS SQL DB va locui în cloudul AWS ca o bază de date complet gestionată, cu stocare nelimitată și opțiuni extinse pentru scalabilitate orizontală și disponibilitate ridicată în comparație cu alternativa on-premise.

Exemplu de utilizare

  • Acționând ca o platformă de mijloc pentru integrarea personalizată a diferitelor sisteme de baze de date (ar putea fi chiar de alt tip, de exemplu, Oracle DB).
  • Diverse proiecte la scară mai mică în care costul soluției de bază de date este un lucru de luat în considerare, iar bugetul este mai limitat (și nu permite să optați pentru o soluție DB Oracle cu drepturi depline).

AWS MySQL și PostgreSQL DB

Sursa: aws.amazon.com

Aceste baze de date sunt ambele open source după origine (deși acum sunt deja cumpărate de companii mai mari), oferindu-le în cele din urmă atât beneficii, cât și dezavantaje.

De asemenea, nu sunt la fel de bogate în caracteristici ca alte alternative, mai ales în forma lor nativă. Și deși le puteți folosi pe ambele în infrastructura AWS sub această formă, mă îndoiesc că acest lucru are încă prea mult sens practic.

Cum diferă

La migrarea bazei de date on-premise (fie că este MySQL sau PostgreSQL) în cloudul AWS, puteți utiliza direct Aurora cu motorul MySQL sau PostgreSQL ca țintă și astfel obțineți toate beneficiile suplimentare pe care Aurora DB le poate oferi.

Sigur, va însemna un efort suplimentar pentru faza de migrare în comparație cu cazul în care ar fi aleasă o alternativă nativă. Dar acest efort suplimentar va fi doar marginal.

Principalul lor beneficiu constă în costuri și în faptul că sunt cele mai potrivite pentru inițiativele de proiecte mici, unde robustețea nu este cu adevărat un subiect.

Principalele dezavantaje

  • Ambele sunt destul de limitate în funcționalitatea acceptată și trebuie să fiți pregătit pentru opțiuni limitate pentru mentenanță și administrare.
  • Nu este potrivit pentru proiecte la scară largă cu mulți utilizatori activi.
  • Nu este cel mai potrivit pentru soluțiile de înaltă performanță și unde reglarea constantă a performanței este o cerință puternică.

Când să alegi

  • Dacă costul este subiectul principal și bugetul este foarte limitat.
  • Dacă inițiativa proiectului este destul de mică.
  • Dacă volumul de date este destul de mic și nu există planuri de creștere semnificativă.

Exemplu de utilizare

  • Inițiative de proiecte personale în care costul infrastructurii va fi cât mai minim posibil.
  • POC-uri mici care ar dovedi că conceptul propus poate fi realizat.
  • Proiecte ale companiilor mici cu cantități mici de date.
  • Pentru proiectele SaaS mici, care nu necesită o cantitate mare de încărcări de baze de date, doar stocarea datelor într-un mod de model de date relațional este tot ceea ce este necesar.

AWS MariaDB

Sursa: aws.amazon.com

MariaDB este încă o bază de date complet open-source creată de foști dezvoltatori MySQL (după achiziția MySQL de către Oracle).

În ceea ce privește compatibilitatea, orice DB MySQL va funcționa bine în MariaDB.

Cum diferă

Din punct de vedere funcțional, nu există multe diferențe față de MySQL de așteptat, dar proprietatea open source este punctul culminant.

Din punct de vedere tehnic, există un număr destul de mare de caracteristici utile care sunt disponibile în MariaDB, dar nu și în MySQL.

Principalele dezavantaje

Destul de similar cu cazul MySQL.

Când să alegi

  • Dacă vă place cu desăvârșire implementarea actuală MariaDB on-premise și nu doriți să migrați la Aurora DB, indiferent de motiv.
  • Dacă doriți să rămâneți cu adevărat open-source cu soluția dvs. de baze de date în cadrul ecosistemului cloud AWS.

Exemplu de utilizare

Destul de similar cu cazul MySQL.

Cuvinte finale

În mod similar, deoarece Oracle DB a fost soluția în lumea on-premise, se pare că Aurora DB ocupă acest loc în lumea cloud AWS. Cel puțin din perspectiva setului de caracteristici, acesta este cel mai aproape pe care îl puteți obține.

Și chiar dacă nu căutați cu adevărat principalele părți interesate, este bine să știți că există încă opțiuni destul de simple cu privire la modul de migrare a bazei de date existente în cloud-ul AWS.

Mai bine încă – cu acest comutator, veți obține automat funcții de care cel mai probabil le lipseau până atunci. Cel mai important, o mai bună extindere a stocării, disponibilitatea ridicată și scalabilitatea orizontală sunt toate caracteristicile native ale mediului cloud.