Mokhoa oa ho sheba mahlong a Cassandra ntle le ho lahleheloa ke data, botsitso le tumelo ho NoSQL

Mokhoa oa ho sheba mahlong a Cassandra ntle le ho lahleheloa ke data, botsitso le tumelo ho NoSQL

Ba re ntho e ’ngoe le e ’ngoe bophelong ke ea bohlokoa ho leka bonyane hang. 'Me haeba u tloaetse ho sebetsa le li-DBMS tse amanang, joale ho bohlokoa ho tloaelana le NoSQL ka ts'ebetso, pele ho tsohle, bonyane bakeng sa nts'etsopele e akaretsang. Hona joale, ka lebaka la tsoelo-pele e potlakileng ea thekenoloji ena, ho na le maikutlo a mangata a hanyetsanang le likhang tse chesang ka taba ena, e leng haholo-holo e tsosang thahasello.
Haeba u ka batlisisa moelelo oa likhohlano tsena kaofela, u ka bona hore li hlaha ka lebaka la mokhoa o fosahetseng. Ba sebelisang li-database tsa NoSQL hantle moo ba hlokahalang ba khotsofetse mme ba fumana melemo eohle ho tsoa tharollong ena. 'Me ba lekang ba itšetlehileng ka theknoloji ena e le panacea moo e sa sebetseng ho hang ba soetsehile, ba lahlehetsoe ke matla a marang-rang a kamano ntle le ho fumana melemo e mengata.

Ke tla u bolella ka phihlelo ea rona ea ho kenya ts'ebetsong tharollo e thehiloeng ho Cassandra DBMS: seo re neng re tlameha ho tobana le sona, hore na re tsoile joang maemong a thata, hore na re ile ra khona ho rua molemo ka ho sebelisa NoSQL le moo re neng re tlameha ho tsetela boiteko bo eketsehileng / lichelete. .
Mosebetsi oa pele ke ho haha ​​​​sistimi e tlalehang mehala ka mofuta o itseng oa polokelo.

Molao-motheo oa ts'ebetso ea tsamaiso ke o latelang. Kenyelletso e kenyelletsa lifaele tse nang le sebopeho se ikhethileng se hlalosang sebopeho sa mohala. Kopo e ntan'o etsa bonnete ba hore mohaho ona o bolokoa litšiea tse loketseng. Nakong e tlang, mehala e bolokiloeng e sebelisoa ho bonts'a tlhahisoleseling mabapi le tšebeliso ea sephethephethe bakeng sa ba ngolisitseng (litefiso, mehala, nalane ea tekanyo).

Mokhoa oa ho sheba mahlong a Cassandra ntle le ho lahleheloa ke data, botsitso le tumelo ho NoSQL

Ho hlakile hore na ke hobane'ng ha ba khethile Cassandra - o ngola joalo ka sethunya sa mochini, o hlaseleha habonolo ebile ha a mamelle liphoso.

Kahoo, sena ke seo phihlelo e re fileng sona

E, node e hlōlehileng hase tlokotsi. Sena ke motheo oa mamello ea Cassandra ea liphoso. Empa node e ka phela 'me ka nako e ts'oanang e qala ho utloa bohloko ts'ebetsong. Joalokaha ho bile joalo, sena se ama hang-hang ts'ebetso ea sehlopha sohle.

Cassandra e ke ke ea u sireletsa moo Oracle e u pholositseng ka litšitiso tsa eona. 'Me haeba mongoli oa kopo a sa utloisise sena esale pele, joale makhetlo a mabeli a fihlileng bakeng sa Cassandra ha a mpe ho feta a pele. Ha e se e fihlile, re tla e kenya.

IB e ne e sa rate haholo Cassandra ea mahala ka ntle ho lebokose: Ha ho na ho rengoa ha liketso tsa basebelisi, ha ho na phapang ea litokelo. Lintlha tse mabapi le mehala li nkuoa e le data ea motho, ho bolelang hore liteko tsohle tsa ho e kopa / ho e fetola ka tsela efe kapa efe e tlameha ho kenngoa ka monyetla oa tlhahlobo e latelang. Hape, o hloka ho hlokomela tlhoko ea ho arola litokelo maemong a fapaneng bakeng sa basebelisi ba fapaneng. Moenjineri ea bonolo oa ts'ebetso le molaoli ea phahameng ea ka hlakolang sebaka sohle sa senotlolo ke mesebetsi e fapaneng, boikarabello bo fapaneng, le boiphihlelo. Ntle le phapang e joalo ea litokelo tsa phihlello, boleng le bots'epehi ba data bo tla hlaha hanghang potsong ka potlako ho feta boemo bofe kapa bofe ba tumellano.

Ha rea ​​ka ra ela hloko hore mehala e hloka tlhahlobo e matla le lisampole tsa nako le nako bakeng sa maemo a fapaneng. Kaha lirekoto tse khethiloeng li tlameha ho hlakoloa le ho ngoloa bocha (e le karolo ea mosebetsi, re tlameha ho ts'ehetsa ts'ebetso ea ho nchafatsa data ha data e kene ka phoso qalong), Cassandra ha se motsoalle oa rona mona. Cassandra e tšoana le piggy bank - ho bonolo ho kenya lintho, empa u ke ke ua bala ho eona.

Re bile le bothata ba ho fetisetsa lintlha libakeng tsa liteko (li-node tse 5 tekong khahlano le 20 ho prom). Tabeng ena, thotobolo e ke ke ea sebelisoa.

Bothata ba ho ntlafatsa schema ea data ea ho ngolla kopo ho Cassandra. Ho khutlela morao ho tla hlahisa majoe a mangata a mabitla, a ka lebisang tahlehelong ea tlhahiso ka litsela tse sa lebelloang.. Cassandra e ntlafalitsoe bakeng sa ho rekota, 'me ha e nahane haholo pele e ngola. Ts'ebetso efe kapa efe e nang le data e teng ho eona le eona ke rekoto. Ke hore, ka ho hlakola tse sa hlokahaleng, re tla hlahisa lirekoto tse ngata, 'me tse ling feela tsa tsona li tla tšoauoa ka majoe a mabitla.

Ho qeta nako ha o kenya. Cassandra o motle ho rekota, empa ka linako tse ling phallo e kenang e ka mo makatsa haholo. Sena se etsahala ha kopo e qala ho potoloha lirekoto tse 'maloa tse ke keng tsa kenngoa ka lebaka le itseng. 'Me re tla hloka DBA ea sebele e tla beha leihlo gc.log, system le debug logs bakeng sa lipotso tse liehang, metrics mabapi le compaction e ntseng e emetse.

Litsi tse 'maloa tsa data ka sehlopha. Ho bala ho tsoa hokae le ho ngola hokae?
Mohlomong e arotsoe ka ho bala le ho ngola? 'Me haeba ho joalo, na ho lokela ho ba le DC haufi le kopo ea ho ngola kapa ho bala? Hona na re ke ke ra qetella re e-na le boko ba sebele bo arohaneng haeba re khetha boemo bo fosahetseng bo sa tsitsang? Ho na le lipotso tse ngata, litlhophiso tse ngata tse sa tsejoeng, menyetla eo u hlileng u batlang ho nahana ka eona.

Re ile ra etsa qeto joang

Ho thibela node ho teba, SWAP e ile ea koaloa. 'Me joale, haeba ho na le khaello ea mohopolo, node e lokela ho theoha' me e se ke ea etsa likhefu tse kholo tsa gc.

Kahoo, ha re sa itšetleha ka logic ho database. Basebelisi ba likopo ba ntse ba ikoetlisa hape 'me ba se ba qala ho nka mehato ea boits'ireletso ka khoutu ea bona. Karohano e hlakileng e hlakileng ea polokelo ea data le ts'ebetso.

Re rekile tšehetso ho DataStax. Nts'etsopele ea Cassandra ea mabokose e se e felile (boitlamo ba ho qetela e ne e le ka Pherekhong 2018). Ka nako e ts'oanang, Datastax e fana ka tšebeletso e babatsehang le palo e kholo ea litharollo tse fetotsoeng le tse fetotsoeng bakeng sa tharollo ea IP e teng.

Ke boetse ke batla ho hlokomela hore Cassandra ha e bonolo haholo bakeng sa lipotso tsa khetho. Ehlile, CQL ke mohato o moholo oa ho ea pele bakeng sa basebelisi (ha ho bapisoa le Trift). Empa haeba u na le mafapha ohle a tloaetseng ho kopanya tse joalo tse bonolo, ho sefa mahala ka tšimo efe kapa efe le bokhoni ba ho ntlafatsa lipotso, 'me mafapha ana a sebetsa ho rarolla litletlebo le likotsi, joale tharollo ea Cassandra e bonahala e le bora ebile e le booatla ho bona. 'Me re ile ra qala ho etsa qeto ea hore na basebetsi-'moho le rona ba lokela ho etsa mehlala joang.

Re nahanne ka likhetho tse peli: Khethong ea pele, ha re ngolle mehala eseng feela ho C *, empa hape le polokelong ea polokelo ea Oracle. Feela, ho fapana le C *, polokelo ea database ena e bitsa feela khoeli ea hajoale (botebo bo lekaneng ba polokelo ea mohala bakeng sa linyeoe tsa ho nchafatsa). Mona re bone hang-hang bothata bo latelang: haeba re ngola ka mokhoa o lumellanang, joale re lahleheloa ke melemo eohle ea C * e amanang le ho kenya ka potlako; haeba re ngola ka mokhoa o sa lumellaneng, ha ho na tiiso ea hore li-call tsohle tse hlokahalang li kene ho Oracle ho hang. Ho ne ho e-na le kopanyo e le 'ngoe, empa e kholo: bakeng sa ts'ebetso ho ntse ho le joalo PL/SQL Developer e tloaelehileng, ke hore, re sebelisa mokhoa oa "Facade". Re kenya ts'ebetsong mokhoa o laollang mehala ho tsoa ho C *, o hula lintlha tse ling bakeng sa ho ntlafatsa litafoleng tse tsamaellanang ho Oracle, o kopanya lisampole tse hlahisoang ebe o re fa sephetho, seo re se sebelisang ka tsela e itseng (ho khutlela morao, ho pheta-pheta, ho sekaseka, ho babatsa). Cons: ts'ebetso e na le mehato e mengata, 'me ho feta moo, ha ho na sebopeho sa basebetsi ba ts'ebetso.

Qetellong, re ile ra rarolla khetho ea bobeli. Apache Spark e ne e sebelisetsoa ho etsa sampole ho tsoa linkhong tse fapaneng. Mohloli oa mochine o fokotsehile ho khoutu ea Java, eo, ka ho sebelisa linotlolo tse boletsoeng (mofani, nako ea ho letsetsa - linotlolo tsa karolo), e ntša data ho tswa ho C *, hammoho le lintlha tse hlokahalang bakeng sa ho ruisa ho tloha leha e le efe database. Ka mor'a moo e ba kopanya mohopolong oa eona mme e bonts'a sephetho tafoleng e hlahisoang. Re ile ra taka sefahleho sa marang-rang holim'a tlhase 'me ea bonahala e sebetsa.

Mokhoa oa ho sheba mahlong a Cassandra ntle le ho lahleheloa ke data, botsitso le tumelo ho NoSQL

Ha re rarolla bothata ba ho ntlafatsa lintlha tsa tlhahlobo ea indasteri, re ile ra boela ra nahana ka litharollo tse 'maloa. Ka bobeli li fetisoa ka Ssloader le khetho ea ho arola sehlopha se sebakeng sa liteko ka likarolo tse peli, tseo e 'ngoe le e 'ngoe e leng ea sehlopha se le seng le papatso, kahoo e tsamaisoa ke eona. Ha ho ntlafatsoa tlhahlobo, ho ne ho reriloe ho li fapanyetsana: karolo e sebetsang tekong e hlakotsoe ebe e kenngoa tlhahiso, 'me e' ngoe e qala ho sebetsa le data ka thoko. Leha ho le joalo, ka mor'a ho nahana hape, re ile ra hlahloba ka mokhoa o utloahalang boitsebiso bo lokelang ho fetisoa, 'me ra hlokomela hore mehala ka boeona ke ntho e sa lumellaneng bakeng sa liteko, e hlahisoang ka potlako ha ho hlokahala,' me ke sete ea data ea papatso e se nang bohlokoa ba ho fetisetsa ho teko. Ho na le lintho tse 'maloa tsa polokelo tse lokelang ho falla, empa tsena ke litafole tse' maloa, 'me ha li boima haholo. Ka hona re e le tharollo, Spark o ile a boela a thusa, ka thuso eo re ileng ra e ngola 'me ra qala ho sebelisa script bakeng sa ho fetisetsa data pakeng tsa litafole, prom-test.

Leano la rona la hona joale la thomello le re lumella ho sebetsa ntle le litšitiso. Pele ho promo, ho na le teko e tlamang ea teko, moo phoso e sa theko e boima haholo. Haeba ho hloleha, o ka lula o theola sebaka sa nyeoe ebe o phutha leano lohle ho tloha qalong.

Ho etsa bonnete ba hore Cassandra e lula e le teng, o hloka dba eseng eena feela. E mong le e mong ea sebetsang ka kopo o tlameha ho utloisisa hore na a ka sheba boemo ba hona joale joang le hore na a ka hlahloba mathata joang ka nako e nepahetseng. Ho etsa sena, re sebelisa ka mafolofolo DataStax OpsCenter (Taolo le ho lekola meroalo ea mosebetsi), metrics ea Cassandra Driver system (palo ea nako ea ho ngolla C *, palo ea nako ea ho bala ho tloha ho C *, latency e phahameng, joalo-joalo), hlokomela ts'ebetso. ea kopo ka boeona, e sebetsa le Cassandra.

Ha re nahana ka potso e fetileng, re ile ra hlokomela hore na kotsi ea rona e ka sehloohong e ka ba hokae. Tsena ke liforomo tsa ponts'o ea data tse bonts'ang data ho tloha lipotsong tse 'maloa tse ikemetseng ho ea polokelong. Ka tsela ena re ka fumana lintlha tse sa lumellaneng. Empa bothata bona bo ne bo tla ba ba bohlokoa ha re ka sebetsa le setsi se le seng feela sa data. Kahoo ntho e utloahalang ka ho fetisisa mona ke ho theha mosebetsi oa batch bakeng sa ho bala lintlha ka kopo ea motho oa boraro, e tla etsa bonnete ba hore data e amoheloa ka nako e le 'ngoe. Ha e le karohano ea ho bala le ho ngola ho latela tšebetso, mona re ile ra emisoa ke kotsi ea hore ka tahlehelo e itseng ea khokahano lipakeng tsa Ma-DC, re ka qetella re e-na le lihlopha tse peli tse sa lumellaneng ho hang.

Ka lebaka leo, hajoale E emisitse boemong ba ho ngola EACH_QUORUM, bakeng sa ho bala - LOCAL_QUORUM

Maikutlo le liqeto tse khutšoane

E le ho hlahloba tharollo e hlahisoang ho latela pono ea ts'ehetso ea ts'ebetso le litebello tsa tsoelo-pele e eketsehileng, re ile ra etsa qeto ea ho nahana hore na tsoelo-pele e joalo e ka sebelisoa hokae hape.

Ho tloha qalong feela, ebe data e fana ka lintlha bakeng sa mananeo a kang "Lefa ha ho loketse" (re kenya tlhahisoleseling ho C*, ho bala ho sebelisa Spark scripts), ho ikarabella bakeng sa likopo ka ho kopanya libaka, ho boloka mesebetsi le ho bala litokelo tsa phihlello ea mosebelisi ho latela karolo. matrix.

Joalokaha u ka bona, repertoire e pharaletseng ebile e fapane. 'Me haeba re khetha kampo ea batšehetsi / bahanyetsi ba NoSQL, joale re tla ikopanya le batšehetsi, kaha re fumane melemo ea rona, le hantle moo re neng re lebeletse teng.

Esita le khetho ea Cassandra ka ntle ho lebokose e lumella ho phahama ka nako ea sebele, ho rarolla bothata ba ho eketsa lintlha tsamaisong. Re khonne ho tsamaisa mochine o boima haholo bakeng sa ho bala li-call aggregates ka potoloho e arohaneng, hape re arola schema ea kopo le logic, ho tlosa mokhoa o mobe oa ho ngola mesebetsi e tloaelehileng le lintho ka har'a database ka boeona. Re ile ra fumana monyetla oa ho khetha le ho lokisa, ho potlakisa hore na ke li-DC life tseo re tla etsa lipalo ka tsona le hore na ke life tseo re tla rekota data ka tsona, ra inshorela khahlanong le ho oa ha batho ka bomong le DC ka kakaretso.

Ho sebelisa mohaho oa rona ho merero e mecha, 'me ke se ke ntse ke e-na le phihlelo e itseng, nka rata ho ela hloko hang-hang li-nuances tse hlalositsoeng ka holimo, le ho thibela liphoso tse ling, ho theola likhutlo tse bohale tse neng li ke ke tsa qojoa qalong.

Ka mohlala, boloka tlaleho ea lintlafatso tsa Cassandra ka nakohobane mathata a mangata ao re a fumaneng a ne a se a ntse a tsejoa le ho lokisoa.

Se ke oa beha database ka boeona le Spark libakeng tse tšoanang (kapa arola ka thata ka palo ea tšebeliso e lumelletsoeng ea lisebelisoa), kaha Spark e ka ja OP ho feta kamoo ho neng ho lebelletsoe, 'me re tla fumana nomoro ea bothata kapele lethathamong la rona.

Ntlafatsa boits'oaro le bokhoni ba ts'ebetso mothating oa tlhahlobo ea morero. Qalong, ela hloko ka hohle kamoo ho ka khonehang bareki bohle ba ka khonang ho rarolla tharollo ea rona, hobane sena ke seo sebopeho sa database se tla itšetleha ka sona.

Fetola potoloho e hlahisoang ka makhetlo a 'maloa bakeng sa ho ntlafatsa. Khetha hore na ke libaka life tse ka arolelanoang. Utloisisa hore na ke litafole life tse ling tseo re lokelang ho li etsa e le hore re nahanele ka nepo le ka nepo, ebe re fana ka tlhaiso-leseling e hlokahalang ha re e kopa (mohlala, ka ho nka hore re ka boloka data e tšoanang litafoleng tse fapaneng, re ela hloko likarohano tse fapaneng ho latela mekhoa e fapaneng, re ka boloka nako ea CPU haholo bakeng sa likopo tsa ho bala).

Ha se mpe Hang-hang fana ka ho hokela TTL le ho hloekisa data e siiloeng ke nako.

Ha o khoasolla data ho tsoa ho Cassandra Monahano oa ts'ebeliso o lokela ho sebetsa holima molao-motheo oa FETCH, hore e se be mela eohle e kentsoeng mohopolong hang, empa e khethiloe ka lihlopha.

Ho eletsoa pele o fetisetsa morero ho tharollo e hlalositsoeng hlahloba mamello ea phoso ea tsamaiso ka ho etsa letoto la liteko tsa ho senyeha, joalo ka tahlehelo ea data setsing se le seng sa data, ho tsosolosoa ha data e senyehileng ka nako e itseng, ho tlohela marang-rang pakeng tsa litsi tsa data. Liteko tse joalo li ke ke tsa lumella motho feela hore a hlahlobe melemo le boiketlo ba mohaho o reriloeng, empa hape o tla fana ka mokhoa o motle oa ho futhumatsa baenjiniere ba o tsamaisang, 'me tsebo e fumanoeng e tla ba hole le ho feta haeba ho hlōleha ha tsamaiso ho hlahisoa tlhahisong.

Haeba re sebetsa ka tlhahisoleseding e boima (e kang data bakeng sa ho lefella, palo ea mokoloto oa ba ngolisitseng), joale ho bohlokoa hape ho ela hloko lisebelisoa tse tla fokotsa likotsi tse hlahang ka lebaka la likarolo tsa DBMS. Mohlala, sebelisa sesebelisoa sa nodesync (Datastax), ka ho theha leano le nepahetseng bakeng sa ts'ebeliso ea lona ka tatellano. molemong oa ho tsitsa, u se ke oa etsa moroalo o feteletseng ho Cassandra le ho e sebelisa feela bakeng sa litafole tse itseng ka nako e itseng.

Ho etsahala'ng ka Cassandra ka mor'a likhoeli tse tšeletseng tsa bophelo? Ka kakaretso, ha ho na mathata a sa rarolloang. Hape ha rea ​​ka ra lumella likotsi tse mpe kapa tahlehelo ea data. E, re ile ra tlameha ho nahana ka ho lefella mathata a mang a neng a e-s'o ka a hlaha, empa qetellong sena ha sea ka sa koala tharollo ea rona ea meralo haholo. Haeba u batla 'me u sa tšabe ho leka ntho e ncha,' me ka nako e ts'oanang u sa batle ho soetseha haholo, joale u itokisetse taba ea hore ha ho letho le lokolohileng. U tla tlameha ho utloisisa, ho kenella ka har'a litokomane 'me u bokelle moqomo oa hau ho feta tharollo ea khale ea lefa,' me ha ho khopolo e tla u bolella esale pele hore na o emetse eng.

Source: www.habr.com

Eketsa ka tlhaloso