Meriv Cûdahiya Di navbera SQL û NoSQL de ji dapîra xwe re rave dike

Meriv Cûdahiya Di navbera SQL û NoSQL de ji dapîra xwe re rave dike

Yek ji biryarên herî girîng ên ku pêşdebirek digire ev e ku kîjan databas bikar bîne. Ji gelek salan ve, vebijark bi vebijarkên cihêreng ên databasa pêwendiyê yên ku piştgirî didin Zimanê Pirsa Structured (SQL) sînorkirî bûn. Di nav wan de MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 û gelekên din hene.

Di van 15 salên borî de, gelek databasên nû yên No-SQL li sûkê derketine. Di nav wan de firotgehên girîng ên wekî Redis û Amazon DynamoDB, databasên stûnên berfireh ên wekî Cassandra û HBase, firotgehên belgeyên wekî MongoDB û Couchbase, û databasên grafîkî û motorên lêgerînê yên wekî Elasticsearch û Solr hene.

Di vê gotarê de em ê hewl bidin ku SQL û NoSQL bêyî ku têkevin fonksiyonên wan fêm bikin.
Wekî din, em ê di pêvajoyê de hinekî kêfê bikin.

Ravekirina SQL ji dapîrê re

Dapîr, bifikire ku ez ne neviyê te tenê me. Di şûna wê de, dê û bavên hev mîna kêvroşkan ji hev hez kirin, 100 zarokên wan hebûn, paşê 50 zarokên din qebûl kirin.

Ji ber vê yekê, hûn ji me hemiyan hez dikin û naxwazin navên me, rojbûn, çêjên qeşayê yên bijare, mezinahiyên kincan, hobî, navên hevjînan, navên dûndanan û rastiyên din ên pir girîng ji bîr nekin. Lê belê, em vê yekê rûdinin. Tu 85 salî yî û hafizeya berê ya baş tenê nikarî bi ser keve.

Xwezî, ez di nav neviyên we de jîrtirîn im, ez dikarim alîkariyê bikim. Ji ber vê yekê ez têm mala we, çend pelên kaxez derdixim û ji we dipirsim ku berî ku em dest pê bikin çend çerezan bipêjin.

Li ser yek kaxezek em navnîşek bi navê "Neviyên" Herkes nebî bi hin agahdariya bingehîn di derbarê wê de hatî tomar kirin, di nav de jimareyek yekta ku naha dê kîjan destnîşan bike nebî ew heye. Di heman demê de, ji bo xatirê rêxistinê, em taybetmendiyên binavkirî li serê navnîşê dinivîsin da ku em her gav zanibin ku navnîş çi agahdarî dihewîne.

id
nav
rojbûn
serdana dawî
mezinahiya cilan
ice-cream favorite
xwedîkirî

1
Jimmy
09-22-1992
09-01-2019
L
Çîkolata mint
şaş

2
Jessica
07-21-1992
02-22-2018
M
Rêya kevirî
rast

...lîsteyê berdewam bike!

Lîsteya neviyên

Piştî demekê hûn her tiştî fêm dikin û em hema navnîşê qedandin! Lêbelê, hûn li min vedigerin û dibêjin: "Me ji bîr kir ku cîh ji hevser, hobî, neviyan re zêde bikin!" Lê na, me ji bîr nekir! Ev bêtir li pey dike û kaxezek nû hewce dike.

Ji ber vê yekê ez kaxezek din derdixim û li ser wê em navê navnîşê dikin Hevjîn. Em dîsa taybetmendiyên ku ji me re girîng in li destpêka navnîşê zêde dikin û dest bi lêzêdekirina rêzikan dikin.

id
neviyê_id
nav
rojbûn

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

... bêtir hevjîn!

Lîsteya hevjînan

Di vê qonaxê de, ez ji dapîra xwe re rave dikim ku ger ew bixwaze bizane kî bi kê re zewicî ye, wê hingê ew tenê hewce dike ku bide ber hev. id di lîsteyê de neviyên с neviyê_id di lîsteya hevjînan de.

Piştî çend deh çerezan, ji min re xewnek pêdivî ye. "Tu dikarî berdewam bikî, dapîr?" Ez ji bo razanê diçim.

Ez ê di çend saetan de vegerim. Tu xweş î, dapîr! Ji bilî navnîşê her tişt xweş xuya dike karkêfî. Di lîsteyê de nêzî 1000 hobî hene. Piraniya wan dûbare ne; Çi bûye?

neviyê_id
karkêfî

1
bisiklêtan

4
bisiklêtan

3
bisiklêtan

7
running

11
bisiklêtan

... em berdewam bikin!

Bibore, min bi tevahî ji bîr kir ku bêjim! Bi karanîna yek navnîşê, hûn tenê dikarin bişopînin karkêfî. Dûv re di navnîşek din de divê em bişopînin neviyênyên ku vî karî dikin karkêfî. Em ê bang lê bikin "Lîsteya hevpar". Dibînim ku hûn jê hez nakin, ez dest bi fikaran dikim û vedigerim moda navnîşê.

id
karkêfî

1
bisiklêtan

2
running

3
swimming

... more hobbies!

Lîsteya hobîyan

Dema ku me navnîşa hobiya me hebe, em navnîşa xweya duyemîn diafirînin û jê re dibêjin "Hobiyên neviyan".

neviyê_id
hobby_id

4
1

3
1

7
2

…zêde!

Lîsteya giştî ya hobiyên neviyan

Piştî van hemî xebatan, dapîr naha xwedan pergalek bîranînê ya xweş e ji bo şopandina malbata xwe ya ecêb mezin. Û paşê - ji bo ku ez dirêjtir bimînim - ew pirsa sêrbaz dipirse: "Tu li ku fêr bû ku hûn van tiştan bikin?"

Daneyên Têkilî

Databasa pêwendiyek komek tabloyên fermî ye (di mînaka me de ev pel in) ku hûn dikarin jê bigihîjin dayîn an jî bêyî ku ji nû ve organîzekirina maseyan wan bi awayên cihêreng berhev bikin Database. Gelek celebên databasên pêwendîdar hene, lê mixabin navnîşek li ser kaxezek ne yek ji wan e.

Taybetmendiyek cihêreng a databasên pêwendiyê yên herî populer, zimanê pirsê SQL (Zimanê Structured Query) ye. Bi saya wê, ger dapîrê pergala xwe ya bîranînê veguhezt ser kompîturê, wê dikaribû zû bersiva pirsên wekî: "Kî sala borî neçû seredana min, zewicî ye û hobiyên wî tune?"

Yek ji pergalên rêveberiya databasa SQL ya herî populer çavkaniya vekirî MySQL ye. Ew di serî de wekî pergala rêveberiya databasa têkildar (RDBMS) ji bo serîlêdanên nermalava-based web-ê tête bicîh kirin.

Hin taybetmendiyên sereke yên MySQL:

  • Ew pir baş tê zanîn, bi berfirehî tê bikar anîn û bi tevahî ceribandin.
  • Gelek pêşdebirên jêhatî hene ku xwedî ezmûn in ku bi SQL û databasên têkildar re dixebitin.
  • Daneyên di tabloyên cihêreng de têne hilanîn, ku bi karanîna bişkojkên bingehîn û biyanî (nasname) avakirina pêwendiyan hêsan dike.
  • Bikaranîna wê hêsan û bandorker e, ji bo karsaziyên mezin û piçûk wê îdeal e.
  • Koda çavkanî di bin şertên Lîsansa Giştî ya GNU de ye.

Niha ji bîr bike HEM.

Ravekirina NoSQL ji dapîrê re

Dapîr, malbateke me ya mezin heye. 150 neviyên wê hene! Gelek ji wan zewicî ne, zarokên wan hene, bi tiştekî re eleqedar dibin û hwd. Di temenê we de ne mimkûn e ku hûn her tiştî li ser me hemîyan bînin bîra xwe. Ya ku hûn hewce ne pergalek bîranînê ye!

Xwezî, I ne Ez dixwazim ku hûn rojbûna min û bîhnfirehiya xweya bijare ya qeşayê ji bîr bikin, ez dikarim alîkariyê bikim. Ji ber vê yekê ez direvim ber dikana herî nêzîk, defterekê hildigirim û vedigerim mala te.

Yekem gava ku ez diavêjim ew e ku li ser bergê deftera xwe bi tîpên stûr "Nevî" binivîsim. Dûv re ez dizivirim rûpela yekem û dest bi nivîsandina her tiştê ku divê hûn li ser min bînin bîra xwe dinivîsim. Piştî çend deqeyan rûpel tiştek bi vî rengî xuya dike.

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

Я: "Wusa dixuye ku her tişt amade ye!"
Grandma: "Bisekine, neviyên din çi ye?"
Я: "Belê tam. Piştre em ji bo her yekê rûpelek veqetînin.”
Grandma: "Gelo ez ê neçar bim ku ji bo her kesî hemî agahdariya ku min ji we re kir binivîsim?"
Я: “Na, tenê tu bixwazî. Bila ez nîşan bidim."
Ez pênûsa dapîra xwe hildigirim, rûpelê dizivirînim û bi lez agahdariya pismamê xwe yê herî kêm hezkirî dinivîsim.

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

Dema ku dapîr hewce dike ku tiştek li ser yek ji neviyên xwe bîne bîra xwe, ew tenê hewce dike ku here rûpela rast a deftera neviyên xwe. Hemî agahdariya li ser wan dê li wir li ser rûpelê wan were hilanîn, ku ew dikare zû biguhezîne û nûve bike.

Dema ku her tişt tê kirin, ew pirsa sêrbaz dike: "Tu li ku fêr bû ku hûn van tiştan bikin?"

Daneyên NoSQL

Pir hene Databasên NoSQL ("ne tenê SQL"). Di mînakên xwe de me nîşan da databasa belgeyê. Databasên NoSQL daneyan bi awayên ku têkiliyên tabloyê yên ku di databasên têkildar de têne bikar anîn hilweşînin model dikin. Van databasan di destpêka salên 2000-an de di nav pargîdaniyên ku ji ber hewcedariyên wan ên berbiçav ên pîvandinê (wek mînak Facebook) hewceyê berhevkirina databasa-based ewr de populer bûn. Di serîlêdanên weha de, hevgirtina daneyê ji performans û pîvandinê pir kêmtir girîng bû.

Di destpêkê de, databasên NoSQL bi gelemperî ji bo karên rêveberiya daneya niche dihatin bikar anîn. Di bingeh de, dema ku ew hat ser sepanên tevn û ewr, databasên NoSQL jimarek girîng a daneyê pêvajo kirin û belav kirin. Endezyarên NoSQL di heman demê de ji nermbûna şema daneyê (an kêmbûna wê) jî ecibandin da ku di serîlêdanên nûvekirî de guhertinên bilez mimkun bûn.

Taybetmendiyên sereke yên NoSQL:

  • Rêbazek pir maqûl ji bo hilanîna daneyan
  • Pîvana asoyî ji bo koman
  • Rêzeya gengaz a ji bo domandin / belavbûnê
  • Belgeyên ku bi karanîna mifteyên yekta têne nas kirin

Berhevdana berfireh

MySQL nexşeyek diyarkirî û sazkirî hewce dike.
NoSQL dihêle hûn her daneyê di "belge" de hilînin.

MySQL ji hêla civakek mezin ve tê piştgirî kirin.
NoSQL xwedan civakek piçûk û bi lez mezin dibe.

NoSQL pîvana hêsan e.
MySQL bêtir rêvebirinê hewce dike.

MySQL SQL bikar tîne, ku di gelek celeb databasan de tê bikar anîn.
NoSQL ji hêla sêwiranê ve bi pêkanînên populer databasek e.

MySQL zimanê pirsê standard (SQL) bikar tîne.
NoSQL zimanek pirsê standard bikar nayîne.

MySQL gelek amûrên ragihandinê yên mezin hene.
NoSQL gelek amûrên raporkirinê hene ku standardîzekirina wan dijwar e.

Dibe ku MySQL ji bo daneyên mezin pirsgirêkên performansê hebe.
NoSQL li ser daneyên mezin performansa hêja peyda dike.

Ramanên 8 bingeh

Di şirketê de 8 bingeh, cihê ku ez lê dixebitim, em cîhê xebata her projeyê bi databasek pêwendiya Aurora MySQL ya ku li ser AWS-ê hatî mêvandar kirin hêzdar dikin. Dema ku NoSQL hilbijartinek mentiqî ye dema ku hewcedariyên serîlêdana we performansa bilind û mezinbûn hewce dike, em bawer dikin ku hevgirtina daneya bihêz a ku ji hêla DBMS ve hatî peyda kirin dema ku serîlêdanên SaaS û nermalava karsaziya din ava dike pêdivî ye.

Ji bo destpêk û pêşdebiran ku serîlêdanên karsaziyê ava dikin ku hewceyê rapor, yekparebûna danûstendinê, û modelên daneya xweş diyarkirî ne, veberhênana li databasên têkildar, li gorî me, bijareya rast e.

Di derbarê pêşkeftina bi Aurora, Serverless û GraphQL bi 8base.com re bêtir fêr bibin vir.

Source: www.habr.com

Add a comment