Bii o ṣe le ṣalaye fun iya-nla rẹ iyatọ laarin SQL ati NoSQL

Bii o ṣe le ṣalaye fun iya-nla rẹ iyatọ laarin SQL ati NoSQL

Ọkan ninu awọn ipinnu pataki julọ ti olupilẹṣẹ ṣe ni iru data data lati lo. Fun ọpọlọpọ ọdun, awọn aṣayan ni opin si ọpọlọpọ awọn aṣayan data ibatan ibatan ti o ṣe atilẹyin Ede Ibeere Ti a Tito (SQL). Iwọnyi pẹlu MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 ati ọpọlọpọ diẹ sii.

Ni awọn ọdun 15 sẹhin, ọpọlọpọ awọn apoti isura infomesonu tuntun ti wọ ọja labẹ ọna No-SQL. Iwọnyi pẹlu awọn ile itaja iye bọtini bii Redis ati Amazon DynamoDB, awọn apoti isura infomesonu ti o gbooro bi Cassandra ati HBase, awọn ile itaja iwe bi MongoDB ati Couchbase, ati awọn apoti isura infomesonu aworan ati awọn ẹrọ wiwa bi Elasticsearch ati Solr.

Ninu nkan yii, a yoo gbiyanju lati loye SQL ati NoSQL laisi gbigba sinu iṣẹ ṣiṣe wọn.
Pẹlupẹlu, a yoo ni igbadun diẹ ni ọna.

Ti n ṣalaye SQL si Mamamama

Mama agba, fojuinu pe emi kii ṣe ọmọ-ọmọ rẹ nikan. Dipo, Mama ati baba fẹràn ara wọn bi awọn ehoro, wọn ni awọn ọmọ 100, lẹhinna wọn gba 50 diẹ sii.

Nitorinaa, o nifẹ gbogbo wa ati pe o ko fẹ lati gbagbe eyikeyi awọn orukọ wa, awọn ọjọ-ibi, awọn adun yinyin ipara ayanfẹ, awọn iwọn aṣọ, awọn iṣẹ aṣenọju, awọn orukọ iyawo, awọn orukọ ọmọ ati awọn otitọ pataki pataki miiran. Sibẹsibẹ, jẹ ki a koju rẹ. O jẹ ọdun 85 ati pe iranti atijọ ti o dara ko le mu.

Ni Oriire, jije ọlọgbọn julọ ti awọn ọmọ-ọmọ rẹ, Mo le ṣe iranlọwọ. Nitorinaa mo wa si ile rẹ, Mo gbe awọn iwe diẹ jade ati pe Mo beere lọwọ rẹ lati ṣe awọn kuki diẹ ṣaaju ki a to bẹrẹ.

Lori iwe kan, a ṣe atokọ ti a pe ni "omo omo". Gbogbo ọmọ ọmọ ti a gbasilẹ pẹlu diẹ ninu awọn alaye pataki nipa rẹ, pẹlu nọmba alailẹgbẹ kan ti yoo tọka si bayi omo omo oun ni. Bákan náà, nítorí ètò àjọ, a kọ àwọn ànímọ́ tí a dárúkọ sí òkè àtòkọ náà kí a lè mọ irú ìsọfúnni tí àtòkọ náà ní nígbà gbogbo.

id
orukọ
ojo ibi
kẹhin ibewo
iwọn aṣọ
ayanfẹ yinyin ipara
gba

1
Jimmy
09-22-1992
09-01-2019
L
Mint chocolate
èké

2
Jessica
07-21-1992
02-22-2018
M
Rocky opopona
otitọ

… a tẹsiwaju atokọ naa!

Akojọ ti awọn omo omo

Lẹhin igba diẹ, o loye ohun gbogbo ati pe a ti fẹrẹ ṣe pẹlu atokọ naa! Bí ó ti wù kí ó rí, o yíjú sí mi kí o sì sọ pé: “A gbàgbé láti ṣàfikún àyè fún àwọn ọkọ tàbí aya, àwọn eré ìnàjú, àwọn ọmọ-ọmọ!” Ṣugbọn rara, a ko gbagbe! Eyi tẹle siwaju ati pe o nilo iwe tuntun kan.

Nitorinaa Mo fa iwe miiran jade ati lori rẹ a pe atokọ naa Awọn ọkọ iyawo. A tun ṣafikun awọn abuda ti o ṣe pataki si wa si oke atokọ naa ki o bẹrẹ fifi kun ni awọn ori ila.

id
omo omo_id
orukọ
ojo ibi

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

... diẹ sii awọn iyawo!

Akojọ ti awọn oko

Ni ipele yii, Mo ṣalaye fun iya-nla mi pe ti o ba fẹ mọ ẹni ti o ni iyawo si tani, lẹhinna o nilo lati baramu nikan id ninu akojọ omo omo с omo omo_id ninu awọn akojọ ti awọn oko.

Lẹhin awọn kuki mejila mejila, Mo nilo lati sun oorun. "Ṣe o le tẹsiwaju, iya-nla?" Mo n lọ lati sun oorun.

Mo n pada ni awọn wakati diẹ. O dara, iya agba! Ohun gbogbo dabi ẹni nla ayafi fun atokọ naa ifisere. Awọn iṣẹ aṣenọju 1000 wa lori atokọ naa. Pupọ ninu wọn jẹ atunwi; Kini o sele?

omo omo_id
ifisere

1
gigun keke

4
gigun keke

3
gigun keke

7
yen

11
gigun keke

... a tesiwaju!

Ma binu, Mo gbagbe patapata lati sọ! Lilo atokọ kan, o le ṣe orin nikan ifisere. Lẹhinna ninu atokọ miiran a nilo lati wa kakiri omo omoti o nse eyi ifisere. A yoo pe o "Akojọ ti o wọpọ". Ni ri pe o ko fẹran rẹ, Mo ni aibalẹ ati pada si ipo atokọ.

id
ifisere

1
gigun keke

2
yen

3
odo

... diẹ sii awọn iṣẹ aṣenọju!

Akojọ ti awọn iṣẹ aṣenọju

Ni kete ti a ba ni atokọ ifisere wa, a ṣẹda atokọ keji wa ati pe “Awọn iṣẹ aṣenọju ọmọ-ọmọ».

omo omo_id
hobby_id

4
1

3
1

7
2

... siwaju sii!

Akojọ gbogbogbo ti awọn iṣẹ aṣenọju ọmọ ọmọ

Lẹhin gbogbo iṣẹ yii, Mamamama ni bayi ni eto iranti ti o tutu lati tọju gbogbo idile nla ti iyalẹnu. Ati lẹhinna - lati jẹ ki mi pẹ diẹ - o beere ibeere idan: "Nibo ni o kọ lati ṣe gbogbo eyi?"

Awọn apoti isura infomesonu ibatan

Ipamọ data ibatan jẹ ṣeto ti awọn tabili ti a ṣalaye ni deede (ninu apẹẹrẹ wa, iwọnyi jẹ awọn iwe) lati eyiti o le wọle si fifun tabi gba wọn ni awọn ọna oriṣiriṣi laisi nini atunṣe awọn tabili Aaye data. Ọpọlọpọ awọn oriṣiriṣi awọn apoti isura infomesonu ti o ni ibatan lo wa, ṣugbọn laanu atokọ kan lori iwe kan kii ṣe ọkan ninu wọn.

Aami pataki ti awọn ibi ipamọ data ibatan ti o gbajumọ julọ ni ede ibeere SQL (Ede Ibere ​​Ibeere). O ṣeun fun u, ti Mamamama ba gbe eto iranti rẹ si kọnputa, o le yara gba awọn idahun si awọn ibeere bii: “Ta ni ko ṣabẹwo si mi ni ọdun to kọja, ti ni iyawo ti ko ni awọn iṣẹ aṣenọju?”

Ọkan ninu awọn eto iṣakoso data SQL olokiki julọ ni orisun ṣiṣi MySQL. O ti ṣe imuse ni akọkọ bi eto iṣakoso data data ibatan (RDBMS) fun awọn ohun elo sọfitiwia ti o da lori wẹẹbu.

Diẹ ninu awọn ẹya pataki ti MySQL:

  • O jẹ olokiki daradara, lilo pupọ ati idanwo lọpọlọpọ.
  • Ọpọlọpọ awọn olupilẹṣẹ oye ti o ni iriri pẹlu SQL ati awọn apoti isura infomesonu ibatan.
  • Awọn data ti wa ni ipamọ ni orisirisi awọn tabili, eyi ti o mu ki o rọrun lati fi idi ibasepo lilo akọkọ ati ajeji bọtini (idamo).
  • O rọrun lati lo ati lilo daradara, ṣiṣe ni apẹrẹ fun awọn iṣowo nla ati kekere.
  • Koodu orisun wa labẹ awọn ofin ti GNU General Public License.

Bayi gbagbe Gbogbo.

Ti n ṣalaye NoSQL si iya-nla

Mamamama, a ni kan tobi ebi. O ni awọn ọmọ-ọmọ 150! Ọpọlọpọ awọn ti wọn ti wa ni iyawo, ni ọmọ, ni ife ti nkankan ati be be lo. Ni ọjọ ori rẹ, ko ṣee ṣe lati ranti ohun gbogbo nipa gbogbo wa. Ohun ti o nilo ni a iranti eto!

O da, I kii ṣe nfẹ ki o gbagbe ọjọ-ibi mi ati adun ayanfẹ ti yinyin ipara, Mo le ṣe iranlọwọ. Nitorina ni mo ṣe lọ si ile-itaja ti o sunmọ julọ, mu iwe-kikọ kan ki o pada si ile rẹ.

Igbesẹ akọkọ ti mo ṣe ni lati kọ "Awọn ọmọ-ọmọ" ni awọn lẹta igboya nla lori ideri iwe ajako mi. Lẹhinna Mo yipada si oju-iwe akọkọ ati bẹrẹ kikọ ohun gbogbo ti o nilo lati ranti nipa mi. Awọn iṣẹju diẹ lẹhinna, oju-iwe naa n wo nkan bi eleyi.

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

Я: "O dabi pe ohun gbogbo ti ṣetan!"
Mamamama: "Duro, kini nipa awọn ọmọ-ọmọ iyokù?"
Я:" Bẹẹni gangan. Lẹhinna pin oju-iwe kan fun ọkọọkan. ”
Mamamama: "Ṣe Mo nilo lati kọ gbogbo alaye kanna silẹ fun gbogbo eniyan, bi mo ti ṣe fun ọ?"
Я: “Rara, nikan ti o ba fẹ. Jẹ ki n ṣe afihan."
Ni gbigba peni iya-nla mi, Mo yi oju-iwe naa pada ati yara kọ alaye silẹ nipa ibatan ibatan ayanfẹ mi ti o kere julọ.

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

Nigbakugba ti iya-nla kan nilo lati ranti nkan kan nipa ọkan ninu awọn ọmọ-ọmọ rẹ, o nilo nikan lati lọ kiri si oju-iwe ti o tọ ninu iwe akọsilẹ awọn ọmọ ọmọ rẹ. Gbogbo alaye nipa wọn yoo wa ni ipamọ ọtun nibẹ lori oju-iwe wọn, eyiti o le yipada ni kiakia ati imudojuiwọn.

Nigbati ohun gbogbo ba ti ṣe, o beere ibeere idan: "Nibo ni o ti kọ lati ṣe gbogbo eyi?"

NoSQL infomesonu

Won po pupo NoSQL infomesonu ("kii ṣe SQL nikan"). Ninu awọn apẹẹrẹ wa, a ti fihan iwe ipamọ data. NoSQL infomesonu data awoṣe ni awọn ọna ti o ifesi awọn ibaraẹnisọrọ tabili ti a lo ninu awọn data data ibatan. Awọn apoti isura infomesonu wọnyi di olokiki ni ibẹrẹ ọdun 2000 pẹlu awọn ile-iṣẹ ti o nilo iṣupọ data orisun-awọsanma nitori awọn ibeere igbelowọn ti o han gbangba (bii Facebook). Ninu iru awọn ohun elo, aitasera data jẹ pataki pupọ ju iṣẹ ṣiṣe ati iwọn.

Ni ibẹrẹ, awọn apoti isura infomesonu NoSQL nigbagbogbo lo fun awọn iṣẹ ṣiṣe iṣakoso data onakan. Ni ipilẹ, nigbati o wa si oju opo wẹẹbu ati awọn ohun elo awọsanma, awọn apoti isura infomesonu NoSQL ṣe ilana ati pinpin awọn oye data pataki. Awọn onimọ-ẹrọ NoSQL tun fẹran ero data rirọ (tabi aini rẹ) ki awọn ayipada iyara ṣee ṣe ni awọn ohun elo ti a ṣe imudojuiwọn.

Awọn ẹya pataki ti NoSQL:

  • Ọna to rọ pupọ lati tọju data
  • Petele igbelosoke si awọn iṣupọ
  • Owun to le lesese fun itẹramọṣẹ/itankale
  • Awọn iwe aṣẹ ti o jẹ idanimọ nipa lilo awọn bọtini alailẹgbẹ

Alaye lafiwe

MySQL nilo eto asọye ati iṣeto.
NoSQL faye gba o lati fipamọ eyikeyi data ni "iwe".

MySQL ni agbegbe nla kan.
NoSQL ni agbegbe kekere ati idagbasoke ni iyara.

NoSQL rọrun lati ṣe iwọn.
MySQL nilo iṣakoso diẹ sii.

MySQL nlo SQL, eyiti o lo ni ọpọlọpọ awọn iru data data.
NoSQL jẹ apẹrẹ orisun data pẹlu awọn imuse olokiki.

MySQL nlo ede ibeere boṣewa (SQL).
NoSQL ko lo ede ibeere boṣewa.

MySQL ni ọpọlọpọ awọn irinṣẹ ijabọ nla.
NoSQL ni ọpọlọpọ awọn irinṣẹ ijabọ ti o nira lati ṣe iwọn.

MySQL le ṣafihan awọn ọran iṣẹ fun data nla.
NoSQL n pese iṣẹ ṣiṣe ti o dara julọ lori data nla.

Awọn ero 8 mimọ

Ni ile-iṣẹ 8 ipilẹibi ti mo ti ṣiṣẹ, a pese a workspace fun kọọkan ise agbese pẹlu ohun Aurora MySQL database ti gbalejo lori AWS. Lakoko ti NoSQL jẹ yiyan ọgbọn nigbati ohun elo rẹ nilo iṣẹ ṣiṣe giga ati iwọn, a gbagbọ pe aitasera data ti o lagbara ti a pese nipasẹ DBMS jẹ pataki nigbati o ba kọ awọn ohun elo SaaS ati sọfitiwia iṣowo miiran.

Fun awọn ibẹrẹ ati awọn olupilẹṣẹ ile awọn ohun elo iṣowo ti o nilo ijabọ, iduroṣinṣin iṣowo, ati awọn awoṣe data asọye daradara, idoko-owo ni awọn apoti isura data ibatan jẹ, ninu ero wa, yiyan ti o tọ.

Kọ ẹkọ diẹ sii nipa idagbasoke pẹlu Aurora, Serverless ati GraphQL ni 8base.com nibi.

orisun: www.habr.com

Fi ọrọìwòye kun