Otu esi ele anya na anya Cassandra na-enweghị atụfu data, nkwụsi ike na okwukwe na NoSQL

Otu esi ele anya na anya Cassandra na-enweghị atụfu data, nkwụsi ike na okwukwe na NoSQL

Ha na-ekwu na ihe niile dị na ndụ bara uru ịnwale ma ọ dịkarịa ala otu ugboro. Ma ọ bụrụ na ị na-eji na-arụ ọrụ na mmekọrịta DBMSs, mgbe ahụ, ọ bara uru ịmara NoSQL na omume, nke mbụ, opekempe maka izugbe mmepe. Ugbu a, n'ihi mmepe ngwa ngwa nke nkà na ụzụ a, enwere ọtụtụ echiche na-emegiderịta onwe ya na arụmụka kpụ ọkụ n'ọnụ banyere isiokwu a, nke karịsịa na-akpali mmasị.
Ọ bụrụ n’ịbanye n’ime isi okwu esemokwu ndị a niile, ị ga-ahụ na ha na-ebilite n’ihi ụzọ na-ezighi ezi. Ndị na-eji ọdụ data NoSQL kpọmkwem ebe ha chọrọ nwere afọ ojuju ma nweta uru niile site na ngwọta a. Na nnwale ndị na-adabere na nkà na ụzụ a dị ka panacea ebe ọ na-adịghị etinye aka ma ọlị na-enwe nkụda mmụọ, na-efunahụ ike nke ọdụ data mmekọrịta na-enwetaghị uru dị ukwuu.

M ga-agwa gị banyere ahụmahụ anyị na mmejuputa a ngwọta dabeere na Cassandra DBMS: ihe anyị ga-eche ihu, otú anyị si pụta n'ọnọdụ ndị siri ike, ma anyị nwere ike irite uru site na iji NoSQL na ebe anyị ga-etinyekwu mgbalị / ego. .
Ọrụ mbụ bụ iwulite usoro na-edekọ oku na ụdị nchekwa ụfọdụ.

Ụkpụrụ ọrụ nke usoro ahụ bụ nke a. Ntinye na-agụnye faịlụ nwere otu nhazi nke na-akọwa nhazi nke oku. Ngwa ahụ na-achọpụta na a na-echekwa ihe owuwu a na ogidi ndị kwesịrị ekwesị. N'ọdịnihu, a na-eji oku echekwara iji gosipụta ozi gbasara oriri okporo ụzọ maka ndị debanyere aha (ụgwọ, oku, akụkọ nguzozi).

Otu esi ele anya na anya Cassandra na-enweghị atụfu data, nkwụsi ike na okwukwe na NoSQL

O doro anya ihe mere ha ji họrọ Cassandra - ọ na-ede dị ka egbe igwe, ọ na-adị mfe scalable, na-anabatakwa mmejọ.

Ya mere, nke a bụ ihe ahụmahụ nyere anyị

Ee, ọnụ ụzọ dara ada abụghị ọdachi. Nke a bụ ihe kacha mkpa na nnata mmejọ nke Cassandra. Ma ọnụ nwere ike ịdị ndụ ma n'otu oge ahụ na-amalite ịta ahụhụ na arụmọrụ. Dị ka ọ tụgharịrị, nke a na-emetụta ọrụ nke ụyọkọ dum ozugbo.

Cassandra agaghị echebe gị ebe Oracle jiri mmachi ya zọpụta gị. Ma ọ bụrụ na onye edemede nke ngwa ahụ aghọtaghị nke a tupu oge eruo, mgbe ahụ, okpukpu abụọ nke rutere maka Cassandra adịghị njọ karịa nke mbụ. Ozugbo ọ rutere, anyị ga-etinye ya.

IB enweghị mmasị na Cassandra efu site na igbe ahụ: Enweghị ndekọ nke omume onye ọrụ, enweghị ọdịiche nke ikike. A na-ewere ozi gbasara oku na data nkeonwe, nke pụtara na mbọ niile ị rịọrọ / ịgbanwe ya n'ụzọ ọ bụla ga-abanyerịrị na ohere nke nyocha ọzọ. Ọzọkwa, ịkwesịrị ịma mkpa ọ dị ikewapụ ikike na ọkwa dị iche iche maka ndị ọrụ dị iche iche. Onye injinia na-arụ ọrụ dị mfe na onye nchịkwa dị ukwuu nke nwere ike ihichapụ oghere igodo niile bụ ọrụ dị iche iche, ọrụ dị iche iche na ikike. Na-enweghị ọdịiche dị otú ahụ nke ikike ịnweta, uru na iguzosi ike n'ezi ihe nke data ga-abata ngwa ngwa ngwa ngwa karịa na ọkwa ọ bụla na-agbanwe agbanwe.

Anyị eburughị n'uche na oku chọrọ ma nyocha siri ike yana nlele oge maka ọnọdụ dị iche iche. Ebe ọ bụ na ekwesịrị ka ehichapụ ma degharịa ihe ndekọ ndị ahọpụtara (dịka akụkụ nke ọrụ ahụ, anyị ga-akwado usoro nke imelite data mgbe data mbụ banyere n'ụzọ na-ezighi ezi), Cassandra abụghị enyi anyị ebe a. Cassandra dị ka ụlọ akụ piggy - ọ dị mma itinye ihe na ya, mana ị nweghị ike ịgụta ya.

Anyị nwetara nsogbu ịnyefe data na mpaghara ule (ọnụ ọnụ 5 na ule na 20 na prom). N'okwu a, enweghị ike iji ihe mkpofu ahụ mee ihe.

Nsogbu dị na imelite atụmatụ data nke ngwa na-edegara Cassandra. Ndaghachi azụ ga-emepụta ọtụtụ nkume ili, nke nwere ike ibute mfu nrụpụta n'ụzọ ndị a na-atụghị anya ya.. A na-ahazi Cassandra maka ndekọ, ọ naghị eche ọtụtụ ihe tupu ya edee, ọrụ ọ bụla nwere data dị na ya bụkwa ndekọ. Ya bụ, site na ihichapụ ihe ndị na-adịghị mkpa, anyị ga-emepụta ọbụna karịa ndekọ, na ọ bụ naanị ụfọdụ n'ime ha ka a ga-eji nkume ili akara.

Ọpụpụ oge mgbe ịtinye. Cassandra mara mma na ndekọ, mana mgbe ụfọdụ ihe na-abata nwere ike gbagwojuru ya anya. Nke a na-eme mgbe ngwa ahụ malitere ịgbagharị gburugburu ọtụtụ ndekọ nke enweghị ike itinye n'ihi ihe ụfọdụ. Anyị ga-achọkwa ezigbo DBA ga-enyocha gc.log, sistemu na ndekọ debug maka ajụjụ nwayọ, metrics na compaction na-echere.

Ọtụtụ ebe data na ụyọkọ. Ebe a ga-esi na-agụ na ebe ị ga-ede?
Ikekwe kewaa n'ime ịgụ na ide? Ma ọ bụrụ otú ahụ, ekwesịrị inwe DC nso na ngwa maka ide ma ọ bụ ịgụ? Na anyị agaghị ejedebe na ezigbo ụbụrụ gbawara agbawa ma ọ bụrụ na anyị ahọrọ ọkwa na-agbanwe agbanwe na-ezighi ezi? Enwere ọtụtụ ajụjụ, ọtụtụ ntọala amaghị, ohere ị chọrọ n'ezie iji tinker.

Otú anyị si kpebie

Iji gbochie ọnụ ụzọ imikpu, SWAP nwere nkwarụ. Ma ugbu a, ọ bụrụ na enweghi ebe nchekwa, oghere ahụ kwesịrị ịdaba ma ghara ịmepụta nnukwu gc nkwụsịtụ.

Yabụ, anyị anaghị adabere na mgbagha na nchekwa data. Ndị mmepe ngwa na-azụ onwe ha ma na-amalite ịkpachara anya na koodu nke ha. Ezigbo nkewa nke nchekwa na nhazi data doro anya.

Anyị zụtara nkwado site na DataStax. Mmepe nke ọkpọ ọkpọ Cassandra akwụsịla (nkwenye ikpeazụ bụ na February 2018). N'otu oge ahụ, Datastax na-enye ọrụ magburu onwe ya na ọnụ ọgụgụ buru ibu nke gbanwetụrụ na nhazi maka ngwọta IP dị ugbu a.

Achọrọ m ịma na Cassandra adịghị mma maka ajụjụ nhọrọ. N'ezie, CQL bụ nnukwu nzọụkwụ na-aga n'ihu maka ndị ọrụ (ma e jiri ya tụnyere Trift). Ma ọ bụrụ na ị nwere dum ngalaba na-agba nkịtị ka ndị dị otú ahụ adaba sonyere, free nzacha site ọ bụla ubi na ajụjụ njikarịcha ike, na ndị a ngalaba na-arụ ọrụ iji dozie mkpesa na ihe mberede, mgbe ahụ ngwọta na Cassandra yiri iro na nzuzu ha. Anyị malitekwara ikpebi otú ndị ọrụ ibe anyị kwesịrị isi mee ihe atụ.

Anyị tụlere nhọrọ abụọ na nhọrọ nke mbụ, anyị na-ede oku ọ bụghị naanị na C*, kamakwa na nchekwa data Oracle echekwara. Naanị, n'adịghị ka C *, nchekwa data a na-echekwa oku naanị maka ọnwa dị ugbu a (oke nchekwa nchekwa oku zuru oke maka ikpe ịchaji). N'ebe a, anyị hụrụ nsogbu na-esonụ ozugbo: ọ bụrụ na anyị na-ede synchronously, mgbe ahụ anyị na-atụfu niile uru nke C * metụtara ngwa ngwa ntinye; ọ bụrụ na anyị na-ede asynchronously, ọ dịghị nkwa na oku niile dị mkpa batara na Oracle. Enwere otu gbakwunyere, mana nke buru ibu: maka ịrụ ọrụ otu onye nrụpụta PL/SQL maara nke ọma ka fọdụrụ, ya bụ, anyị na-emejuputa ụkpụrụ “Facade.” Nhọrọ ọzọ. Anyị na-emejuputa usoro nke na-ebupụ oku site na C *, na-ewepụta ụfọdụ data maka ịba ụba site na tebụl kwekọrọ na Oracle, na-esonyere ihe nlele ndị si na ya pụta ma nye anyị nsonaazụ, nke anyị na-eji n'ụzọ ụfọdụ (tụgharịa azụ, megharịa, nyochaa, nwee mmasị). Cons: usoro a bụ nnọọ multi-nzọụkwụ, na na mgbakwunye, ọ dịghị interface maka ọrụ ndị ọrụ.

N'ikpeazụ, anyị kpebiri na nhọrọ nke abụọ. A na-eji Apache Spark mee nlele site na ite dị iche iche. E belatara ihe dị mkpa nke usoro ahụ na koodu Java, nke, na-eji igodo ndị a kapịrị ọnụ (onye debanyere aha, oge oku - igodo ngalaba), na-ewepụta data sitere na C *, yana data dị mkpa maka ịba ụba site na nchekwa data ọ bụla ọzọ. Mgbe nke a gasịrị, ọ na-ejikọta ha na ebe nchekwa ya ma gosipụta nsonaazụ na tebụl nke ga-apụta. Anyị sere ihu webụ n'elu ọkụ ahụ wee bụrụ nke a na-eji ya eme ihe.

Otu esi ele anya na anya Cassandra na-enweghị atụfu data, nkwụsi ike na okwukwe na NoSQL

Mgbe anyị na-edozi nsogbu nke imelite data ule ụlọ ọrụ, anyị tụlere ọzọ ọtụtụ ngwọta. Ha abụọ na-ebufe site na Sstloader na nhọrọ nke kewaa ụyọkọ dị na mpaghara ule n'ime akụkụ abụọ, nke ọ bụla n'ime ha bụ nke otu ụyọkọ na nkwado, si otú a na-akwado ya. Mgbe ị na-emelite ule ahụ, e mere atụmatụ ịgbanye ha: a na-ehichapụ akụkụ nke na-arụ ọrụ na ule ahụ ma banye na mmepụta, nke ọzọ na-amalite ịrụ ọrụ na data ahụ iche. Otú ọ dị, mgbe anyị chechara echiche ọzọ, anyị na-enyochakwu ezi uche data nke bara uru ịnyefe, ma chọpụta na oku n'onwe ha bụ ihe na-ekwekọghị ekwekọ maka ule, ngwa ngwa emepụtara ma ọ bụrụ na ọ dị mkpa, na ọ bụ nkwado data set nke na-enweghị uru maka ịnyefe na nwale. Enwere ọtụtụ ihe nchekwa nke kwesịrị ịkwagharị, mana ndị a bụ n'ezie tebụl abụọ, ọ bụghịkwa ndị dị arọ. Ya mere anyị dị ka ihe ngwọta, Spark ọzọ bịara napụta, site n'enyemaka nke anyị dere na-amalite na-arụsi ọrụ ike na-eji a script maka ịnyefe data n'etiti tebụl, prom-ule.

Amụma mbugharị anyị ugbu a na-enye anyị ohere ịrụ ọrụ na-enweghị ntụgharị. Tupu nkwalite ahụ, enwere ịgba ọsọ ule amanyere iwu, ebe mmejọ adịghị oke ọnụ. N'ọnọdụ ọdịda, ị nwere ike idobe oghere ikpe ahụ wee tụgharịa atụmatụ niile site na mmalite.

Iji hụ na enwere Cassandra na-aga n'ihu, ịchọrọ dba ọ bụghị naanị ya. Onye ọ bụla na-arụ ọrụ na ngwa ahụ aghaghị ịghọta ebe na otu esi ele ọnọdụ dị ugbu a na otu esi achọpụta nsogbu n'oge. Iji mee nke a, anyị na-eji DataStax OpsCenter na-arụsi ọrụ ike (Nchịkwa na nlekota oru ọrụ), Cassandra Driver system metrics (ọnụọgụ oge maka ide na C *, ọnụ ọgụgụ nke oge maka ịgụ site na C *, nkwụsị kachasị, wdg), nyochaa ọrụ ahụ. nke ngwa n'onwe ya, na-arụ ọrụ na Cassandra.

Mgbe anyị chere echiche banyere ajụjụ gara aga, anyị ghọtara ebe isi ihe ize ndụ anyị nwere ike ịdị. Ndị a bụ ụdị ngosipụta data na-egosipụta data sitere na ọtụtụ ajụjụ nọọrọ onwe ha gaa na nchekwa. Otu a anyị nwere ike nweta ozi na-ekwekọghị ekwekọ. Mana nsogbu a ga-adịkwa mkpa ma ọ bụrụ na anyị ejiri naanị otu ebe data rụọ ọrụ. Ya mere, ihe kachasị ezi uche dị na ebe a bụ, n'ezie, ịmepụta ọrụ batch maka ịgụ data na ngwa ndị ọzọ, nke ga-eme ka a nweta data na otu oge. Banyere nkewa n'ime ịgụ na ide ihe gbasara arụmọrụ, ebe a kwụsịrị anyị site n'ihe ize ndụ na na ụfọdụ nkwụsị nke njikọ dị n'etiti DC, anyị nwere ike mechie ụyọkọ abụọ na-ekwekọghị n'ụzọ zuru ezu na ibe ha.

N'ihi ya, maka ugbu a kwụsịrị n'ogo nkwekọ maka ide EACH_QUORUM, maka ịgụ - LOCAL_QUORUM

Mmetụta dị nkenke na nkwubi okwu

Iji nyochaa ihe ngwọta na-esi na ya pụta site n'echiche nke nkwado ọrụ na atụmanya maka mmepe ọzọ, anyị kpebiri iche echiche banyere ebe ọzọ enwere ike itinye ụdị mmepe ahụ.

Ozugbo bat ahụ, wee nweta akara data maka mmemme dị ka "Kwụọ mgbe ọ dị mma" (anyị na-ebunye ozi n'ime C *, mgbako site na iji Spark scripts), na-aza ajụjụ na mkpokọta site na mpaghara, na-echekwa ọrụ na ịgbakọ ikike ịnweta onye ọrụ dabere na ọrụ ahụ. matrix.

Dị ka ị pụrụ ịhụ, repertoire dị obosara ma dị iche iche. Ma ọ bụrụ na anyị ahọrọ ogige nke ndị na-akwado / ndị mmegide nke NoSQL, mgbe ahụ, anyị ga-esonyere ndị na-akwado ya, ebe anyị nwetara uru anyị, na kpọmkwem ebe anyị tụrụ anya ya.

Ọbụlagodi nhọrọ Cassandra sitere na igbe ahụ na-enye ohere ịgbatị kwụ ọtọ na ozugbo, na-edozi nsogbu nke ịba ụba data na sistemụ. Anyị nwere ike ịkwaga usoro dị oke ibu maka ịgbakọ mkpokọta oku n'ime sekit dị iche, ma kewaa atụmatụ ngwa na mgbagha, wepụ omume ọjọọ nke ide ọrụ omenala na ihe na nchekwa data n'onwe ya. Anyị nwetara ohere ịhọrọ na hazie, iji mee ngwa ngwa, nke DC anyị ga-eme mgbako na nke anyị ga-edekọ data na, anyị wetara onwe anyị megide mkpọka nke ma onye ọnụ na DC n'ozuzu.

Itinye anyị architecture ọhụrụ oru ngo, na-ama-enwe ụfọdụ ahụmahụ, ga-amasị m ozugbo na-n'ime akaụntụ nuances akọwara n'elu, na-egbochi ụfọdụ emehie, smoothing ụfọdụ nkọ nkuku na-apụghị izere ná mmalite.

Dịka ọmụmaatụ, debe mmelite Cassandra n'oge kwesịrị ekwesịn'ihi na a maralarị ọtụtụ nsogbu ndị anyị nwetara ma dozie ya.

Etinyekwala ma nchekwa data n'onwe ya yana Spark n'otu ọnụ (ma ọ bụ kewaa nke ọma site n'ọnụọgụ a na-ekwe ka iji akụ eme ihe), ebe Spark nwere ike iri OP karịa ka a tụrụ anya ya, anyị ga-enwetakwa nọmba nsogbu ngwa ngwa 1 na ndepụta anyị.

Melite nleba anya na ikike ịrụ ọrụ n'ọkwa ule ọrụ. Na mbụ, buru n'uche dị ka o kwere mee ndị niile nwere ike iji ngwọta anyị, n'ihi na nke a bụ ihe nhazi nchekwa data ga-adabere na ya.

Tụgharịa sekit ga-apụta ọtụtụ oge maka nkwalite enwere ike. Họrọ mpaghara enwere ike ịdekọ. Ghọta ihe tebụl ndị ọzọ anyị kwesịrị ime ka anyị wee buru n'uche nke kachasị mma na nke kachasị mma, wee nye ozi achọrọ mgbe ị rịọrọ (dịka ọmụmaatụ, site n'iche na anyị nwere ike ịchekwa otu data na tebụl dị iche iche, na-eburu n'uche ndakpọ dị iche iche dị ka ihe dị iche iche). na njirisi dị iche iche, anyị nwere ike ịchekwa oge CPU nke ukwuu maka ịrịọ arịrịọ).

Ọ dịghị njọ Wepụta ozugbo maka itinye TTL na ihicha data emechiela.

Mgbe ị na-ebudata data na Cassandra Ihe mgbagha ngwa kwesịrị ịrụ ọrụ na ụkpụrụ FETCH, nke mere na ọ bụghị ahịrị niile na-ebuba n'ime ebe nchekwa ozugbo, mana ahọpụtara ya na batches.

Ọ bụ ihe amamihe dị na ya tupu ịnyefe ọrụ ahụ na ngwọta a kọwara lelee nnabata mmejọ nke sistemu ahụ site n'ime usoro ule okuku, dị ka ọnwụ data n'otu ebe data, mweghachi nke data mebiri emebi n'ime oge ụfọdụ, nkwụsị netwọk n'etiti ebe data. Nnwale ndị dị otú ahụ agaghị ekwe ka mmadụ nyochaa uru na ọghọm nke ihe owuwu ahụ a chọrọ, ma ọ ga-enyekwa ezigbo ọkụ ọkụ maka ndị injinia na-eduzi ha, na nkà enwetara ga-adị anya karịa ma ọ bụrụ na a na-emepụta ọdịda usoro na mmepụta.

Ọ bụrụ na anyị na-arụ ọrụ na ozi dị oke egwu (dị ka data maka ịgba ụgwọ, ngụkọta nke ụgwọ ndị debanyere aha), mgbe ahụ ọ dịkwa mma ịṅa ntị na ngwaọrụ ndị ga-ebelata ihe ize ndụ ndị na-ebilite n'ihi njirimara nke DBMS. Dịka ọmụmaatụ, jiri nodesync utility (Datastax), na-emepụta atụmatụ kachasị mma maka iji ya mee ihe. n'ihi na-agbanwe agbanwe, emela oke ibu na Cassandra ma jiri ya naanị maka tebụl ụfọdụ n'ime oge ụfọdụ.

Gịnị na-eme Cassandra mgbe ọnwa isii nke ndụ gasịrị? N'ozuzu, ọ dịghị nsogbu ndị a na-edozibeghị. Anyị ekweghịkwa ka ihe mberede ọ bụla dị njọ ma ọ bụ mfu data. Ee, anyị kwesịrị iche echiche banyere ịkwụ ụgwọ maka ụfọdụ nsogbu ndị na-enwebeghị mbụ, ma n'ikpeazụ nke a emeghị ka anyị nweta ihe ngwọta nke ụkpụrụ ụlọ. Ọ bụrụ na ịchọrọ ma ghara ịtụ egwu ịnwale ihe ọhụrụ, ma n'otu oge ahụ achọghị inwe mmechuihu, mgbe ahụ jikere maka eziokwu ahụ na ọ dịghị ihe bụ n'efu. Ị ga-aghọta, banye n'ime akwụkwọ ahụ wee chịkọta rake nke gị karịa na usoro ihe nketa ochie, na ọ nweghị echiche ga-agwa gị tupu oge eruo nke rake na-echere gị.

isi: www.habr.com

Tinye a comment