Ungamcacisela njani umakhulu wakho umahluko phakathi kweSQL kunye neNoSQL

Ungamcacisela njani umakhulu wakho umahluko phakathi kweSQL kunye neNoSQL

Esinye sezona zigqibo zibalulekileyo ezenziwa ngumphuhlisi kukuba yeyiphi i-database enokusetyenziswa. Kwiminyaka emininzi, iinketho bezikhawulelwe kwiinketho ezahlukeneyo zesiseko sedatha ezixhasa iStructured Query Language (SQL). Ezi ziquka i-MS SQL Server, i-Oracle, i-MySQL, i-PostgreSQL, i-DB2 kunye nezinye ezininzi.

Kwiminyaka eyi-15 edlulileyo, ezininzi iinkcukacha ezintsha ziye zangena kwimarike phantsi kwendlela ye-No-SQL. Ezi zibandakanya izitolo zexabiso eziphambili ezifana neRedis kunye ne-Amazon DynamoDB, i-database yekholamu ebanzi efana ne-Cassandra kunye ne-HBase, izitolo zamaxwebhu ezifana ne-MongoDB kunye ne-Couchbase, kunye ne-database yegrafu kunye neenjini zokukhangela ezifana ne-Elasticsearch kunye ne-Solr.

Kweli nqaku, siya kuzama ukuqonda iSQL kunye neNoSQL ngaphandle kokungena ekusebenzeni kwabo.
Ukongeza, siza konwaba endleleni.

Ukucacisa iSQL kuMakhulu

Makhulu khawufane ucinge ukuba andingomzukulwana wakho ndedwa. Endaweni yoko, umama notata babethandana njengemivundla, babenabantwana abali-100, emva koko bamkela abanye abangama-50.

Ke, uyasithanda sonke kwaye awufuni ukulibala naliphi na igama lethu, imihla yokuzalwa, iincasa ze-ayisikrimu esizithandayo, ubungakanani bempahla, izinto esizonwabisa ngazo, amagama amaqabane, amagama enzalo kunye nezinye iinyani ezibalulekileyo. Nangona kunjalo, masijongane nayo. Uneminyaka engama-85 ubudala kwaye inkumbulo entle endala ayinakukwazi ukuyiphatha.

Ngethamsanqa, ukuba ngoyena ukrelekrele kubazukulwana bakho, ndingakunceda. Ndifike endlini yakho, ndikhuphe amaphepha ndicela ubhake amaqebengwana phambi kokuba siqale.

Kwelinye iphepha, senza uluhlu olubizwa ngokuba "abazukulwana". Yonke umzukulwana ebhalwe ngenkcazelo ebalulekileyo ngaye, kuquka nenani elahlukileyo eliza kubonisa ukuba njani umzukulwana ngu. Kwakhona, ngenxa yombutho, sibhala iimpawu ezibiziweyo phezulu kuluhlu ukuze sihlale sisazi ukuba loluphi ulwazi oluqulathwe luluhlu.

id
igama
usuku lokuzalwa
utyelelo lokugqibela
ubungakanani bempahla
ice cream oyithandayo
yamkelwe

1
Jimmy
09-22-1992
09-01-2019
L
itshokolethi eminti
amanga

2
Jessica
07-21-1992
02-22-2018
M
indlela enamatye
oyinyaniso

…siqhubeka noluhlu!

Uluhlu lwabazukulwana

Emva kwexesha, uyayiqonda yonke into kwaye sele sigqibile ngoluhlu! Nangona kunjalo, uguqukela kum uthi: "Silibele ukongeza indawo kumaqabane, izinto zokuzonwabisa, abazukulwana!" Kodwa hayi, khange silibale! Oku kulandela ngakumbi kwaye kufuna iphepha elitsha.

Ngoko ke ndikhupha elinye iphepha kwaye kulo sibiza uluhlu Amaqabane. Siphinda songeze iimpawu ezibalulekileyo kuthi phezulu kwoluhlu kwaye uqale ukongeza kwimiqolo.

id
umzukulwana_id
igama
usuku lokuzalwa

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

…amaqabane amaninzi!

Uluhlu lwamaqabane

Kweli nqanaba, ndiyamcacisela umakhulu ukuba ufuna ukwazi ukuba ngubani otshatileyo, kufuneka adibanise kuphela. id kuluhlu abazukulwana с umzukulwana_id kuluhlu lwamaqabane.

Emva kweshumi elinesibini lamaqebengwana, kufuneka ndilale. "Ungaqhubeka makhulu?" Ndiyahamba ndiyokuphumla.

Ndiyabuya emva kweyure ezimbalwa. Upholile, makhulu! Yonke into ibonakala ilungile ngaphandle koluhlu yokuzilibazisa. Kukho malunga ne-1000 lezinto zokuzonwabisa kuluhlu. Uninzi lwazo luyaphindaphinda; Kwenzeke ntoni?

umzukulwana_id
Yokuzilibazisa

1
ngesithuthuthu

4
ngesithuthuthu

3
ngesithuthuthu

7
ukubaleka

11
ngesithuthuthu

…siyaqhubeka!

Uxolo, ndilibele ngokupheleleyo ukuthi! Usebenzisa uluhlu olunye, unokulandelela kuphela yokuzilibazisa. Ke kolunye uluhlu kufuneka silandele umkhondo abazukulwanaabakwenzayo oku yokuzilibazisa. Siza kuyibiza "Uluhlu oluqhelekileyo". Ndibona ukuba awuyithandi, ndiba nexhala kwaye ndibuyele kwimo yoluhlu.

id
Yokuzilibazisa

1
ngesithuthuthu

2
ukubaleka

3
yokuqubha

…izinto zokuzonwabisa ezingakumbi!

Uluhlu lwezinto zokuzonwabisa

Nje ukuba sinoluhlu lwethu lokuzilibazisa, senza uluhlu lwethu lwesibini kwaye siyibize "Izinto zokuzonwabisa zabazukulwana».

umzukulwana_id
hobby_id

4
1

3
1

7
2

…Kaninzi!

Uluhlu olubanzi lwezinto zokuzonwabisa zabazukulwana

Emva kwawo wonke lo msebenzi, ngoku uMakhulu unenkqubo epholileyo yokukhumbula ukugcina umkhondo walo lonke usapho lwakhe olukhulu ngokumangalisayo. Kwaye ke-ukundigcina ixesha elide - ubuza umbuzo womlingo: "Ufunde phi ukwenza konke oku?"

Oovimba beenkcukacha zonxibelelwano

Isiseko sedatha esinxulumeneyo yiseti yeetafile ezichazwe ngokusesikweni (kumzekelo wethu, la ngamashiti) onokufikelela kuwo. inikiwe okanye uziqokelele ngeendlela ezahlukeneyo ngaphandle kokuhlengahlengisa iitafile Isiseko sedatha. Kukho iintlobo ezininzi ezahlukeneyo zogcino-lwazi olunxulumeneyo, kodwa ngelishwa uluhlu olusephepheni alukho olunye.

Uphawu oludumileyo lweenkcukacha zolwazi olunxulumeneyo lulwimi lombuzo lwe-SQL (Ulwimi oluLuliweyo lwemibuzo). Ndiyabulela kuye, ukuba uMakhulu udlulisela inkqubo yakhe yokukhumbula izinto ekhompyutheni, ngokukhawuleza unokufumana iimpendulo kwimibuzo enjengale: “Ngubani ongazange andityelele kulo nyaka uphelileyo, utshatile yaye akanazo izinto azithandayo?”

Enye yezona nkqubo zidumileyo zolawulo lwedatha yeSQL ngumthombo ovulekileyo weMySQL. Iphunyezwa ngokuyintloko njengenkqubo yolawulo lwesiseko sedatha (RDBMS) kwizicelo zesoftware esekwe kwiwebhu.

Ezinye izinto eziphambili zeMySQL:

  • Yaziwa ngokufanelekileyo, isetyenziswa ngokubanzi kwaye ivavanywa ngokubanzi.
  • Baninzi abaphuhlisi abanezakhono abanamava ngeSQL kunye noovimba beenkcukacha zobudlelwane.
  • Idatha igcinwe kwiitheyibhile ezahlukeneyo, okwenza kube lula ukuseka ubudlelwane usebenzisa izitshixo eziphambili kunye nezangaphandle (izazisi).
  • Kulula ukuyisebenzisa kwaye iyasebenza, iyenza ilungele amashishini amakhulu namancinci.
  • Ikhowudi yomthombo iphantsi kwemigaqo ye-GNU Jikelele yeLayisensi yoLuntu.

Ngoku libala ZONKE.

Echaza uNoSQL kumakhulu

Makhulu, sinosapho olukhulu. Unabazukulwana abali-150! Abaninzi kubo batshatile, banabantwana, bathanda into ethile njalo njalo. Kwiminyaka yakho, akunakwenzeka ukukhumbula yonke into ngathi sonke. Into oyifunayo yinkqubo yememori!

Ngethamsanqa, I hayi ndifuna ukuba ulibale usuku lwam lokuzalwa kunye nencasa endiyithandayo ye-ayisikrimu, ndingakunceda. Ngoko ke ndibalekela kwivenkile ekufutshane, ndithathe incwadi yokubhalela ndibuyele endlwini yakho.

Inyathelo lokuqala endilithathayo kukubhala "abazukulwana" ngoonobumba abakhulu abangqindilili kwiqweqwe lencwadana yam. Emva koko ndiya kwiphepha lokuqala kwaye ndiqale ukubhala yonke into oyifunayo ukuyikhumbula ngam. Kwimizuzu embalwa kamva, iphepha lijongeka ngolu hlobo.

{ 
  "_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 ngathi yonke into ilungile!"
Inkulukazi: "Yima, bathini abanye abazukulwana?"
Я: "Ewe kanye. Emva koko wabele iphepha elinye kwinqaku ngalinye.
Inkulukazi: “Ngaba kuza kufuneka ndibhale phantsi lonke ulwazi olufanayo kumntu wonke, njengoko ndenzile kuwe?”
Я: “Hayi, kuphela ukuba uyafuna. Makhe ndikubonise."
Ndibambe usiba lukamakhulu wam, ndatyhila iphepha ndaza ndabhala ngokukhawuleza ulwazi ngomzala wam ongoyena mzala wam endimthandayo.

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

Nanini na xa umakhulu efuna ukukhumbula okuthile ngomnye wabazukulwana bakhe, kufuneka ajonge kwiphepha elifanelekileyo kwincwadi yamanqaku yabazukulwana bakhe. Lonke ulwazi malunga nabo luya kugcinwa khona kanye kwiphepha labo, anokuthi alitshintshe ngokukhawuleza kwaye alihlaziye.

Xa yonke into yenziwe, ubuza umbuzo womlingo: "Ufunde phi ukwenza konke oku?"

Oovimba beenkcukacha ze-NoSQL

Zininzi Oovimba beenkcukacha ze-NoSQL ("hayi nje iSQL"). Kwimizekelo yethu, sibonisile uxwebhu lwedatha. Imodeli yedatha yedatha ye-NoSQL ngeendlela ezingabandakanyi ubudlelwane betafile obusetyenziswa kwiidatha zobudlelwane. Ezi nkcukacha zogcino-lwazi ziye zaduma ekuqaleni kweminyaka yee-2000 kunye neenkampani ezifuna ukuhlanganiswa kwesiseko se-database esekelwe kwifu ngenxa yeemfuno zabo ezicacileyo zokulinganisa (njenge-Facebook). Kwizicelo ezinjalo, ukuhambelana kwedatha bekungabalulekanga kakhulu kunokusebenza kunye nokulinganisa.

Ekuqaleni, i-database ye-NoSQL yayisoloko isetyenziselwa imisebenzi yokulawula idatha ye-niche. Ngokusisiseko, xa kufikwa kwiwebhu kunye nezicelo zefu, ii-database ze-NoSQL zicutshungulwe kwaye zasasaza amanani abalulekileyo edatha. Iinjineli zeNoSQL nazo zathanda i-schema yedatha eguquguqukayo (okanye ukungabikho kwayo) ukwenzela ukuba utshintsho olukhawulezayo lunokwenzeka kwizicelo ezihlaziyiweyo.

Iimpawu eziphambili zeNoSQL:

  • Indlela ebhetyebhetye kakhulu yokugcina idatha
  • Ukulinganisa okuthe tye ukuya kumaqela
  • Ulandelelwano olunokwenzeka ngokuzingisa/ukusasazeka
  • Amaxwebhu achongwe kusetyenziswa izitshixo ezizodwa

Uthelekiso oluneenkcukacha

I-MySQL ifuna i-schema echaziweyo kunye nesakhiwo.
I-NoSQL ikuvumela ukuba ugcine nayiphi na idatha kwi "document".

I-MySQL inoluntu olukhulu.
I-NoSQL inoluntu oluncinci kwaye olukhula ngokukhawuleza.

I-NoSQL kulula ukuyilinganisa.
I-MySQL idinga ulawulo olungakumbi.

I-MySQL isebenzisa iSQL, esetyenziswa kwiintlobo ezininzi zogcino-lwazi.
I-NoSQL luyilo olusekwe kwisiseko sedatha kunye nokuphunyezwa okudumileyo.

I-MySQL isebenzisa ulwimi oluqhelekileyo lombuzo (SQL).
I-NoSQL ayisebenzisi ulwimi oluqhelekileyo lombuzo.

I-MySQL inezixhobo ezininzi zokunika ingxelo.
I-NoSQL inezixhobo ezininzi zokunika ingxelo ekunzima ukuzimisa.

I-MySQL ingabonisa imiba yokusebenza kwidatha enkulu.
I-NoSQL ibonelela ngokusebenza okugqwesileyo kwidatha enkulu.

Iingcamango 8base

Kwinkampani 8isisekoapho ndisebenza khona, sibonelela ngendawo yokusebenza yeprojekthi nganye enesiseko sedatha esihlobene ne-Aurora MySQL ebanjwe kwi-AWS. Ngelixa i-NoSQL ilukhetho olunengqiqo xa isicelo sakho sifuna ukusebenza okuphezulu kunye nokulinganisa, sikholelwa ukuba ukuhambelana kwedatha okunamandla okubonelelwa yi-DBMS kubalulekile xa kwakhiwa izicelo ze-SaaS kunye nezinye isofthiwe yezoshishino.

Kubaqalisi kunye nabaphuhlisi abakha izicelo zoshishino ezifuna ingxelo, intembeko yentengiselwano, kunye nemodeli yedatha echazwe kakuhle, utyalo-mali kwiinkcukacha zolwazi olunxulumeneyo, ngokombono wethu, ukhetho olufanelekileyo.

Funda ngakumbi malunga nokuphuhlisa nge-Aurora, i-Serverless kunye ne-GraphQL kwi-8base.com apha.

umthombo: www.habr.com

Yongeza izimvo