Viens no svarÄ«gÄkajiem izstrÄdÄtÄja lÄmumiem ir izmantot datu bÄzi. Daudzus gadus iespÄjas bija ierobežotas ar dažÄdÄm relÄciju datu bÄzes opcijÄm, kas atbalstÄ«ja strukturÄto vaicÄjumu valodu (SQL). Tie ietver MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 un daudzas citas.
PÄdÄjo 15 gadu laikÄ tirgÅ« ir ienÄkuÅ”as daudzas jaunas datu bÄzes saskaÅÄ ar No-SQL pieeju. Tie ietver atslÄgu vÄrtÄ«bu veikalus, piemÄram, Redis un Amazon DynamoDB, plaÅ”as kolonnu datu bÄzes, piemÄram, Cassandra un HBase, dokumentu veikalus, piemÄram, MongoDB un Couchbase, un grafiku datu bÄzes un meklÄtÄjprogrammas, piemÄram, Elasticsearch un Solr.
Å ajÄ rakstÄ mÄs centÄ«simies izprast SQL un NoSQL, neiedziļinoties to funkcionalitÄtÄ.
TurklÄt mÄs pa ceļam izklaidÄsimies.
SQL skaidroÅ”ana vecmÄmiÅai
VecmÄmiÅ, iedomÄjies, ka es neesmu tavs vienÄ«gais mazdÄls. TÄ vietÄ mamma un tÄtis mÄ«lÄja viens otru kÄ zaÄ·us, viÅiem bija 100 bÄrni, tad viÅi adoptÄja vÄl 50.
TÄtad, jÅ«s mÄ«lat mÅ«s visus un nevÄlaties aizmirst nevienu no mÅ«su vÄrdiem, dzimÅ”anas dienÄm, iecienÄ«tÄkajÄm saldÄjuma garÅ”Äm, apÄ£Ärbu izmÄriem, hobijiem, laulÄto vÄrdiem, pÄcnÄcÄju vÄrdiem un citiem Ä«paÅ”i svarÄ«giem faktiem. TomÄr atzÄ«sim. Jums ir 85 gadi, un vecÄ labÄ atmiÅa vienkÄrÅ”i netiek galÄ.
Par laimi, bÅ«dams gudrÄkais no taviem mazbÄrniem, varu palÄ«dzÄt. TÄpÄc es nÄku uz jÅ«su mÄju, izÅemu dažas papÄ«ra loksnes un lÅ«dzu, pirms mÄs sÄkam izcept dažus cepumus.
Uz vienas papÄ«ra lapas mÄs izveidojam sarakstu ar nosaukumu "MazbÄrni". Katrs mazdÄls ierakstÄ«ts ar kÄdu nozÄ«mÄ«gu informÄciju par viÅu, tostarp unikÄlu numuru, kas tagad norÄdÄ«s, kÄ mazdÄls viÅÅ” ir. OrganizÄcijas labad mÄs saraksta augÅ”pusÄ izrakstÄm nosauktos atribÅ«tus, lai mÄs vienmÄr zinÄtu, kÄda informÄcija ir sarakstÄ.
id
nosaukums
dzimŔanas diena
pÄdÄjÄ vizÄ«te
apÄ£Ärba izmÄrs
mīļÄkais saldÄjums
pieÅemts
1
Džimijs
09-22-1992
09-01-2019
L
piparmÄtru Å”okolÄde
nepatiess
2
Jessica
07-21-1992
02-22-2018
M
akmeÅains ceļŔ
patiess
...turpinÄm sarakstu!
MazbÄrnu saraksts
PÄc kÄda laika jÅ«s visu saprotat, un mÄs esam gandrÄ«z pabeiguÅ”i sarakstu! TomÄr jÅ«s vÄrÅ”aties pie manis un sakÄt: "MÄs aizmirsÄm atvÄlÄt vietu laulÄtajiem, vaļaspriekiem, mazbÄrniem!" Bet nÄ, mÄs neesam aizmirsuÅ”i! Tas notiek tÄlÄk, un ir nepiecieÅ”ama jauna papÄ«ra lapa.
TÄpÄc es izvelku vÄl vienu papÄ«ra lapu, un uz tÄs mÄs saucam sarakstu LaulÄtie. MÄs atkal pievienojam mums svarÄ«gos atribÅ«tus saraksta augÅ”daÄ¼Ä un sÄkam pievienot rindas.
id
mazbÄrna_id
nosaukums
dzimŔanas diena
1
2
John
06-01-1988
2
9
Fernanda
03-05-1985
ā¦vairÄk laulÄto!
LaulÄto saraksts
Å ajÄ posmÄ es paskaidroju savai vecmÄmiÅai, ka, ja viÅa vÄlas zinÄt, kurÅ” ar kuru ir precÄjies, tad viÅai tikai jÄsakrÄ«t. id sarakstÄ mazbÄrni Ń mazbÄrna_id laulÄto sarakstÄ.
PÄc pÄris desmitiem cepumu man vajag pasnaust. "Vai varat turpinÄt, vecmÄmiÅ?" Aizeju pasnausties.
Es atgriezÄ«Å”os pÄc dažÄm stundÄm. Tu esi forÅ”a, vecmÄmiÅ! Viss izskatÄs lieliski, izÅemot sarakstu hobijs. SarakstÄ ir aptuveni 1000 vaļasprieku. LielÄkÄ daļa no tiem atkÄrtojas; Kas notika?
mazbÄrna_id
hobijs
1
riteÅbraukÅ”anas
4
riteÅbraukÅ”anas
3
riteÅbraukÅ”anas
7
ekspluatÄcijas
11
riteÅbraukÅ”anas
...turpinÄm!
Atvainojiet, es pavisam aizmirsu pateikt! Izmantojot vienu sarakstu, varat tikai izsekot hobijs. Tad citÄ sarakstÄ mums ir jÄizseko mazbÄrnikas to dara hobijs. MÄs to sauksim "KopÄjais saraksts". Redzot, ka jums tas nepatÄ«k, es satraucos un atgriežos saraksta režīmÄ.
id
hobijs
1
riteÅbraukÅ”anas
2
ekspluatÄcijas
3
peldÄÅ”ana
...vairÄk vaļasprieku!
Vaļasprieku saraksts
Kad mums ir savs hobiju saraksts, mÄs izveidojam savu otro sarakstu un saucam to par "MazbÄrnu vaļasprieki'.
mazbÄrna_id
hobija_id
4
1
3
1
7
2
ā¦vairÄk!
VispÄrÄjs mazbÄrnu hobiju saraksts
PÄc visa Ŕī darba vecmÄmiÅai tagad ir lieliska atmiÅas sistÄma, lai izsekotu visai savai pÄrsteidzoÅ”i lielajai Ä£imenei. Un tad - lai mani paturÄtu ilgÄk - viÅa uzdod maÄ£isko jautÄjumu: "Kur tu iemÄcÄ«jies to visu darÄ«t?"
RelÄciju datu bÄzes
RelÄciju datu bÄze ir formÄli aprakstÄ«tu tabulu kopa (mÅ«su piemÄrÄ tÄs ir lapas), no kurÄm varat piekļūt SaskaÅÄ ar vai savÄkt tos dažÄdos veidos, nepÄrkÄrtojot tabulas Datu bÄze. Ir daudz dažÄdu relÄciju datu bÄzu veidu, bet diemžÄl saraksts uz papÄ«ra nav viens no tiem.
PopulÄrÄko relÄciju datu bÄzu iezÄ«me ir SQL (strukturÄtÄ vaicÄjuma valoda) vaicÄjumu valoda. Pateicoties viÅam, vecmÄmiÅa, pÄrliekot savu atmiÅas sistÄmu uz datoru, var Ätri saÅemt atbildes uz tÄdiem jautÄjumiem kÄ: āKurÅ” mani pagÄjuÅ”ajÄ gadÄ neapciemoja, ir precÄjies un viÅam nav vaļasprieku?ā
Viena no populÄrÄkajÄm SQL datu bÄzes pÄrvaldÄ«bas sistÄmÄm ir atvÄrtÄ koda MySQL. TÄ tiek ieviesta galvenokÄrt kÄ relÄciju datu bÄzes pÄrvaldÄ«bas sistÄma (RDBMS) tÄ«mekļa programmatÅ«ras lietojumprogrammÄm.
Dažas galvenÄs MySQL funkcijas:
- Tas ir diezgan labi zinÄms, plaÅ”i izmantots un plaÅ”i pÄrbaudÄ«ts.
- Ir daudzi kvalificÄti izstrÄdÄtÄji, kuriem ir pieredze ar SQL un relÄciju datu bÄzÄm.
- Dati tiek glabÄti dažÄdÄs tabulÄs, kas ļauj viegli izveidot attiecÄ«bas, izmantojot primÄrÄs un ÄrÄjÄs atslÄgas (identifikatorus).
- Tas ir Ärti lietojams un efektÄ«vs, tÄpÄc tas ir ideÄli piemÄrots lieliem un maziem uzÅÄmumiem.
- Uz pirmkodu attiecas GNU vispÄrÄjÄs publiskÄs licences noteikumi.
Tagad aizmirsti Visi.
NoSQL skaidroÅ”ana vecmÄmiÅai
VecmÄmiÅ, mums ir milzÄ«ga Ä£imene. ViÅai ir 150 mazbÄrni! Daudzi no viÅiem ir precÄjuÅ”ies, viÅiem ir bÄrni, viÅiem kaut kas patÄ«k un tÄ tÄlÄk. TavÄ vecumÄ nav iespÄjams atcerÄties visu par mums visiem. Jums ir nepiecieÅ”ama atmiÅas sistÄma!
Par laimi, es nÄ Es vÄlos, lai jÅ«s aizmirstat manu dzimÅ”anas dienu un iecienÄ«tÄko saldÄjuma garÅ”u, es varu palÄ«dzÄt. TÄpÄc es skrienu uz tuvÄko veikalu, paÅemu piezÄ«mju grÄmatiÅu un atgriežos tavÄ mÄjÄ.
Pirmais solis, ko speru, ir uz piezÄ«mju grÄmatiÅas vÄka ar lieliem trekniem burtiem uzrakstÄ«t "MazbÄrni". Tad es uzŔķiru pirmo lapu un sÄku rakstÄ«t visu, kas par mani jÄatceras. PÄc dažÄm minÅ«tÄm lapa izskatÄs apmÄram Å”Ädi.
{
"_id":"dkdigiye82gd87gd99dg87gd",
"name":"Cody",
"birthday":"09-12-2006",
"last_visit":"09-02-2019",
"clothing_size":"XL",
"favorite_ice_cream":"Fudge caramel",
"adopted":false,
"hobbies":[
"video games",
"computers",
"cooking"
],
"spouse":null,
"kids":[
],
"favorite_picture":"file://scrapbook-103/christmas-2010.jpg",
"misc_notes":"Prefers ice-cream cake on birthday instead of chocolate cake!"
}
ŠÆ: "Å Ä·iet, ka viss ir gatavs!"
ŠŠ°Š±ŃŃŠŗŠ°: "Pagaidi, kÄ ar pÄrÄjiem mazbÄrniem?"
ŠÆ: "JÄ tieÅ”i tÄ. PÄc tam pieŔķiriet katram vienu lapu.
ŠŠ°Š±ŃŃŠŗŠ°: āVai man vajadzÄs visiem pierakstÄ«t visu to paÅ”u informÄciju, ko es darÄ«ju par jums?ā
ŠÆ: "NÄ, tikai tad, ja vÄlaties. Ä»aujiet man parÄdÄ«t."
PaÄ·Ärusi vecmÄmiÅas pildspalvu, pÄrŔķiru lapu un Ätri pierakstu informÄciju par savu vismazÄk mīļÄko brÄlÄnu.
{
"_id":"dh97dhs9b39397ss001",
"name":"Tanner",
"birthday":"09-12-2008",
"clothing_size":"S",
"friend_count":0,
"favorite_picture":null,
"remember":"Born on same day as Cody but not as important"
}
Ikreiz, kad vecmÄmiÅai kaut kas jÄatceras par kÄdu no saviem mazbÄrniem, viÅai atliek tikai pÄrvietoties uz pareizo lappusi savu mazbÄrnu piezÄ«mju grÄmatiÅÄ. Visa informÄcija par viÅiem tiks saglabÄta turpat viÅu lapÄ, kuru viÅa var Ätri mainÄ«t un atjauninÄt.
Kad viss ir izdarÄ«ts, viÅa uzdod maÄ£isko jautÄjumu: "Kur tu mÄcÄ«jies to visu darÄ«t?"
NoSQL datu bÄzes
Ir daudz NoSQL datu bÄzes (āne tikai SQLā). Savos piemÄros mÄs esam parÄdÄ«juÅ”i dokumentu datu bÄze. NoSQL datu bÄzes modelÄ datus tÄ, lai izslÄgtu relÄciju datu bÄzÄs izmantotÄs tabulu attiecÄ«bas. Å Ä«s datu bÄzes kļuva populÄras 2000. gadu sÄkumÄ ar uzÅÄmumiem, kuriem bija nepiecieÅ”ama mÄkoÅdatu datu bÄzu klasterizÄcija to precÄ«zo mÄrogoÅ”anas prasÄ«bu dÄļ (piemÄram, Facebook). Å ÄdÄs lietojumprogrammÄs datu konsekvence bija daudz mazÄk svarÄ«ga nekÄ veiktspÄja un mÄrogojamÄ«ba.
SÄkumÄ NoSQL datu bÄzes bieži tika izmantotas niÅ”as datu pÄrvaldÄ«bas uzdevumiem. BÅ«tÄ«bÄ, runÄjot par tÄ«mekļa un mÄkoÅa lietojumprogrammÄm, NoSQL datu bÄzes apstrÄdÄja un izplatÄ«ja ievÄrojamus datu apjomus. NoSQL inženieriem patika arÄ« elastÄ«gÄ datu shÄma (vai tÄs trÅ«kums), lai atjauninÄtajÄs lietojumprogrammÄs bÅ«tu iespÄjamas straujas izmaiÅas.
GalvenÄs NoSQL funkcijas:
- Ä»oti elastÄ«gs veids, kÄ uzglabÄt datus
- HorizontÄlÄ mÄrogoÅ”ana lÄ«dz klasteriem
- IespÄjama secÄ«ba katrai noturÄ«bai/izplatÄ«bai
- Dokumenti, kas tiek identificÄti, izmantojot unikÄlas atslÄgas
DetalizÄts salÄ«dzinÄjums
MySQL nepiecieÅ”ama definÄta un strukturÄta shÄma.
NoSQL ļauj saglabÄt jebkurus datus "dokumentÄ".
MySQL ir milzīga kopiena.
NoSQL ir maza un strauji augoŔa kopiena.
NoSQL ir viegli mÄrogojams.
MySQL nepiecieÅ”ama lielÄka pÄrvaldÄ«ba.
MySQL izmanto SQL, ko izmanto daudzu veidu datu bÄzÄs.
NoSQL ir uz datu bÄzÄm balstÄ«ts dizains ar populÄrÄm implementÄcijÄm.
MySQL izmanto standarta vaicÄjumu valodu (SQL).
NoSQL neizmanto standarta vaicÄjumu valodu.
MySQL ir daudz lielisku pÄrskatu rÄ«ku.
NoSQL ir vairÄki ziÅoÅ”anas rÄ«ki, kurus ir grÅ«ti standartizÄt.
MySQL var parÄdÄ«t veiktspÄjas problÄmas lielajiem datiem.
NoSQL nodroÅ”ina izcilu veiktspÄju lielos datos.
Domas 8base
UzÅÄmums
UzsÄcÄjiem un izstrÄdÄtÄjiem, kas veido biznesa lietojumprogrammas, kurÄm nepiecieÅ”ama atskaite, darÄ«jumu integritÄte un labi definÄti datu modeļi, mÅ«suprÄt, ieguldÄ«jumi relÄciju datu bÄzÄs ir pareizÄ izvÄle.
Uzziniet vairÄk par izstrÄdi ar Aurora, Serverless un GraphQL vietnÄ 8base.com
Avots: www.habr.com