Ahoana no hanazavana amin'ny renibenao ny fahasamihafana misy eo amin'ny SQL sy NoSQL

Ahoana no hanazavana amin'ny renibenao ny fahasamihafana misy eo amin'ny SQL sy NoSQL

Ny iray amin'ireo fanapahan-kevitra manan-danja indrindra raisin'ny mpamorona dia ny angon-drakitra ampiasaina. Nandritra ny taona maro, ny safidy dia voafetra amin'ny safidy angon-drakitra mifandraika isan-karazany izay nanohana ny Structured Query Language (SQL). Anisan'izany ny MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 sy ny maro hafa.

Tao anatin'ny 15 taona lasa, maro ireo angona vaovao no niditra an-tsena tamin'ny fomba No-SQL. Anisan'izany ny fivarotana manan-danja toa an'i Redis sy Amazon DynamoDB, angon-drakitra tsanganana midadasika toa an'i Cassandra sy HBase, fivarotana antontan-taratasy toa an'i MongoDB sy Couchbase, ary angona angona sy milina fikarohana toa an'i Elasticsearch sy Solr.

Amin'ity lahatsoratra ity dia hiezaka ny hahatakatra ny SQL sy NoSQL isika nefa tsy miditra amin'ny asany.
Fanampin'izay, hanana fahafinaretana isika eny an-dalana.

Manazava SQL amin'i Nenibe

Bebe, alaivo sary an-tsaina hoe tsy zafinao irery aho. Nifankatia toy ny bitro kosa i Dada sy Neny, nanan-janaka 100, avy eo nanangana 50 hafa.

Noho izany, tia anay rehetra ianao ary tsy te hanadino ny anaranay, fitsingerenan'ny andro nahaterahana, tsiro gilasy ankafizinay, haben'ny akanjo, fialamboly, anaran'ny vady, anaran'ny taranaka ary zava-misy manan-danja hafa. Na izany aza, andao hiatrika izany. 85 taona ianao ary tsy zakanao ny fahatsiarovana taloha.

Soa ihany fa izaho no marani-tsaina indrindra amin'ireo zafikelinao, afaka manampy aho. Ka tonga any an-tranonao aho, maka taratasy kely ary mangataka anao hanendasany mofomamy alohan'ny hanombohantsika.

Amin'ny taratasy iray dia manao lisitra antsoina hoe "zafikeliny". rehetra zafikeliny voarakitra miaraka amin'ny fampahalalana manan-danja momba azy, anisan'izany ny isa tokana izay hanondro ny fomba zafikeliny izy dia. Ary koa, ho an'ny fandaminana, dia manoratra ireo toetra voatonona eo an-tampon'ny lisitra izahay mba hahafantarantsika hatrany izay fampahalalana misy ao amin'ny lisitra.

id
anarana
fitsingerenan'ny andro nahaterahana
fitsidihana farany
haben'ny akanjo
gilasy tiany indrindra
nolaniana

1
Jimmy
09-22-1992
09-01-2019
L
sΓ΄kΓ΄la solila
diso

2
Jessica
07-21-1992
02-22-2018
M
Lalana be vato
marina

… manohy ny lisitra izahay!

Lisitry ny zafikely

Rehefa afaka kelikely dia azonao ny zava-drehetra ary saika vita ny lisitra! Nitodika tamiko anefa ianao ary niteny hoe: β€œAdinonay ny nanampy toerana ho an’ny mpivady, fialam-boly, zafikely!” Fa tsia, tsy adinonay! Manaraka izany ary mitaky taratasy vaovao.

Noho izany dia mamoaka taratasy hafa aho ary eo amboniny dia antsoina hoe lisitra mpivady. Ampidirinay eo an-tampon'ny lisitra indray ireo toetra manan-danja amintsika ary manomboka manampy andalana.

id
grandchild_id
anarana
fitsingerenan'ny andro nahaterahana

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

…vady bebe kokoa!

Lisitry ny vady

Amin'ity dingana ity dia hazavaiko amin'ny renibeko fa raha te-hahafantatra izay manambady an'iza izy dia mila mifanandrify fotsiny. id ao anaty lisitra zafikeliny с grandchild_id ao amin'ny lisitry ny vady.

Aorian'ny cookies am-polony roa dia mila matory aho. "Afaka manohy ve ianao ry bebe?" Handeha hatory aho.

Hiverina aho afaka ora vitsivitsy. Tsara ianao ry bebe a! Toa tsara daholo ny zava-drehetra afa-tsy ny lisitra fialam-boly. Misy fialamboly 1000 eo ho eo ao anaty lisitra. Ny ankamaroany dia miverimberina; Misy inona?

grandchild_id
fialam-boly

1
mitaingina bisikileta

4
mitaingina bisikileta

3
mitaingina bisikileta

7
mihazakazaka

11
mitaingina bisikileta

… mitohy isika!

Miala tsiny fa hadinoko tanteraka ny niteny! Amin'ny fampiasana lisitra iray dia azonao atao ny manara-maso fialam-boly. Avy eo amin'ny lisitra iray hafa dia mila manara-maso isika zafikelinyizay manao izany fialam-boly. Hantsoinay izany "Lisitra mahazatra". Hitako fa tsy tianao izany, dia miahiahy aho ary miverina amin'ny fomba lisitra.

id
fialam-boly

1
mitaingina bisikileta

2
mihazakazaka

3
milomano

… fialamboly bebe kokoa!

Lisitry ny fialam-boly

Rehefa manana lisitry ny fialam-boly izahay dia mamorona lisitra faharoa izahay ary miantso azy io "Ny fialam-bolan'ny zafikeliny".

grandchild_id
hobby_id

4
1

3
1

7
2

…Bebe kokoa!

Lisitry ny fialam-boly ankapoben'ny zafikeliny

Taorian'ireo asa rehetra ireo, dia manana rafitra fitadidiana mangatsiatsiaka izao i Bebe mba hanaraha-maso ny fianakaviany manontolo. Ary avy eo - mba hitazonana ahy ela kokoa - dia manontany ilay fanontaniana mahagaga izy: "Taiza ianao no nianatra nanao izany rehetra izany?"

Angon-drakitra mifandraika

Ny angon-drakitra relational dia andian-databatra voafaritra ara-dalΓ na (amin'ny ohatra asehontsika, ireo dia takelaka) izay azonao idirana. tahirin-kevitra na manangona azy ireo amin'ny fomba isan-karazany tsy mila mandamina ny latabatra banky angona. Misy karazany maro ny angon-drakitra mifandraika, saingy indrisy fa ny lisitra amin'ny taratasy iray dia tsy iray amin'izy ireo.

Ny mari-pamantarana amin'ny angon-drakitra fifandraisana malaza indrindra dia ny fiteny query SQL (Structured Query Language). Misaotra azy, raha mamindra ny rafitra fitadidiany amin'ny ordinatera i Bebe, dia afaka mahazo valiny haingana amin'ny fanontaniana toy ny hoe: "Iza no tsy nitsidika ahy tamin'ny taon-dasa, manambady ary tsy manana fialamboly?"

Ny iray amin'ireo rafitra fitantanana angona SQL malaza indrindra dia ny MySQL open source. Izy io dia ampiharina amin'ny maha-rafitra fitantanana angon-drakitra mifandraika (RDBMS) ho an'ny rindranasa rindrambaiko mifototra amin'ny tranonkala.

Ny endri-javatra manan-danja sasany amin'ny MySQL:

  • Tena fantatra tsara izy io, ampiasaina betsaka ary notsapaina fatratra.
  • Betsaka ny mpamorona mahay manana traikefa amin'ny SQL sy angona fifandraisana.
  • Ny angon-drakitra dia voatahiry amin'ny tabilao isan-karazany, izay manamora ny fametrahana fifandraisana amin'ny fampiasana fanalahidy fototra sy vahiny (famantarana).
  • Mora ampiasaina sy mahomby izy io, ka mety tsara ho an'ny orinasa lehibe sy kely.
  • Ny kaody loharano dia eo ambanin'ny fepetran'ny GNU General Public License.

Adino izao ALL.

Manazava ny NoSQL amin'ny renibe

Bebe, manana fianakaviana lehibe izahay. Manana zafikely 150 izy! Maro amin'izy ireo no manambady, manan-janaka, tia zavatra sy ny sisa. Amin'ny taonanao dia tsy afaka mitadidy ny momba antsika rehetra. Ny ilainao dia rafitra fitadidiana!

Soa ihany fa I tsy te hanadino anao ny fitsingerenan'ny andro nahaterahana sy ny tsiron'ny gilasy tiako indrindra, afaka manampy aho. Noho izany dia mihazakazaka mankany amin'ny fivarotana akaiky indrindra aho, maka kahie ary miverina any an-tranonao.

Ny dingana voalohany ataoko dia ny manoratra "Zafikely" amin'ny litera lehibe miondrika eo amin'ny fonon'ny kahieko. Avy eo aho dia mamadika ny pejy voalohany ary manomboka manoratra izay rehetra tokony ho tadidinao momba ahy. Minitra vitsy taty aoriana dia toa toy izao ny pejy.

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

Π―: β€œToa efa vonona ny zava-drehetra!”
renibeny: "Andraso, ahoana ny amin'ny zafikeliny?"
Π―: β€œEny tokoa. Avy eo dia omeo pejy iray ho an’ny tsirairay avy.”
renibeny: β€œTsy maintsy soratako ve ny fampahalalana mitovy rehetra ho an'ny rehetra, tahaka ny nataoko taminao?”
Π―: β€œTsia, raha tianao ihany. Avelao aho hampiseho."
Noraisiko ny penin'ny renibeko, namadika ilay pejy aho ary nanoratra haingana momba ny zanak'olo-mpiray tam-po tiako indrindra.

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

Isaky ny mila mahatadidy zavatra momba ny zafikeliny iray ny renibe iray, dia mila mandeha any amin'ny pejy havanana ao amin'ny kahien'ny zafikeliny fotsiny izy. Ny fampahalalana rehetra momba azy ireo dia hotehirizina ao amin'ny pejiny, izay azony ovaina sy havaozina haingana.

Rehefa vita ny zava-drehetra, dia mametraka fanontaniana mahagaga izy: "Taiza ianao no nianatra nanao izany rehetra izany?"

Databases NoSQL

Misy maro Databases NoSQL (β€œtsy SQL fotsiny”). Ao amin'ny ohatra asehontsika dia nasehontsika tahirin-kevitra. Ny angon-drakitra NoSQL dia mamolavola angon-drakitra amin'ny fomba izay manilika ny fifandraisan'ny latabatra ampiasaina amin'ny angona relational. Nalaza ireo angon-drakitra ireo tamin'ny fiandohan'ny taona 2000 niaraka tamin'ireo orinasa mila fanangonana angon-drakitra mifototra amin'ny rahona noho ny fepetra takian'izy ireo mazava (toy ny Facebook). Amin'ny fampiharana toy izany, ny fifanarahan'ny data dia tsy dia zava-dehibe loatra noho ny fampisehoana sy ny scalability.

Tany am-piandohana, ny angon-drakitra NoSQL dia matetika ampiasaina amin'ny asa fitantanana angona niche. Amin'ny ankapobeny, raha ny momba ny tranonkala sy ny rahona, ny angon-drakitra NoSQL dia namatsy sy nizara angon-drakitra marobe. Tian'ny injeniera NoSQL ihany koa ny skema angon-drakitra azo esorina (na ny tsy fisian'izany) ka azo natao ny fanovana haingana tamin'ny fampiharana nohavaozina.

Ny endri-javatra lehibe amin'ny NoSQL:

  • Fomba tena mora mitahiry angona
  • Fisondrotana mitsivalana mankany amin'ny cluster
  • Azo atao ny filaharana isaky ny fikirizana/fiparitahana
  • Ireo antontan-taratasy fantatra amin'ny fampiasana fanalahidy tokana

fampitahana amin'ny antsipiriany

Mila schema voafaritra sy voarafitra ny MySQL.
Ny NoSQL dia ahafahanao mitahiry angona ao anaty "document".

MySQL dia manana vondrom-piarahamonina lehibe.
NoSQL dia manana vondrom-piarahamonina kely sy mitombo haingana.

Ny NoSQL dia mora apetraka.
Mila fitantanana bebe kokoa ny MySQL.

Ny MySQL dia mampiasa SQL, izay ampiasaina amin'ny karazana tahiry maro.
NoSQL dia famolavolana mifototra amin'ny angona misy fampiharana malaza.

MySQL dia mampiasa fiteny query mahazatra (SQL).
Ny NoSQL dia tsy mampiasa fiteny fangatahana mahazatra.

MySQL dia manana fitaovana fitateram-baovao lehibe maro.
Ny NoSQL dia manana fitaovana fitateram-baovao maromaro izay sarotra ny manara-penitra.

Ny MySQL dia afaka mampiseho olana momba ny fahombiazan'ny data lehibe.
NoSQL dia manome fampisehoana tsara amin'ny angon-drakitra lehibe.

Thoughts 8 base

Ao amin'ny orinasa 8 baseizay iasako dia manome toeram-piasana ho an'ny tetikasa tsirairay izahay miaraka amin'ny angon-drakitra fifandraisana Aurora MySQL ampiantranoina ao amin'ny AWS. Na dia safidy lojika aza ny NoSQL rehefa mitaky fampandehanana avo lenta sy scalability ny fampiharanao, dia mino izahay fa ny tsy fitoviana matanjaka omen'ny DBMS dia tena ilaina rehefa manangana rindranasa SaaS sy rindrambaiko fandraharahana hafa.

Ho an'ny fanombohana sy mpamorona manorina rindranasa fandraharahana izay mitaky tatitra, fahamendrehana ara-barotra, ary modely angon-drakitra voafaritra tsara, ny fampiasam-bola amin'ny angon-drakitra mifandraika dia, araka ny hevitray, no safidy tsara.

Mianara bebe kokoa momba ny fampandrosoana miaraka amin'i Aurora, Serverless ary GraphQL ao amin'ny 8base.com eto.

Source: www.habr.com

Add a comment