Ungawuchaza Kanjani Umehluko Phakathi Kwe-SQL ne-NoSQL Kugogo Wakho

Ungawuchaza Kanjani Umehluko Phakathi Kwe-SQL ne-NoSQL Kugogo Wakho

Esinye sezinqumo ezibaluleke kakhulu ezenziwa unjiniyela ukuthi iyiphi isizindalwazi okufanele sisetshenziswe. Iminyaka eminingi, izinketho bezikhawulelwe ezinkethweni zesizindalwazi esihlobene ezisekela Ulimi Oluhlelekile Lombuzo (SQL). Lokhu kufaka phakathi i-MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 nezinye eziningi.

Eminyakeni eyi-15 edlule, kuvele imininingwane eminingi emisha ye-No-SQL emakethe. Lokhu kufaka phakathi izitolo zamanani angukhiye njenge-Redis ne-Amazon DynamoDB, isizindalwazi esibanzi sekholomu efana ne-Cassandra ne-HBase, izitolo zemibhalo ezifana ne-MongoDB ne-Couchbase, kanye nezingosi zolwazi zamagrafu nezinjini zokusesha ezifana ne-Elasticsearch ne-Solr.

Kulesi sihloko sizozama ukuqonda i-SQL ne-NoSQL ngaphandle kokungena ekusebenzeni kwabo.
Futhi, sizojabula kancane kule nqubo.

Echaza uSQL kugogo

Gogo, cabanga ukuthi angiyena ngedwa umzukulu wakho. Kunalokho, uMama noBaba babethandana njengonogwaja, baba nezingane eziyikhulu, base bethatha abanye abangu-100.

Ngakho-ke, uyasithanda sonke futhi awufuni ukukhohlwa noma yimaphi amagama ethu, izinsuku zokuzalwa, ukunambitheka kwe-ayisikhilimu esiyintandokazi, osayizi bezingubo, izinto esizilibazisa ngazo, amagama abantu bomshado, amagama enzalo kanye namanye amaqiniso abaluleke kakhulu. Nokho, ake sibhekane nakho. Uneminyaka engu-85 ubudala futhi inkumbulo enhle endala ayikwazi ukumelana nayo.

Ngenhlanhla, njengoba ngihlakaniphe kakhulu kubazukulu bakho, ngingasiza. Ngakho-ke ngiza endlini yakho, ngikhiphe amaphepha ambalwa futhi ngikucele ukuba ubhake amakhekhe ngaphambi kokuba siqale.

Kwelinye iphepha senza uhlu olubizwa ngokuthi “abazukulu" Njalo umzukulu eqoshwe ngolwazi oluthile olubalulekile mayelana nayo, okuhlanganisa nenombolo eyingqayizivele manje ezokhombisa ukuthi iyiphi umzukulu Ungu. Futhi, ngenxa yokuhleleka, sibhala izimfanelo eziqanjiwe phezulu ohlwini ukuze sihlale sazi ukuthi yiluphi ulwazi oluqukethwe uhlu.

id
Igama
Usuku lokuzalwa
ukuvakasha kokugcina
usayizi wezingubo
u-ayisikhilimu oyintandokazi
yamukelwa

1
Jimmy
09-22-1992
09-01-2019
L
I-mint chocolate
bamanga

2
Jessica
07-21-1992
02-22-2018
M
Umgwaqo onamadwala
weqiniso

...qhubeka nohlu!

Uhlu lwabazukulu

Ngemva kwesikhashana uyakuqonda konke futhi cishe sesiqedile ngohlu! Nokho, uphendukela kimi bese uthi: “Sikhohliwe ukwengeza isikhala sabashade nabo, izinto zokuzilibazisa, abazukulu!” Kodwa cha, asikakhohlwa! Lokhu kulandela okunye futhi kudinga iphepha elisha.

Ngakho ngikhipha elinye iphepha futhi kulo sibiza uhlu Abalingani. Siphinda sengeze izimfanelo ezibalulekile kithi ekuqaleni kohlu futhi siqale ukwengeza emigqeni.

id
umzukulu_id
Igama
Usuku lokuzalwa

1
2
John
06-01-1988

2
9
UFernanda
03-05-1985

...abalingani abaningi!

Uhlu lwabashadile

Kumanje ngichazela ugogo ukuthi uma efuna ukwazi ukuthi ushade nobani kumele aqhathanise. id ohlwini abazukulu с umzukulu_id ohlwini lwabashadile.

Ngemuva kwamakhukhi ambalwa, ngidinga ukuthatha isihlwathi. “Ungaqhubeka, gogo?” Sengihamba ngiyothatha isihlwathi.

Ngizobuya emahoreni ambalwa. Upholile, gogo! Konke kubukeka kukuhle ngaphandle kohlu ukuzilibazisa. Kukhona izinto zokuzilibazisa ezingaba ngu-1000 ohlwini. Iningi lazo liyaphindaphinda; Kwenzenjani?

umzukulu_id
Ukuzilibazisa

1
ngebhayisikili

4
ngebhayisikili

3
ngebhayisikili

7
nokugijima

11
ngebhayisikili

...asiqhubeke!

Uxolo, ngikhohlwe ngokuphelele ukusho! Usebenzisa uhlu olulodwa, ungalandelela kuphela ukuzilibazisa. Khona-ke kolunye uhlu sidinga ukulandelela abazukuluabenza lokhu ukuzilibazisa. Sizoyibiza "Uhlu olujwayelekile". Ngokubona ukuthi awukuthandi, ngiqala ukukhathazeka futhi ngibuyele kumodi yohlu.

id
Ukuzilibazisa

1
ngebhayisikili

2
nokugijima

3
ukubhukuda

...izinto zokuzilibazisa eziningi!

Uhlu lwezinto zokuzilibazisa

Uma sesinohlu lwethu lokuzilibazisa, sakha uhlu lwethu lwesibili futhi silubize "Izinto zokuzilibazisa zabazukulu".

umzukulu_id
i-id_yokuzilibazisa

4
1

3
1

7
2

…Okuningi!

Uhlu olujwayelekile lwezinto zokuzilibazisa zabazukulu

Ngemva kwawo wonke lo msebenzi, uGogo usenesimiso esipholile sokukhumbula umlando womndeni wakhe omkhulu ngendlela emangalisayo. Bese-ke-ukungigcina isikhathi eside - ubuza umbuzo womlingo: "Ufundephi ukwenza konke lokhu?"

Database Relations

Isizindalwazi esihlobene siyisethi yamathebula achazwe ngokusemthethweni (esibonelweni sethu lawa ngamashidi) ongafinyelela kuwo inikezwe noma uwaqoqe ngezindlela ezahlukene ngaphandle kokuhlela kabusha amatafula Isizindalwazi. Kunezinhlobo eziningi ezahlukene zolwazi lwemininingwane yobudlelwano, kodwa ngeshwa uhlu olusephepheni alulona olulodwa lwazo.

Isici esihlukile sesizindalwazi esihlobene kakhulu siwulimi lombuzo i-SQL (Ulimi Oluhlelekile Lombuzo). Ngenxa yalokho, uma ugogo edlulisela isimiso sakhe senkumbulo kukhompyutha, angathola ngokushesha impendulo yemibuzo enjengokuthi: “Ubani ongazange angivakashele ngonyaka odlule, ushadile futhi akanazo izinto zokuzilibazisa?”

Enye yezinhlelo zokuphathwa kwedatha ye-SQL ethandwa kakhulu wumthombo ovulekile we-MySQL. Isetshenziswa ngokuyinhloko njengohlelo lokuphathwa kwedathabhesi ehlobene (RDBMS) yezinhlelo zokusebenza zesoftware esekwe kuwebhu.

Ezinye izici ezibalulekile ze-MySQL:

  • Yaziwa kakhulu, isetshenziswa kabanzi futhi ihlolwe ngokuphelele.
  • Kukhona onjiniyela abaningi abaqeqeshiwe abanolwazi lokusebenza nge-SQL kanye nedathabheyisi yobudlelwano.
  • Idatha igcinwa kumathebula ahlukahlukene, okwenza kube lula ukusungula ubudlelwano usebenzisa okhiye abayinhloko nabangaphandle (izihlonzi).
  • Kulula ukuyisebenzisa futhi iyasebenza, iyenza ilungele amabhizinisi amakhulu namancane.
  • Ikhodi yomthombo ingaphansi kwemigomo ye-GNU General Public License.

Manje khohlwa Konke.

Echaza ngoNoSQL kugogo

Gogo, sinomndeni omkhulu. Kunabazukulu abangu-150 kuyo! Abaningi babo bashadile, banezingane, banesithakazelo kokuthile, njalonjalo. Ebudaleni bakho akunakwenzeka ukukhumbula yonke into ngathi sonke. Okudingayo uhlelo lokukhumbula ngekhanda!

Ngenhlanhla, I hhayi ngifuna ukuthi ukhohlwe usuku lwami lokuzalwa kanye ne-flavour eyintandokazi ka-ayisikhilimu, ngingasiza. Ngakho-ke ngigijimela esitolo esiseduze, ngithathe incwadi yokubhalela bese ngibuyela ekhaya lakho.

Isinyathelo sokuqala engisithathayo ukubhala “Abazukulu” ngezinhlamvu ezinkulu ezigqamile kukhava yencwajana yami yokubhalela. Bese ngivula ikhasi lokuqala bese ngiqala ukubhala konke odinga ukukukhumbula ngami. Ngemva kwemizuzu embalwa ikhasi libukeka kanje.

{ 
  "_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!"
}

Я: “Kubonakala sengathi yonke into isimi ngomumo!”
Umkhulu: "Ima, kuthiwani ngabanye abazukulu?"
Я: "Yebo kunjalo. Bese sinikeza ikhasi ngalinye.”
Umkhulu: "Ingabe kuzodingeka ngibhale phansi lonke ulwazi olufanayo kuwo wonke umuntu njengoba ngenzile kuwe?"
Я: “Cha, kuphela uma ufuna. Ake ngibonise."
Ngithathe ipeni likagogo, ngiphenye ikhasi bese ngibhala ngokushesha imininingwane ngomzala engimthanda kakhulu.

{ 
  "_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"
}

Noma nini lapho ugogo edinga ukukhumbula okuthile ngomunye wabazukulu bakhe, udinga kuphela ukuya ekhasini elifanele encwadini yokubhalela yabazukulu bakhe. Lonke ulwazi ngabo luzogcinwa khona lapho ekhasini labo, angakwazi ukulishintsha ngokushesha futhi alibuyekeze.

Lapho konke sekwenziwe, ubuza umbuzo womlingo: “Ufundephi ukwenza konke lokhu?”

NoSQL Databases

Kuningi NoSQL database ("hhayi nje i-SQL"). Ezibonelweni zethu sibonisile idokhumenti egciniwe. Idatha yemodeli yolwazi lwe-NoSQL ngezindlela ezisusa ubudlelwano betafula obusetshenziswa kusizindalwazi esihlobene. Lezi zingosi zolwazi zaduma ekuqaleni kwawo-2000 phakathi kwezinkampani ezazidinga ukuqoqwa kolwazi olusekelwe emafini ngenxa yezidingo zazo zokukala (isb. Facebook). Kulezo zinhlelo zokusebenza, ukuvumelana kwedatha bekungabalulekanga kangako kunokusebenza nokulinganisa.

Ekuqaleni, imininingwane ye-NoSQL yayivame ukusetshenziselwa imisebenzi yokuphatha idatha ye-niche. Ngokuyisisekelo, uma kukhulunywa ngezinhlelo zokusebenza zewebhu nezefu, imininingwane yolwazi ye-NoSQL yacutshungulwa futhi yasabalalisa amanani abalulekile edatha. Onjiniyela be-NoSQL baphinde bathanda ukuguquguquka kwe-schema yedatha (noma ukuntuleka kwayo) ukuze kube khona izinguquko ezisheshayo ezinhlelweni ezithuthukisiwe.

Izici ezibalulekile ze-NoSQL:

  • Indlela evumelana nezimo kakhulu yokugcina idatha
  • Ukukala okuvundlile kuya kumaqoqo
  • Ukulandelana okungenzeka kokuphikelela/ukusabalalisa
  • Amadokhumenti akhonjwa kusetshenziswa okhiye abahlukile

Ukuqhathanisa okuningiliziwe

I-MySQL idinga i-schema echaziwe nehlelekile.
I-NoSQL ikuvumela ukuthi ugcine noma iyiphi idatha “kudokhumenti”.

I-MySQL isekelwa umphakathi omkhulu.
I-NoSQL inomphakathi omncane futhi okhula ngokushesha.

I-NoSQL kulula ukukala.
I-MySQL idinga ukuphathwa okwengeziwe.

I-MySQL isebenzisa i-SQL, esetshenziswa ezinhlotsheni eziningi zolwazi.
I-NoSQL iyisizindalwazi ngokuklama okusetshenziselwa okudumile.

I-MySQL isebenzisa ulimi olujwayelekile lokubuza (SQL).
I-NoSQL ayisebenzisi ulimi olujwayelekile lokubuza.

I-MySQL inamathuluzi amaningi amakhulu wokubika.
I-NoSQL inamathuluzi amaningana okubika okunzima ukuwamisa.

I-MySQL ingase ibe nezinkinga zokusebenza kwedatha enkulu.
I-NoSQL inikeza ukusebenza okuhle kakhulu kudatha enkulu.

Imicabango 8base

Enkampanini 8base, lapho ngisebenza khona, sinikeza amandla indawo yokusebenza yephrojekthi ngayinye ngesizindalwazi esihlobene se-Aurora MySQL esisingathwa ku-AWS. Nakuba i-NoSQL iyisinqumo esinengqondo lapho izidingo zohlelo lwakho lokusebenza zidinga ukusebenza okuphezulu nokukaleka, sikholelwa ukuthi ukuvumelana kwedatha okuqinile okunikezwa i-DBMS kubalulekile lapho wakha izinhlelo zokusebenza ze-SaaS nezinye isofthiwe yebhizinisi.

Kwabaqalayo nabathuthukisi abakha izinhlelo zokusebenza zebhizinisi ezidinga ukubika, ubuqotho bokwenziwe, namamodeli edatha achazwe kahle, ukutshala imali kusizindalwazi esihlobene, ngokubona kwethu, kuyisinqumo esifanele.

Funda kabanzi mayelana nokuthuthuka nge-Aurora, i-Serverless ne-GraphQL nge-8base.com lapha.

Source: www.habr.com

Engeza amazwana