Relāciju datubāze ilgu laiku bija diezgan standarta risinājums dažādiem (un gandrīz visiem) programmatūras lietošanas gadījumiem, kas bija jāatrisina lieliem vai maziem uzņēmumiem.
Mūsdienās mainīgums ir daudz lielāks, jo ir plašāka pieeja NoSQL, atmiņā vai datu ezera datubāzēm. Taču, neskatoties uz to, ikreiz, kad tiek pieņemts lēmums migrēt pašreizējās lokālās datu bāzes uz mākoni, relāciju datu bāze kā mērķis joprojām ir visvienkāršākā iespēja šai pārejai.
Mēs sīkāk aplūkosim šādas datu bāzes, kas var būt šādas iniciatīvas sastāvdaļa:
- Orākuls
- Aurora
- Microsoft SQL serveris
- MySQL un PostgreSQL
- MariaDB
Es paskaidrošu, ar ko tie atšķiras no pārējiem un kas tos atšķir, ieskaitot to trūkumus. Pēc tam es tos iekļaušu kontekstā, demonstrējot tipiskus reālās lietošanas piemērus. Visbeidzot, es dalīšos ar savu viedokli par lēmumu starp dažādām datu bāzēm jūsu gadījumā.
AWS Oracle DB
Avots: aws.amazon.com
Oracle DB neapšaubāmi bija visplašāk izmantotā komerciālā datubāze pēdējo desmitgažu laikā. Ikreiz, kad uzņēmumam bija nepieciešams spēcīgs un augstas veiktspējas datu bāzes risinājums, Oracle DB bija pirmā izvēle. Un daudzu labu iemeslu dēļ.
Kā tas atšķiras
Oracle ir stabila un ar funkcionalitāti bagāta platforma, kas var apkalpot milzīgu daudzumu pat pilnīgi atšķirīgu iestatījumu un prasību. Laika gaitā šī DB kļuva par vispiemērotāko risinājumu, ja jums ir nepieciešama vismodernākā uzticamība, mērogojamība un apkope, izmantojot lokālo aparatūras infrastruktūru.
Galvenās priekšrocības
Šeit ir dažas no galvenajām priekšrocībām, ko iegūstat, izvēloties tik nobriedušu datu bāzes sistēmu kā Oracle:
✅ Lielisks atbalsts un iespējas efektīvām dublēšanas un atjaunošanas darbībām.
✅ Plašas iespējas, kā regulēt DB risinājuma veiktspēju sistēmas iekšienē. Pat ilgi pēc tam risinājums jau tiek ražots. Atbalsta un uzturēšanas darbības šajā platformā ir patiešām viegli uzstādāmas, un tās ir ļoti efektīvas.
✅ Augsta DB risinājuma pielāgošana. Tā kā Oracle DB atbalsta plašu funkciju klāstu, no kurām izvēlēties, jums kā sistēmas integratoram ir daudz iespēju izveidot stabilu sistēmu, kas sastāv no tieši tām funkcijām, kas nepieciešamas jūsu platformai (domājiet par trigeriem, nodalījumiem, apakšsadaļām, automatizētām primāro atslēgu secībām, skatiem , momentuzņēmumi, datu ierobežojumi, unikālas atslēgas, kombinētās atslēgas, ārējās atslēgas, saliktie indeksi utt.). Tas atbalsta visu.
✅ Vienkārša datu bāzes darbību un procesu administrēšana. Īpašas administrēšanas konsoles un informācijas paneļi, kā arī daudzi Oracle izveidotie rīki, kas paredzēti tikai administratoriem lietošanai no iepakojuma.
✅ Daudzlietotāju vides atbalsts. Ja prasība ir vienlaikus atbalstīt tūkstošiem dažādu aktīvo lietotāju, Oracle ir atbilde.
Galvenie trūkumi
Oracle DB ir ļoti elastīgs attiecībā uz veiktspējas vertikālo mērogošanu. Bet mazāk, ja nepieciešama spēcīga horizontāla mērogošana. Tas nozīmē, ka ir viegli jaunināt uz spēcīgāku CPU, lielāku atmiņu un krātuves vietu klastera DB.
Bet, ja jūsu dati īsā laikā ievērojami palielinās — tas ir parastais gadījums, kas notiek ar datiem mākonī, veiktspējas vājās vietas kļūs redzamākas un grūtāk atrisināmas. Datu izplatīšana vairākos klasteros un gaidīšana, ka tie dinamiski pieaugs, kļūs par galveno prasību nākotnē. Šādā gadījumā Oracle DB var būt vairāk ierobežojošs, nekā tas apmierina jūsu turpmākās vajadzības.
Vēl viens iespējamais trūkums varētu būt izmaksas. Oracle DB atbalsta daudzas funkcijas, taču daudzas no tām arī maksā. Vēl jo vairāk, ja ir izveidotas vairākas kopas un ir nepieciešami fiziskās veiktspējas uzlabojumi. Tas nozīmē, ka datu modeļa programmatūras regulēšana vairs nav pietiekama. Lai būtu pieejami vairāk administratīvo rīku un funkciju, jums būs jāiegādājas uzņēmuma licence. Tas vēl vairāk palielinās jau tā augstās izmaksas.
Visbeidzot, Oracle DB nav vietējais AWS DB pakalpojums, kas nozīmē, ka jums nav jāgaida pilns atbalsts no AWS. Drīzāk orientējieties uz Oracle atbalstu. Bet pēc tam paralēli strādājiet ar Oracle un AWS sāpju punktiem un ar diviem dažādiem atbalsta komandu komplektiem.
Kad izvēlēties
Oracle DB mākoņdatošanas līdzinieka izvēle ir visdabiskākais lēmums, kas jāpieņem ikreiz, kad jūsu pašreizējais lokālais risinājums jau izmanto Oracle DB. Tas arī atvieglos migrāciju un pāreju uz mākoņa risinājumu.
Tāpēc izvēlieties AWS Oracle DB šādā gadījumā:
- Jūs sagaidāt, ka mākoņa DB tuvākajā nākotnē atbalstīs tos pašus procesus un funkcijas kā lokālais variants.
- Jūs neplānojat ļoti ātri integrēt DB ar pārāk daudziem AWS vietējiem pakalpojumiem.
- Jūs negaidāt, ka pašreizējais datu apjoms īsā laika periodā ievērojami pieaugs.
- Jums ir nepieciešams atbalsts no milzīga daudzuma funkcionalitātes. Tas nozīmē, ka, pārejot uz mākoni, būtu grūti pazaudēt dažus no tiem, kas pašlaik atrodas.
- Jūsu sistēmai vienlaikus (vai vairāk) ir jāatbalsta simtiem aktīvo lietotāju.
Lietošanas piemērs
- Lielas telekomunikāciju sistēmas norēķinu, CRM un starpprogrammatūras datiem.
- Pielāgotas DB ieviešanas automobiļu datu bāzu sistēmām, integrētas ar vairākiem dažādiem pielāgotiem vai trešo pušu piegādātāju rīkiem.
- Sistēmu pakotnes risinājumi banku nozarei, kur Oracle jau ir piegādātāju komplektētā risinājuma fiksēta daļa un galu galā integrē papildu pielāgotus DB komponentus vienā sarežģītā ieviešanā.
AWS Aurora DB
Avots: aws.amazon.com
Daudzos veidos Aurora ir tiešs pretstats Oracle, pat ja tā joprojām ir relāciju datu bāze.
Kā tas atšķiras
Autora DB ir vietējais AWS datu bāzes pakalpojums. AWS nodrošina tai pilnīgu atbalstu un pastāvīgu attīstību, kā arī dziļi integrē to ar pārējo AWS pakalpojumu ekosistēmu.
Aurora DB nesasniedz tādu funkcionalitātes dažādošanas līmeni, kāds jau ir Oracle. Bet tas ir dzimis mākonī (atšķirībā no Oracle). Tā kā AWS turpina attīstīt Aurora, funkcionalitātes atšķirība nākotnē var būt mazāka nekā šodien.
Daudzos veidos Aurora jau ir priekšā Oracle, īpaši attiecībā uz integrāciju ar citiem AWS mākoņpakalpojumiem. Un tā kā Amazon izveidoja Aurora, paturot prātā mākoņa ekosistēmu, Aurora ir gatava milzīgiem datu ienākumiem un laika gaitā pieaugumam, tāpēc horizontālā mērogošana ir spēcīgs īpašums.
Galvenās priekšrocības
Es teiktu, ka galvenās Aurora DB priekšrocības ir:
✅ Ļoti elastīga tikai lasāmu DB kopiju gadījumu paplašināšana. Tie, kurus varat izveidot dažu sekunžu laikā. Tikai lasāmas instances koplieto tos pašus galvenās datu bāzes DB žurnālus, no kuriem tie nāk. Tas nozīmē, ka jaunas tikai lasāmas datu bāzes izveidei nav nepieciešama visu datu sinhronizācija; tas notiek automātiski, kopīgojot esošos.
✅ Gatavs lielam datu apjomam — horizontālā mērogošana ir liela Aurora DB funkcija. Jaunu klasteru pievienošana un mērogojamības paplašināšana dažādās pieejamības zonās ir tikpat vienkārša, cik vien iespējams. Tad Aurora ir ļoti efektīva, ļoti ātri atlasot lielu datu apjomu.
✅ Varat izvēlēties, vai izmantot Aurora DB servera vai bezservera režīmu. Dažas funkcijas trūks bezservera režīmā. Bet, izvēloties bezservera režīmu, jūs saņemat lielu elastību un izmaksu optimizāciju.
✅ Automatizētas dublējumkopijas un vienkārša atgriešana noteiktā laikā. Vēl viens akcents ir tas, ka Aurora DB var viegli veikt ikdienas dublējumus, un pilnas datu bāzes atjaunošana jebkurā brīdī ir daudz vienkāršāka. Šeit varat apvienot visas mākoņa vides priekšrocības, kā vienmēr pieejamo brīvo vietu, ātras iekšējās AWS darbības un īpašu Aurora DB funkciju, kas paredzēta ātru atkopšanas laiku un īsu dīkstāves laiku.
✅ Atbalsts MySQL vai PostgreSQL DB dzinējam, lai jūs varētu izvēlēties sev piemērotāko.
Galvenie trūkumi
- Lai gan Aurora neapšaubāmi ir ar funkcijām bagātākā vietējā relāciju datu bāze, kuru varat izvēlēties AWS, tā joprojām šajā ziņā atpaliek no Oracle. Tas ir saprotams; Oracle pagātnē bija daudz vairāk laika, lai izstrādātu šīs funkcijas. Fakts paliek fakts, ka Aurora DB ar katru izlaidumu kļūst spēcīgāks un tuvāks.
- Vietējā telpā nav līdzvērtīga Aurora DB. Varat apgalvot, ka vecās datu bāzes, kas iebūvētas MySQL vai PostgreSQL datu bāzēs, ir cieši līdzīgas, un no saderības viedokļa tās noteikti ir. Bet tie nav stingrs ekvivalents. Tas nozīmē, ka migrācija nebūs tik vienkārša. Jums būs jāpielāgo un jāievieš migrācijas procesi, lai nodrošinātu, ka tie pārsūtīs datus no lokālas vietas un saglabās tos Aurora DB — viss pareizajā datu modeļa formātā.
- Dažādi AWS ierobežojumi, īpaši tie, kas ir stingri, ir faktors, kas dažos gadījumos var traucēt izvēlēties šo DB kā mērķi virzīties uz priekšu. Ļoti iespējams, ka jūs varēsit apiet tos visus, taču dažiem jums būs nepieciešami nopietnāki ieguldījumi pārstrukturēšanā, kas galu galā var palielināt kopējās migrācijas izmaksas salīdzinājumā ar citu datu bāzes mērķi.
Kad izvēlēties
Īsumā, Aurora DB izvēle kā goto relāciju datubāze AWS platformā nekad nav slikts lēmums, taču dariet to, it īpaši, ja:
- Jūs izveidosit mākoņsistēmu no jauna, izmantojot relāciju datu bāzi.
- Jūs sagaidāt visaugstāko saderības un integritātes līmeni ar pēc iespējas vairāk dažādiem vietējiem AWS pakalpojumiem.
- Jūs domājat, ka jūsu datu apjoms īsā laikā ievērojami pieaugs.
- Jūs plānojat sākt vairākus papildu koncepcijas pierādījumu (POC) projektus, kuros varat izmantot visas bezservera relāciju datu bāzes versijas priekšrocības.
Lietošanas piemērs
- Platforma bez servera liela apjoma infrastruktūras attēlu datu analīzei.
- Mašīnmācīšanās modeļu izmantošana, lai apstrādātu jūsu datu ezera informāciju un radītu biznesa prognozes jūsu uzņēmumam.
- Netflix izmanto Aurora DB ātrai paralēlu vaicājumu izpildei, izmantojot savus kataloga datus.
AWS Microsoft SQL DB
Avots: aws.amazon.com
Šī datubāze dažos veidos ir salīdzināma ar Oracle. Tas tika izveidots arī ilgu laiku, pirms mākonis kļuva par lietu, un daudzi pašreizējie lokālie lietotāji plāno migrēt uz mākoni, kā avotu izmantojot MS SQL DB.
Kā tas atšķiras
Neskatoties uz šīm līdzībām, MS SQL DB joprojām ir tā, kas agrāk bija daudz mazāk izmantota salīdzinājumā ar Oracle DB.
Vismaz spriežot no manas personīgās pieredzes viedokļa. Pēdējo divu desmitgažu laikā esmu bijis iesaistīts vairākos Oracle projektos, bet tikai dažos gadījumos, kad bija iesaistīta MS SQL DB. Un, godīgi sakot, man nepatika ar to nodarboties ne tuvu tik ļoti, kā ar Oracle DB.
Jebkurā gadījumā es joprojām atzīstu lielu uzņēmumu segmentu, kas izmanto MS SQL DB kā galveno datu bāzi, kas ir vienīgais patiesības punkts visiem datiem.
Galvenās priekšrocības
Galvenās MS SQL DB priekšrocības:
✅ Laba integrācija ar citiem Microsoft pakalpojumiem un programmatūru, ja šī ir jūsu gadījumam vērtīga funkcija.
✅ Vienkārša pielāgošana ar pielāgotiem koda paplašinājumiem, galvenokārt Javascript koda moduļu veidā. Tas var būt noderīgi, strādājot ar sarežģītākiem biznesa procesiem un darbiem, kas jāplāno datu bāzē.
✅ Diezgan vienkārši no administrācijas viedokļa (vismaz salīdzinājumā ar Oracle DB).
✅ Iespējams, tas ir daudz saprātīgāks Azure mākoņu ekosistēmā, jo tur tā tiek uzskatīta par vietējo relāciju datu bāzes sistēmu, kas ir daudz saderīgāka ar citiem mākoņpakalpojumiem.
Galvenie trūkumi
- Līdzīgi kā Oracle DB gadījumā, kā nevietējai datubāzei AWS mākoņa telpā, viss atbalsts un problēmu risināšana ir jāvada, izmantojot atsevišķas speciālas MS SQL atbalsta komandas.
- Mazāka funkcionalitātes atbalsta dažādošana kopumā, salīdzinot to ar Oracle DB vai Aurora DB.
- Nav piemērots lielam skaitam aktīvu lietotāju.
- Horizontālā mērogojamība ir vēl lielāka problēma nekā Oracle DB gadījumā.
Kad izvēlēties
MS SQL DB ir vislabāk piemērota, ja vēlaties migrēt esošo MS SQL DB uz vietas mākonī ar pēc iespējas mazāku uzmanību. Turklāt jūs negaidāt, ka lielā mērā tiks nodrošināta integrācija ar citiem AWS mākoņpakalpojumiem.
Tad MS SQL DB darbosies AWS mākonī kā pilnībā pārvaldīta datu bāze ar neierobežotu krātuvi un paplašinātām iespējām horizontālai mērogojamībai un augstai pieejamībai salīdzinājumā ar lokālo alternatīvu.
Lietošanas piemērs
- Darbojas kā vidusceļa platforma dažādu datu bāzes sistēmu pielāgotai integrācijai (var būt pat cita veida, piemēram, Oracle DB).
- Dažādi mazāka mēroga projekti, kur jāņem vērā datu bāzes risinājuma izmaksas un budžets ir ierobežotāks (un neļauj ķerties pie pilnvērtīga Oracle DB risinājuma).
AWS MySQL un PostgreSQL DB
Avots: aws.amazon.com
Abas šīs datu bāzes pēc izcelsmes ir atvērtā koda avots (lai gan tagad tās jau ir iegādājušās lielāki uzņēmumi), kas galu galā sniedz gan priekšrocības, gan trūkumus.
Tie arī nav tik bagāti ar funkcijām kā citas alternatīvas, it īpaši to sākotnējā formā. Un, lai gan jūs joprojām varat tos izmantot AWS infrastruktūrā šādā formā, es šaubos, ka tas joprojām ir pārāk praktisks.
Kā tas atšķiras
Migrējot lokālo DB (vai tas būtu MySQL vai PostgreSQL) uz AWS mākoni, varat tieši izmantot Aurora ar MySQL vai PostgreSQL dzinēju kā mērķi un tādējādi iegūt visas Aurora DB piedāvātās papildu priekšrocības.
Protams, tas nozīmēs papildu pūles migrācijas fāzē, salīdzinot ar gadījumu, kad tiktu izvēlēta vietējā alternatīva. Taču šīs papildu pūles būs tikai nelielas.
To galvenais ieguvums ir izmaksas un tas, ka tie ir vislabāk piemēroti nelielu projektu iniciatīvām, kur robustums nav īsti aktuāls.
Galvenie trūkumi
- Abiem ir diezgan ierobežota atbalstītā funkcionalitāte, un jums ir jābūt gatavam ierobežotām uzturēšanas un administrēšanas iespējām.
- Nav piemērots liela mēroga projektiem ar daudziem aktīviem lietotājiem.
- Nav vislabākais augstas veiktspējas risinājumiem un gadījumos, kad pastāvīga veiktspējas regulēšana ir spēcīga prasība.
Kad izvēlēties
- Ja galvenā tēma ir izmaksas un budžets ir ļoti ierobežots.
- Ja projekta iniciatīva ir diezgan maza.
- Ja datu apjoms ir diezgan mazs un nav plānota būtiska izaugsme.
Lietošanas piemērs
- Personīgo projektu iniciatīvas, kur infrastruktūras izmaksas ir pēc iespējas mazākas.
- Mazie POC, kas pierādītu, ka piedāvāto koncepciju var realizēt.
- Mazo uzņēmumu projekti ar nelielu datu apjomu.
- Nelieliem SaaS projektiem, kuriem nav nepieciešama liela datubāzes ielāde, tikai datu glabāšana relāciju datu modeļa veidā ir viss, kas patiešām ir nepieciešams.
AWS MariaDB
Avots: aws.amazon.com
MariaDB joprojām ir pilnībā atvērtā koda datu bāze, ko izveidojuši bijušie MySQL izstrādātāji (pēc MySQL iegādes Oracle).
Saderības ziņā jebkura MySQL DB darbosies lieliski MariaDB.
Kā tas atšķiras
Funkcionālā ziņā nav daudz atšķirību no MySQL, taču atklātā pirmkoda īpašums ir galvenais.
Tehniski ir diezgan daudz noderīgu funkciju, kas ir pieejamas MariaDB, bet ne MySQL.
Galvenie trūkumi
Diezgan līdzīgs MySQL gadījumam.
Kad izvēlēties
- Ja jums ļoti patīk pašreizējā MariaDB lokālā ieviešana un kāda iemesla dēļ nevēlaties migrēt uz Aurora DB.
- Ja vēlaties palikt patiesi atvērtā koda versijā, izmantojot datu bāzes risinājumu AWS mākoņa ekosistēmā.
Lietošanas piemērs
Diezgan līdzīgs MySQL gadījumam.
Nobeiguma vārdi
Tāpat, tā kā Oracle DB bija risinājums lokālajā pasaulē, šķiet, ka Aurora DB ieņem šo vietu AWS mākoņu pasaulē. Vismaz no funkciju kopu viedokļa tas ir tuvākais, ko varat iegūt.
Un pat tad, ja jūs īsti nemeklējat galvenās ieinteresētās personas, ir labi zināt, ka joprojām ir diezgan vienkāršas iespējas migrēt esošo datu bāzi uz AWS mākoni.
Vēl labāk — ar šo slēdzi jūs automātiski iegūsit funkcijas, kurām līdz šim, visticamāk, trūka. Vissvarīgākais ir tas, ka labāka krātuves paplašināšana, augsta pieejamība un horizontālā mērogojamība ir visas mākoņvides pamatfunkcijas.