DynamoDB yra visiškai valdomas, be serverių NoSQL duomenų bazė, sukurta „Amazon“. Jos pag­rin­di­niai pri­va­lu­mai yra sklandus mastelio keitimas, atsakymo laikas mi­li­se­kun­dė­mis, minimalūs eks­p­lo­a­ta­vi­mo sąnaudos ir lengva AWS in­te­g­ra­ci­ja. Naudojimo atvejai svyruoja nuo prog­ra­mi­nės įrangos kūrimo iki žaidimų platformų mastelio keitimo ir vaizdo trans­lia­ci­jos realiuoju laiku.

Kas yra DynamoDB?

„Amazon DynamoDB“ yra serverių ne­rei­ka­lau­jan­ti NoSQL duomenų bazės paslauga, skirta šiuo­lai­ki­nėms bet kokio masto prog­ra­moms, kurią nuo 2012 m. teikia AWS (Amazon Web Services). Skir­tin­gai nuo daugelio kon­ku­ren­tų, „DynamoDB“ yra visiškai valdomas spren­di­mas. Todėl nereikia atlikti tokių užduočių kaip at­nau­ji­ni­mai, at­nau­ji­ni­mai ar mastelio keitimas. Duomenų bazių valdymo sistema taip pat siūlo platų saugumo funkcijų ir ati­tik­ties standartų spektrą. Be to, DynamoDB sklan­džiai in­te­gruo­ja­si su kitomis AWS pa­slau­go­mis, pvz., Lambda ar Amazon Open­Se­ar­ch Service.

DynamoDB struktūra

Duomenų bazės struktūra pasižymi aiškia hie­rar­chi­ja, kurioje lentelės yra aukš­čiau­sio­sios entitetai, be griežtų ryšių tarp jų, skir­tin­gai nei re­lia­ci­nė­se duomenų bazėse. „Amazon DynamoDB“ saugo duomenis skai­di­niuo­se, kurie au­to­ma­tiš­kai rep­li­kuo­ja­mi. Kiek­vie­nas skaidinys susideda iš trijų mazgų, kuriuose saugoma duomenų kopija, todėl galima lengvai keisti mastelį ir už­tik­rin­ti dub­lia­vi­mą mazgo gedimo atveju. Kūrėjai saugo įrašus kaip atributus ir jiems priskiria unikalų pirminį raktą. Duomenų bazė palaiko tiek raktų-verčių duomenų modelius, tiek do­ku­men­tais ori­en­tuo­tus modelius.

AWS DynamoDB lentelių klasės

Naudojant lentelių klases, galima op­ti­mi­zuo­ti DynamoDB lentelių našumą ir sąnaudų struktūrą. Var­to­to­jai gali rinktis iš dviejų klasių ir per 30 dienų du kartus pereiti iš vienos klasės į kitą be per­trau­kos, kad pri­tai­ky­tų sąnaudas prie naudojimo modelių.

  • „DynamoDB Standard“ yra sukurta kaip nu­ma­ty­to­ji lentelių klasė, skirta didelio našumo darbo krūviams ir lentelėms su ne­nu­spė­ja­mais darbo krūviais. Palyginti su kitomis len­te­lė­mis, stan­dar­ti­nės lentelės pasižymi ma­žes­nė­mis skaitymo ir rašymo operacijų są­nau­do­mis.
  • „DynamoDB Standard Inf­requent Access“ yra op­ti­mi­zuo­tas lentelėms, kuriose sau­go­ji­mas yra pag­rin­di­nis išlaidų veiksnys. IA stan­dar­ti­nės lentelės siūlo mažesnes saugojimo išlaidas. Ši klasė taip pat idealiai tinka lentelėms su retai nau­do­ja­mais duo­me­ni­mis.

Kokias funkcijas siūlo DynamoDB?

DynamoDB siūlo įvairias galingas funkcijas, kurios leidžia kurti mastelio keitimą pa­lai­kan­čias, labai pri­ei­na­mas ir greitai rea­guo­jan­čias programas. Toliau pa­teik­to­je ap­žval­go­je api­bend­ri­na­mos pag­rin­di­nės funkcijos:

  • Raktų-verčių ir dokumentų duomenų modeliai: duomenų bazė turi lanksčią schemą, lei­džian­čią priskirti daugybę skirtingų atributų at­ski­riems ele­men­tams.
  • ACID sandoriai: NoSQL duomenų bazė užtikrina sandorių ato­miš­ku­mą, nuo­sek­lu­mą, izo­lia­ci­ją ir patvarumą (žinoma kaip ACID) įvairioms taik­me­noms. Tai leidžia išplėsti DynamoDB mastelį ir našumą į platesnį verslui svarbių procesų spektrą.
  • Globalios lentelės su aktyvia-aktyvia rep­li­ka­ci­ja: DynamoDB globalios lentelės yra dau­gia­funk­ci­nės, todėl var­to­to­jai gali rašyti ir skaityti iš bet kurios replikos. Talpa au­to­ma­tiš­kai pri­tai­ko­ma prie re­gio­ni­nių darbo krūvių.
  • DynamoDB Streams: ši funkcija fiksuoja duomenų pokyčius. Kai lentelėje sukuriama, at­nau­ji­na­ma ar ištrinama eilutė, DynamoDB Streams įrašo šį įvykį ir saugo jį 24 valandas.
  • Antriniai indeksai: DynamoDB leidžia naudoti tiek vietinius, tiek globalius antrinius indeksus, kad būtų galima atlikti užklausas naudojant al­ter­na­ty­vius raktus. Pa­si­ren­ka­mai jie gali būti įgy­ven­din­ti kaip retiniai indeksai, kad būtų in­dek­suo­ja­mi tik duomenų pogrupiai.
  • Au­to­ma­ti­nis skaidymas: duomenys au­to­ma­tiš­kai pa­skirs­to­mi per kelis skai­di­nius ir pagal poreikį mastelio keičiami.
  • Saugumo funkcijos: duomenų bazė siūlo išsamias funkcijas, už­tik­ri­nan­čias jūsų duomenų saugumą. Tai apima smulkią prieigos kontrolę, šifravimą saugojimo metu, atkūrimą tam tikru laiku, at­sar­gi­nes kopijas pagal užsakymą ir pri­va­čio­jo tinklo ryšį.
  • Talpos modeliai: var­to­to­jai gali rinktis iš talpos pagal užsakymą ir talpos pagal poreikį režimų.
  • DynamoDB Ac­ce­le­ra­tor (DAX): tai papildoma paslauga, skirta pagerinti talpyklos veikimą, kuri padidina našumą iki dešimties kartų.

„Amazon DynamoDB“ pri­va­lu­mai ir trūkumai

„Amazon“ NoSQL paslauga „DynamoDB“ įspūdinga visų pirma dėl šių dalykų:

  • Au­to­ma­ti­nis mastelio keitimas: AWS DynamoDB di­na­miš­kai pritaiko pajėgumą ir skaidymą, kad atitiktų pra­lai­du­mą, taip už­tik­rin­da­ma neribotą ho­ri­zon­ta­lią plėtrą.
  • Serverių ne­rei­ka­lau­jan­ti ar­chi­tek­tū­ra: duomenų bazių valdymo sistema yra visiškai valdoma. Tai leidžia var­to­to­jams visą dėmesį skirti programų kūrimui, o ne pag­rin­di­nei inf­rastruk­tū­rai.
  • Didelis pri­ei­na­mu­mas: kelių regionų duomenų bazės ir au­to­ma­ti­nis rep­li­ka­vi­mas užtikrina iki 99,999 % pri­ei­na­mu­mą.
  • Mažas vėlavimas: NoSQL duomenų bazė nu­ma­ty­tuo­ju atveju suteikia skaitymo ir rašymo prieigą su vieno skaitmens mi­li­se­kun­džių vėlavimu. Naudojant DynamoDB Ac­ce­le­ra­tor, atsakymo laikas prireikus gali būti su­ma­žin­tas iki mik­ro­se­kun­džių.
  • Paprasta AWS in­te­g­ra­ci­ja: sklandi AWS paslaugų, pvz., „Cloud­Wat­ch“ ar „Kinesis“, in­te­g­ra­ci­ja išplečia „DynamoDB“ funk­cio­na­lu­mą ir leidžia atlikti pa­pil­do­mus duomenų analizės veiksmus.

Nors pri­va­lu­mai aiškiai nusveria trūkumus ir DynamoDB ne­abe­jo­ti­nai yra viena iš geriausių SQL al­ter­na­ty­vų, platforma taip pat turi keletą trūkumų. Viena vertus, duomenų bazė siūlo tik ribotas užklausų galimybes, kurios yra mažiau išsamios nei daugelio kon­ku­ren­tų. Kita vertus, glaudus in­te­g­ra­vi­mas su AWS pa­slau­go­mis apsunkina perėjimą prie kitų platformų. Naudojant už­sa­ko­mą­sias modelius, taip pat kyla rizika, kad paklausos šuoliai gali lemti ne­nu­ma­ty­tus didelius mokesčius.

Kokioms taikymo sritims tinka DynamoDB?

DynamoDB buvo spe­cia­liai sukurta darbo krūviams, kuriuose reikia apdoroti, mas­te­lin­ti ir pateikti didelius duomenų kiekius su labai mažu vėlavimu ir dideliu pri­ei­na­mu­mu. Tipiniai naudojimo atvejai:

  • Serverių ne­tu­rin­čios ži­nia­tink­lio programos ir mo­bi­lio­sios užkulisės, kuriose sąskaitų duomenys, sesijos ir kon­fi­gū­ra­ci­jos gaunami su minimaliu vėlavimu
  • Žaidimų plat­for­mos, kuriose šimtai tūks­tan­čių ar milijonai vartotojų vienu metu pri­si­jun­gia prie žaidimų serverių
  • Turinio trans­lia­ci­ja pa­sau­li­nei au­di­to­ri­jai su ne­vie­no­dais arba staigiais srauto svy­ra­vi­mais
  • Bankai ir fi­nan­si­nių paslaugų įmonės, kurioms reikia vienu metu ir realiuoju laiku apdoroti daug sandorių, tuo pačiu už­tik­ri­nant fi­nan­si­nių sandorių sa­va­lai­kiš­ku­mą ir saugumą
  • IoT programos (IoT = daiktų in­ter­ne­tas), kurios apdoroja ir saugo jutiklių duomenis dideliu mastu

Svar­biau­sios al­ter­na­ty­vos DynamoDB

Be DynamoDB, yra ir kitų duomenų bazių sistemų, kurios gali būti al­ter­na­ty­vos, pri­klau­so­mai nuo rei­ka­la­vi­mų, duomenų modelio, mastelio ir inf­rastruk­tū­ros. Tai pir­miau­sia yra:

  • MongoDB: didelis lanks­tu­mas ir neribotas mastelio keitimas
  • MySQL: reliacinė sistema su aukš­čiau­sios klasės pri­ei­na­mu­mu
  • MariaDB: atvirojo kodo al­ter­na­ty­va DynamoDB
  • Post­g­re­SQL: reliacinė duomenų bazė, pa­lai­kan­ti ne­re­lia­ci­nius duomenų tipus
  • Firebase by Google: puiki al­ter­na­ty­va, ypač mo­bi­lio­sioms ir in­ter­ne­ti­nėms prog­ra­moms
  • „Apache Cassandra“: ypač tinka dideliems duomenų kiekiams

Kokius pri­va­lu­mus siūlo atskiri DynamoDB al­ter­na­ty­vūs spren­di­mai, išsamiai aptariama nuorodoje pa­teik­ta­me vadove.

Go to Main Menu