Mokhoa oa ho Hlalosa Phapano lipakeng tsa SQL le NoSQL ho Nkhono oa Hao

Mokhoa oa ho Hlalosa Phapano lipakeng tsa SQL le NoSQL ho Nkhono oa Hao

E 'ngoe ea liqeto tsa bohlokoa ka ho fetisisa tseo moqapi a li etsang ke hore na a sebelise database efe. Ka lilemo tse ngata, likhetho li ne li lekanyelitsoe likhethong tse fapaneng tsa database tse tšehetsang Structured Query Language (SQL). Tsena li kenyelletsa MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 le tse ling tse ngata.

Lilemong tse 15 tse fetileng, li-database tse ngata tse ncha tsa No-SQL li hlahile 'marakeng. Tsena li kenyelletsa mabenkele a bohlokoa a kang Redis le Amazon DynamoDB, li-database tse pharaletseng tse kang Cassandra le HBase, mabenkele a litokomane tse kang MongoDB le Couchbase, le li-database tsa graph le li-engines tsa lipatlisiso tse kang Elasticsearch le Solr.

Sehloohong sena, re tla leka ho utloisisa SQL le NoSQL ntle le ho kena tšebetsong ea bona.
Ho feta moo, re tla ithabisa tseleng.

Ho hlalosetsa Nkhono SQL

Nkhono, nahana hore ha ke setloholo sa hao feela. Ho e-na le hoo, ’Mè le Ntate ba ne ba ratana joaloka mebutlanyana, ba e-na le bana ba 100, eaba ba inkela ba bang ba 50.

Kahoo, ua re rata kaofela 'me ha u batle ho lebala mabitso a rona, matsatsi a tsoalo, tatso ea ice cream eo u e ratang, boholo ba liaparo, lintho tseo u li ratang, mabitso a balekane ba lenyalo, mabitso a bana le lintlha tse ling tsa bohlokoa haholo. Leha ho le joalo, ha re tobane le eona. U lilemo li 85 'me u se u ntse u hopola lintho hantle.

Ka lehlohonolo, kaha ke bohlale ho feta litloholo tsa hau, nka u thusa. Kahoo ke tla ntlong ea hau, ke ntša lipampiri 'me ke u kopa ho baka likuku pele re qala.

Leqepheng le leng re etsa lethathamo le bitsoang "litloholoana". Emong le emong setloholo e rekotiloeng ka lintlha tse ling tsa bohlokoa ka eona, ho kenyeletsoa nomoro e ikhethileng e tla bonts'a hore na ke efe setloholo ke eena. Hape, molemong oa tlhophiso, re ngola litšobotsi tse boletsoeng ka holimo lethathamong e le hore kamehla re tsebe hore na lethathamo le na le boitsebiso bofe.

id
lebitso
Letsatsi la tsoalo
ketelo ea ho qetela
boholo ba liaparo
ice-cream e ratehang
e amohelehang

1
Jimmy
09-22-1992
09-01-2019
L
Chokolete e monate
bohata

2
Jessica
07-21-1992
02-22-2018
M
Tsela ea Rocky
'nete

...tsoela pele lethathamo!

Lenane la litloholo

Ka mor'a nakoana, u utloisisa ntho e 'ngoe le e' ngoe 'me re se re qetile ka lethathamo! Leha ho le joalo, le retelehela ho ’na ’me le re: “Re lebetse ho eketsa sebaka bakeng sa balekane, boithabiso, litloholo!” Empa che, ha rea ​​lebala! Sena se latela ho feta mme se hloka pampiri e ncha.

Kahoo ke ntša pampiri e ’ngoe ’me ho eona re bitsa lethathamo Banyalani. Re boetse re eketsa litšoaneleho tseo e leng tsa bohlokoa ho rona qalong ea lenane mme re qale ho eketsa ka mela.

id
setloholo_id
lebitso
Letsatsi la tsoalo

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

…banyalani ba bangata!

Lenane la balekane

Mothating ona, ke hlalosetsa nkhono hore ha a batla ho tseba hore na o nyetse mang, o hloka feela ho bapisa. id lethathamong litloholoana с setloholo_id lethathamong la balekane ba lenyalo.

Kamora 'likuku tse' maloa, ke hloka ho robala. "Na u ka tsoela pele, nkhono?" Kea tsamaea ho ea robala.

Ke khutla ka mor'a lihora tse 'maloa. O hantle, nkgono! Ntho e 'ngoe le e' ngoe e shebahala e le ntle ntle le lenane ho itlosa bolutu. Ho na le lintho tsa ho itlosa bolutu tse ka bang 1000 lenaneng. Bongata ba tsona li pheta-pheta; Tse etsahetseng?

setloholo_id
Ho itlosa bolutu

1
ho palama baesekele

4
ho palama baesekele

3
ho palama baesekele

7
mathang

11
ho palama baesekele

...ha re tsoeleng pele!

Tšoarelo, ke lebetse ka ho feletseng ho re! U sebelisa lethathamo le le leng, u ka latela feela ho itlosa bolutu. Ebe lethathamong le leng re hloka ho latela litloholoanaba etsang sena ho itlosa bolutu. Re tla e bitsa "Lethathamo le tloaelehileng". Ka ho bona hore ha u e rate, ke qala ho tšoenyeha 'me ke khutlela boemong ba lethathamo.

id
Ho itlosa bolutu

1
ho palama baesekele

2
mathang

3
ho sesa

... ho itlosa bolutu ho feta!

Lethathamo la ho itlosa bolutu

Ha re se re e-na le lethathamo la rona la ho itlosa bolutu, re theha lethathamo la rona la bobeli ebe re le bitsa "Boithabiso ba litloholo".

setloholo_id
hobby_id

4
1

3
1

7
2

…Hape!

Lenane le akaretsang la ho itlosa bolutu ka litloholo

Ka mor'a mosebetsi ona oohle, joale Nkhono o na le mokhoa o motle oa ho hopola ho boloka tlaleho ea lelapa la hae le leholo ka tsela e makatsang. 'Me joale - ho mpoloka nako e telele - o botsa potso ea boselamose: "U ithutile hokae ho etsa see sohle?"

Relations Databases

Sebaka sa polokelo ea litaba tsa kamano ke sete sa litafole tse hlalositsoeng ka molao (mohlala oa rona, ana ke maqephe) ao u ka fihlelang ho ona. data kapa ho li bokella ka litsela tse fapaneng ntle le ho hlophisa litafole bocha Database. Ho na le mefuta e mengata e fapaneng ea li-database tsa likamano, empa ka bomalimabe lethathamo le pampiring ha se e 'ngoe ea tsona.

Karolo e ikhethang ea li-database tse tsebahalang haholo tsa likamano ke puo ea lipotso SQL (Puo e Hlophisitsoeng ea Potso). Ka lebaka la sena, haeba nkhono a ne a fetisetsa mokhoa oa hae oa ho hopola lintho k’homphieutheng, o ne a ka potlakela ho fumana karabo lipotsong tse kang: “Ke mang ea sa kang a nketela selemong se fetileng, o nyetse ’me ha a na lintho tseo a itlosang bolutu ka tsona?”

E 'ngoe ea litsamaiso tse tsebahalang haholo tsa taolo ea database ea SQL ke mohloli o bulehileng oa MySQL. E kengoa ts'ebetsong haholo-holo e le sistimi ea taolo ea database (RDBMS) bakeng sa lits'ebetso tsa software tse thehiloeng ho webo.

Lintlha tse ling tsa bohlokoa tsa MySQL:

  • E tsebahala haholo, e sebelisoa haholo ebile e lekoa ka botlalo.
  • Ho na le bahlahisi ba bangata ba nang le boiphihlelo ba nang le boiphihlelo ka SQL le li-database tsa likamano.
  • Lintlha li bolokiloe litafoleng tse fapaneng, tse etsang hore ho be bonolo ho theha likamano ho sebelisa linotlolo tsa mantlha le tsa kantle ho naha (li-identifiers).
  • E bonolo ho e sebelisa ebile e sebetsa hantle, e etsa hore e lokele likhoebo tse kholo le tse nyane.
  • Khoutu ea mohloli e tlas'a lipehelo tsa GNU General Public License.

Jwale lebala TSOHLE.

Ho hlalosetsa nkhono NoSQL

Nkhono, re na le lelapa le leholo. O na le litloholo tse 150! Ba bangata ba bona ba nyetse, ba na le bana, ba rata ntho e itseng joalo-joalo. Lilemong tsa hau, ho ke ke ha khoneha ho hopola ntho e 'ngoe le e' ngoe ka rona kaofela. Seo u se hlokang ke sistimi ea memori!

Ka lehlohonolo, ke ha Ke batla hore u lebale letsatsi la ka la tsoalo le tatso eo ke e ratang ka ho fetisisa ea ice cream, nka u thusa. Kahoo ke mathela lebenkeleng le haufi, ke nka bukana ebe ke khutlela lapeng la hau.

Mohato oa pele oo ke o nkang ke ho ngola "Litloholo" ka litlhaku tse kholo tse kholo sekoahelong sa bukana ea ka. Ebe ke phetla leqepheng la pele ebe ke qala ho ngola ntho e 'ngoe le e' ngoe eo u lokelang ho e hopola ka 'na. Kamora metsotso e seng mekae leqephe le shebahala tjena.

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

Я: "Ho bonahala eka tsohle li lokile!"
Nkhono: “Ema, ho thoe’ng ka litloholo tse ling?”
Я: "Ho joalo. Ebe u fana ka leqephe le le leng bakeng sa le leng le le leng.
Nkhono: “Na ke tla tlameha ho ngolla motho e mong le e mong boitsebiso bo tšoanang joalokaha ke u etselitse?”
Я: “Che, hafeela u batla. E re ke bontše."
Ke nka pene ea Nkhono oa ka, ke phetla leqephe ebe ka potlako ke ngola tlhahisoleseding e mabapi le motsoala oa ka eo ke neng ke sa mo rate haholo.

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

Nako le nako ha nkhono a hloka ho hopola ho hong ka e mong oa litloholo tsa hae, o hloka feela ho ea leqepheng le nepahetseng bukeng ea litloholo tsa hae. Lintlha tsohle tse mabapi le bona li tla bolokoa hona moo leqepheng la bona, tseo a ka li fetolang kapele le ho li ntlafatsa.

Ha tsohle li entsoe, o botsa potso ea boselamose: "U ithutile hokae ho etsa see sohle?"

Li-database tsa NoSQL

Ho na le tse ngata Li-database tsa NoSQL ("eseng SQL feela"). Mehlaleng ea rona, re bontšitse tokomane database. Lintlha tsa mohlala oa li-database tsa NoSQL ka mekhoa e felisang likamano tsa litafole tse sebelisoang ho li-database tsa likamano. Li-database tsena li ile tsa tsebahala mathoasong a lilemo tsa bo-2000 har'a lik'hamphani tse neng li hloka hore ho be le lihlopha tsa marang-rang tse thehiloeng marung ka lebaka la litlhoko tsa tsona tse fokolang (mohlala, Facebook). Lits'ebetsong tse joalo, ho lumellana ha data ho ne ho se bohlokoa haholo ho feta ts'ebetso le scalability.

Qalong, li-database tsa NoSQL li ne li atisa ho sebelisoa bakeng sa mesebetsi ea tsamaiso ea data ea niche. Ha e le hantle, ha ho tluoa lits'ebetsong tsa marang-rang le tsa maru, li-database tsa NoSQL li ile tsa sebetsa le ho aba lintlha tse ngata tsa data. Baenjiniere ba NoSQL le bona ba ratile ho feto-fetoha ha schema ea data (kapa ho haella ha eona) e le hore liphetoho tse potlakileng li ka khonahala lits'ebetsong tse ntlafalitsoeng.

Lintlha tsa bohlokoa tsa NoSQL:

  • Mokhoa o bonolo haholo oa ho boloka data
  • Katoloso e tshekaletseng ho ya ho dihlopha
  • Tatelano e ka bang teng ho ya ka phehello/ho hasana
  • Litokomane tse khetholloang ho sebelisoa linotlolo tse ikhethang

Papiso e qaqileng

MySQL e hloka schema e hlalositsoeng le e hlophisitsoeng.
NoSQL e u lumella ho boloka data efe kapa efe ho "tokomane".

MySQL e na le sechaba se seholo.
NoSQL e na le sechaba se senyenyane se ntseng se hola ka potlako.

NoSQL e bonolo ho e phahamisa.
MySQL e hloka taolo e eketsehileng.

MySQL e sebelisa SQL, e sebelisoang mefuteng e mengata ea marang-rang.
NoSQL ke moralo o thehiloeng ho database o nang le ts'ebetsong e tsebahalang.

MySQL e sebelisa puo e tloaelehileng ea ho botsa (SQL).
NoSQL ha e sebelise puo e tloaelehileng ea ho botsa.

MySQL e na le lisebelisoa tse ngata tse ntle tsa ho tlaleha.
NoSQL e na le lisebelisoa tse 'maloa tsa ho tlaleha tseo ho leng thata ho li tiisa.

MySQL e ka bonts'a litaba tsa ts'ebetso bakeng sa data e kholo.
NoSQL e fana ka ts'ebetso e ntle haholo ho data e kholo.

Mehopolo 8base

Khamphaning 8 motheo, moo ke sebetsang teng, re matlafatsa sebaka sa mosebetsi sa morero ka seng sa Aurora MySQL se amanang le AWS. Le hoja NoSQL e le khetho e utloahalang ha litlhoko tsa hau tsa kopo li hloka ts'ebetso e phahameng le scalability, re lumela hore boitsebiso bo matla bo fanoeng ke DBMS bo bohlokoa ha ho etsoa likopo tsa SaaS le lisebelisoa tse ling tsa khoebo.

Bakeng sa ba qalang le ba ntlafatsang ba ahang lits'ebetso tsa khoebo tse hlokang tlaleho, botšepehi ba transaction, le mefuta e hlalositsoeng hantle ea data, ho tsetela ho databases tsa kamano ke, ka maikutlo a rona, khetho e nepahetseng.

Ithute haholoanyane mabapi le ho nts'etsapele ka Aurora, Serverless le GraphQL ho 8base.com mona.

Source: www.habr.com

Eketsa ka tlhaloso