E faʻafefea ona faʻamatalaina i lou tinamatua le eseesega i le va o SQL ma NoSQL

E faʻafefea ona faʻamatalaina i lou tinamatua le eseesega i le va o SQL ma NoSQL

O se tasi o fa'ai'uga sili ona taua e faia e le tagata fa'atupu o le fa'amaumauga lea e fa'aoga. Mo le tele o tausaga, o filifiliga sa fa'atapula'a i le tele o feso'ota'iga fa'amaumauga fa'amaumauga e lagolagoina Structured Query Language (SQL). E aofia ai le MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 ma le tele o isi.

I le 15 tausaga talu ai, e tele faʻamaumauga fou No-SQL ua faʻaalia i luga o le maketi. O nei mea e aofia ai faleoloa taua-taua pei o Redis ma Amazon DynamoDB, faʻamaumauga lautele faʻamaumauga e pei o Cassandra ma HBase, faleoloa pepa e pei o MongoDB ma Couchbase, ma faʻamaumauga kalafi ma masini suʻesuʻe e pei ole Elasticsearch ma Solr.

I lenei tusiga o le a tatou taumafai e malamalama i le SQL ma le NoSQL e aunoa ma le oʻo i totonu o latou galuega.
Ma le isi, o le a tatou maua sina fiafia i le faagasologa.

Fa'amatala SQL i tinamatua

Tinamatua, manatu faapea e le na o au le atalii o lau fanau. Ae, sa alofa le tasi i le isi e pei o lapiti, e 100 fanau, ona toe vaetamaina lea o le isi 50.

O lea, e te alofa ia i matou uma ma e te le manaʻo e faʻagaloina soʻo se igoa, aso fanau, meaʻai aisakulimi e sili ona fiafia i ai, lapopoa o lavalava, mea e fiafia i ai, igoa o taitoalua, igoa o fanau ma isi mea moni sili ona taua. Peitaʻi, seʻi o tatou fesagaʻia. Ua 85 ou tausaga ma o lou manatua lelei ua le mafai ona gafatia.

O le mea e laki ai, ona o a'u o se tagata sili ona popoto o fanau a lau fanau, e mafai ona ou fesoasoani atu. O lea ou te sau i lou fale, ave i fafo ni nai pepa ma fai atu ia te oe e tao ni kuki ae tatou te lei amata.

I luga o le tasi laupepa matou te faia ai se lisi e taʻua "Fanau a fanau" Ta'itasi tama a loʻu tama fa'amaumauina ma nisi fa'amatalaga taua e uiga i ai, e aofia ai se numera tulaga ese o le a fa'ailoa mai nei po'o fea atalii o le atalii o ia lava. E le gata i lea, mo le lelei o le faʻalapotopotoga, matou te tusia igoa faʻaigoaina i le pito i luga o le lisi ina ia matou iloa i taimi uma le faʻamatalaga o loʻo i ai i le lisi.

id
igoa
aso fanau
asiasiga mulimuli
tele lavalava
aisa kulimi e sili ona fiafia iai
talia

1
Jimmy
09-22-1992
09-01-2019
L
Mint sukalati
sese

2
Jessica
07-21-1992
02-22-2018
M
Auala papa
moni

...faaauau le lisi!

Lisi o fanau a fanau

A maeʻa sina taimi e te faʻavasega uma ma ua toeitiiti uma le lisi! Ae ui i lea, e te liliu mai ia te aʻu ma fai mai: "Ua galo ia i matou le faʻaopoopoina o avanoa mo taitoalua, mea e fiafia i ai, fanau a fanau!" Ae leai, matou te le faagaloina! E soso'o ai ma mana'omia se pepa fou.

O lea ou te toso mai ai i fafo se isi fasipepa ma i luga e taʻua ai le lisi taitoalua. Matou te toe faʻaopoopoina uiga taua ia i matou i le amataga o le lisi ma amata faʻaopoopo i laina.

id
grandchild_id
igoa
aso fanau

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

...tele taitoalua!

Lisi o taitoalua

I lenei laʻasaga, ou te faʻamatala atu i loʻu tinamatua afai na te fia iloa poʻo ai ua faaipoipo i ai, ona naʻo le mea e manaʻomia ona ia faʻatusatusa. id i le lisi fanau a fanau с grandchild_id i le lisi o taitoalua.

A uma le lua sefulu kuki, ou te manaʻomia se malologa. “E mafai ona e faaauau, tinamatua?” Ou te alu e fai se malologa.

O le a ou toe foʻi mai i ni nai itula. E lelei lou tinamatua! E foliga lelei mea uma vagana ai le lisi mea faʻafiafia. E tusa ma le 1000 mea e fiafia i ai i le lisi. O le tele o ia mea e fai soo; O le a le mea ua tupu?

grandchild_id
mausa

1
tietie uila

4
tietie uila

3
tietie uila

7
tamoʻe

11
tietie uila

...se'i faaauau!

Faamalie atu, ua galo atoa ona ou fai atu! Fa'aaoga le lisi e tasi, e na'o lou siaki mea faʻafiafia. Ona i ai lea i se isi lisi e tatau ona tatou siaki fanau a fanauo lo o faia lenei mea mea faʻafiafia. O le a tatou faaigoa "Lisi masani". I le va'aia e te le fiafia i ai, ua amata ona ou popole ma toe fo'i i le lisi lisi.

id
mausa

1
tietie uila

2
tamoʻe

3
aau

...tele mea fiafia!

Lisi o mea e fiafia i ai

O le taimi lava e maua ai la matou lisi mea e fiafia i ai, matou te faia la matou lisi lona lua ma taʻua "O mea e fiafia i ai fanau a fanau".

grandchild_id
hobby_id

4
1

3
1

7
2

…sili atu!

Lisi lautele o mea e fiafia i ai fanau a fanau

I le maea ai o nei galuega uma, ua maua nei e Tinamatua se masini manatua lelei mo le siakiina o lona aiga maoae tele. Ona sosoo ai lea - ia faʻaumiina aʻu - na ia fesili i le fesili faʻataulāitu: "O fea na e aʻoaʻo ai e fai nei mea uma?"

Fa'amaumauga o feso'ota'iga

Ose feso'ota'iga fa'amaumauga o se seti o laulau fa'amatala aloaia (i la matou fa'ata'ita'iga o pepa ia) e mafai ona e mauaina tuuina atu pe aoina i latou i auala eseese e aunoa ma le toe faatulagaina o laulau Fa'amaumauga. E tele ituaiga eseese o feso'ota'iga fa'amaumauga, ae paga lea o se lisi i luga o se fasipepa e le o se tasi oi latou.

O se vaega fa'apitoa o fa'amaumauga feso'ota'iga sili ona lauiloa o le gagana fesili SQL (Structured Query Language). Faʻafetai i ai, afai e faʻafeiloaʻi e tinamatua lana masini manatua i le komepiuta, e mafai ona vave maua se tali i fesili e pei o: "O ai na le asiasi mai ia te aʻu i le tausaga ua teʻa, ua faaipoipo ma e leai ni mea e fiafia i ai?"

O se tasi o faiga sili ona lauiloa o le SQL database management system o le open source MySQL. O lo'o fa'atinoina muamua e avea o se faiga fa'atautaia fa'amaumauga tu'ufa'atasiga (RDBMS) mo fa'aoga polokalame fa'akomepiuta i luga ole laiga.

O nisi vaega taua o MySQL:

  • E fai si lauiloa, fa'aaoga lautele ma fa'ata'ita'iina mae'ae'a.
  • E tele atina'e agavaa o lo'o i ai le poto masani e galulue ai ma SQL ma feso'ota'iga fa'amaumauga.
  • O faʻamaumauga o loʻo teuina i laulau eseese, lea e faigofie ai ona faʻavae sootaga e faʻaaoga ai ki autu ma fafo (identifiers).
  • E faigofie ona faʻaoga ma aoga, ma faʻamaonia mo pisinisi tetele ma laiti.
  • O lo'o i lalo ole tulafono ole tulafono ole GNU General Public License.

Ia galo nei UMA.

Fa'amatala le NoSQL i tinamatua

Tinamatua, e toatele lo matou aiga. E 150 fanau a fanau i totonu! O le toatele o i latou ua faaipoipo, ua fai fanau, ua fiafia i se mea, ma isi. I lou matua e le mafai ona manatua mea uma e uiga ia i tatou uma. O le mea e te manaʻomia o se faiga tauloto!

O le mea e lelei ai, o aʻu i lou manao ia e faagalo lo'u aso fanau ma le tofo asikulimi e sili ona ou fiafia i ai, e mafai ona ou fesoasoani. O lea ou te tamoe i le faleoloa lata ane, ave se api ma toe foi i lou fale.

O le laasaga muamua ou te faia o le tusi lea o “Afanau a Fanau” i mataitusi tetele tetele i luga o le faavaa o lau api. Ona ou liliu lea i le itulau muamua ma amata ona tusi mea uma e te manaʻomia e manatua e uiga ia te aʻu. A mae'a ni nai minute e fa'apea le itulau.

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

Я: “E foliga mai ua saunia mea uma!”
Tinamatua: “Faatali, ae faapefea isi fanau a fanau?”
Я: “Ioe tonu lava. Ona matou vaevaeina lea o se itulau mo taʻitasi.”
Tinamatua: "E tatau ona ou tusia i lalo faʻamatalaga tutusa uma mo tagata uma e pei ona ou faia mo oe?"
Я: “Leai, pe afai e te manao ai. Sei ou faaali atu."
Ma ave le peni a lo'u tinamatua, ou te susueina le itulau ma tusi vave i lalo faamatalaga e uiga i lo'u tausoga e sili ona ou fiafia i ai.

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

Soo se taimi lava e manaomia ai e tinamatua se mea e manatua e uiga i se tasi o fanau a lana fanau, e na o le alu lava i le itulau sao i le api a fanau a lana fanau. O faʻamatalaga uma e uiga ia i latou o le a teuina iina i luga o la latou itulau, lea e mafai ona vave suia ma faʻafouina.

A maeʻa mea uma, na ia fesili atu i le fesili faʻataulāitu: "O fea na e aʻoaʻo ai e fai nei mea uma?"

NoSQL Fa'amaumauga

E tele NoSQL fa'amaumauga (“e le na o SQL”). I a matou faʻataʻitaʻiga na matou faʻaalia fa'amaumauga fa'amaumauga. NoSQL database faʻataʻitaʻiga faʻamatalaga i auala e faʻaumatia ai sootaga laulau faʻaaogaina i faʻamaumauga fesoʻotaʻiga. O nei faʻamaumauga na lauiloa i le amataga o le 2000s i kamupani na manaʻomia le faʻapipiʻiina o faʻamaumauga i luga o le ao ona o latou manaʻoga faʻapitoa (eg Facebook). I ia fa'aoga, o le fa'atumauina o fa'amaumauga sa sili atu le taua nai lo le fa'atinoga ma le fa'ateleina.

I le amataga, o NoSQL database sa masani ona faʻaaogaina mo galuega faʻatautaia o faʻamatalaga. O le mea moni, pe a oʻo mai i luga o upega tafaʻilagi ma faʻaoga ao, NoSQL faʻamaumauga na faʻatautaia ma tufatufa atu le tele o faʻamaumauga. Na fiafia foi inisinia NoSQL i le fetuutuunai o le fuafuaga o faʻamaumauga (poʻo le leai o se mea) ina ia mafai ai ona vave suiga i talosaga faʻaleleia.

O mea taua ole NoSQL:

  • O se auala sili ona fetuutuunai e teu ai faʻamatalaga
  • Fa'asa'o fa'asaga i fuifui
  • Fa'asologa talafeagai mo le fa'aauau/fa'asalalauina
  • Pepa e fa'ailoa e fa'aaoga ai ki tulaga ese

Fa'atusatusaga fa'apitoa

MySQL e manaʻomia se fuafuaga faʻamalamalamaina ma faʻatulagaina.
NoSQL fa'atagaina oe e teu so'o se fa'amatalaga i totonu o se "pepa".

MySQL e lagolagoina e se faʻalapotopotoga tele.
O le NoSQL o loʻo i ai se faʻalapotopotoga laʻititi ma faʻavavevave.

NoSQL e faigofie ona fua.
E manaʻomia e MySQL le faʻaogaina atili.

MySQL faʻaaoga SQL, lea e faʻaaogaina i le tele o ituaiga o faʻamaumauga.
O le NoSQL o se faʻamaumauga e ala i mamanu ma faʻatinoga lauiloa.

MySQL fa'aaoga le gagana fa'atatau (SQL).
E le fa'aogaina e le NoSQL se gagana masani fesili.

O loʻo i ai i MySQL le tele o mea faigaluega faʻasalalau.
O le NoSQL o loʻo i ai le tele o mea faigaluega lipoti e faigata ona faʻavasegaina.

MySQL atonu e iai faʻafitauli faʻatinoga mo faʻamatalaga tetele.
O le NoSQL e maua ai le faʻatinoga lelei i luga o faʻamatalaga tetele.

Mafaufauga 8 faavae

I kamupani 8 faavae, i le mea ou te galue ai, matou te faʻamalosia le avanoa faigaluega o poloketi taʻitasi ma se Aurora MySQL relational database o loʻo talimalo i luga o le AWS. E ui o le NoSQL o se filifiliga saʻo pe a manaʻomia e au talosaga manaʻomia le maualuga ma le faʻalauteleina, matou te talitonu o le malosi o faʻamaumauga o loʻo tuʻuina mai e se DBMS e taua tele pe a fausia SaaS talosaga ma isi polokalame pisinisi.

Mo le amataina ma le au atinaʻe o loʻo fausia ni pisinisi faʻapisinisi e manaʻomia ai le lipotia, faʻamaoni fefaʻatauaʻiga, ma faʻamalamalama lelei faʻataʻitaʻiga faʻamatalaga, o le teu faʻafaigaluegaina i faʻamaumauga fesoʻotaʻiga, i lo matou manatu, o le filifiliga saʻo.

A'oa'o atili e uiga ile atina'e ma Aurora, Serverless ma GraphQL ile 8base.com iinei.

puna: www.habr.com

Faaopoopo i ai se faamatalaga