Ahoana ny fijerena ny mason'i Cassandra nefa tsy very data, fahamarinan-toerana ary finoana ny NoSQL

Ahoana ny fijerena ny mason'i Cassandra nefa tsy very data, fahamarinan-toerana ary finoana ny NoSQL

Milaza izy ireo fa ny zava-drehetra eo amin'ny fiainana dia mendrika ny miezaka, fara fahakeliny, indray mandeha. Ary raha zatra miasa amin'ny relational DBMSs ianao, dia mendrika ny hifankahalala amin'ny NoSQL amin'ny fampiharana, voalohany indrindra, farafaharatsiny ho an'ny fampandrosoana ankapobeny. Ankehitriny, noho ny fivoarana haingana an'ity teknolojia ity, be dia be ny hevitra mifanipaka sy ny adihevitra mafana momba ity lohahevitra ity, izay indrindra mampirongatra ny fahalianana.
Raha dinihinao ny fototry ny fifandirana rehetra ireo, dia ho hitanao fa noho ny fomba tsy mety no nahatonga azy ireo. Ireo izay mampiasa angona NoSQL amin'ny toerana ilana azy dia afa-po ary mahazo ny tombony rehetra amin'ity vahaolana ity. Ary diso fanantenana ireo mpanandrana izay miantehitra amin'ity teknolojia ity ho toy ny fanafody izay tsy azo ampiharina mihitsy, satria very ny tanjaky ny angon-drakitra mifandraika nefa tsy nahazo tombony lehibe.

Holazaiko aminao ny traikefanay amin'ny fampiharana vahaolana mifototra amin'ny Cassandra DBMS: ny zavatra tsy maintsy niatrehanay, ny fomba nivoahan'ny toe-javatra sarotra, na afaka nandray soa tamin'ny fampiasana NoSQL izahay ary ny toerana tsy maintsy nampiasanay ezaka/vola fanampiny. .
Ny asa voalohany dia ny fananganana rafitra izay mirakitra ny antso amin'ny karazana fitahirizana sasany.

Ny fitsipiky ny fiasan'ny rafitra dia toy izao manaraka izao. Ny fampidirana dia ahitana rakitra misy rafitra manokana izay mamaritra ny firafitry ny antso. Ny fampiharana dia miantoka fa io rafitra io dia voatahiry ao amin'ny tsanganana mety. Amin'ny ho avy, ny antso voatahiry dia ampiasaina hanehoana fampahalalana momba ny fanjifana fifamoivoizana ho an'ny mpanjifa (saram-bola, antso, tantaram-pandanjana).

Ahoana ny fijerena ny mason'i Cassandra nefa tsy very data, fahamarinan-toerana ary finoana ny NoSQL

Tena mazava tsara ny antony nisafidianan'izy ireo an'i Cassandra - manoratra toy ny basy milina izy, mora mivelatra, ary mandefitra amin'ny fahadisoana.

Izany no nomen'ny traikefa anay

Eny, tsy loza ny node tsy nahomby. Izany no fototry ny fandeferana amin'ny fahadisoan'i Cassandra. SAINGY ny node dia mety ho velona ary miaraka amin'izay koa manomboka mijaly amin'ny fampisehoana. Raha ny fantatra dia misy fiantraikany avy hatrany amin'ny asan'ny cluster manontolo izany.

Tsy hiaro anao i Cassandra izay namonjen'i Oracle anao tamin'ny teritery. Ary raha tsy nahatakatra izany mialoha ny mpanoratra ny fampiharana, dia tsy ratsy noho ny tany am-boalohany ny avo roa heny ho an'i Cassandra. Rehefa tonga izany dia apetrakay ao.

IB dia tsy tia an'i Cassandra afaka nivoaka tao anaty boaty: Tsy misy firaketana ny hetsika ataon'ny mpampiasa, tsy misy fanavahana ny zo. Ny fampahalalana momba ny antso dia heverina ho angon-drakitra manokana, izay midika fa ny fikasana rehetra hangataka/hanova azy amin'ny fomba rehetra dia tsy maintsy apetraka miaraka amin'ny mety hisian'ny fanaraha-maso manaraka. Ary koa, mila mahafantatra ianao fa ilaina ny manasaraka ny zo amin'ny ambaratonga samihafa ho an'ny mpampiasa samihafa. Injeniera fampandehanana tsotra sy mpitantana ambony afaka mamafa an-kalalahana ny habaka fanalahidy manontolo dia andraikitra samihafa, andraikitra samihafa ary fahaiza-manao. Raha tsy misy fanavahana ny zon'ny fidirana toy izany, ny sanda sy ny fahamendrehan'ny angon-drakitra dia ho tonga amin'ny fanontaniana haingana kokoa noho ny haavon'ny tsy fitoviana ANY.

Tsy noheverinay fa mitaky famakafakana matotra sy santionany tsindraindray ny antso ho an'ny fepetra isan-karazany. Koa satria ireo rakitsoratra voafantina dia tokony ho voafafa sy averina soratana (ho ampahany amin'ny asa, tsy maintsy manohana ny fizotran'ny fanavaozana angon-drakitra isika rehefa diso ny nidiran'ny angon-drakitra tamin'ny voalohany), tsy namantsika eto i Cassandra. Cassandra dia toy ny banky piggy - mety ny mametraka zavatra ao anatiny, saingy tsy azonao isaina izany.

Nisedra olana tamin'ny famindrana angona ho any amin'ny faritra andrana (5 nodes amin'ny fitsapana versus 20 amin'ny prom). Amin'ity tranga ity dia tsy azo ampiasaina ny fanariam-pako.

Ny olana amin'ny fanavaozana ny skema angon-drakitra momba ny fampiharana manoratra amin'i Cassandra. Ny famerenana indray dia hiteraka fasana maro be, izay mety hitarika amin'ny fahaverezan'ny vokatra amin'ny fomba tsy ampoizina.. Cassandra dia optimized ho an'ny firaketana an-tsoratra, ary tsy mieritreritra be alohan'ny hanoratana. Izay fandidiana misy angona efa misy ao dia firaketana ihany koa. Izany hoe, amin'ny famafana ny tsy ilaina dia hamokatra rakitsoratra bebe kokoa fotsiny isika, ary ny sasany amin'izy ireo ihany no asiana marika fasana.

Ny fe-potoana rehefa ampidirina. Cassandra dia tsara tarehy amin'ny fandraisam-peo, saingy indraindray ny fikorianan'ny miditra dia mety hanahirana azy. Mitranga izany rehefa manomboka mihodinkodina amin'ny rakitra maromaro izay tsy azo ampidirina noho ny antony. Ary mila DBA tena izy isika izay hanara-maso ny gc.log, ny rafitra ary ny diarin'ny debug ho an'ny fanontaniana miadana, metrika amin'ny fametahana miandry.

Foibe angona maromaro ao anaty cluster. Aiza no hamakiana ary aiza no hanoratana?
Sao dia misaraka amin'ny famakiana sy fanoratana? Ary raha izany, tokony hisy DC akaiky kokoa ny fangatahana fanoratana na famakiana? Ary tsy hiafara amin'ny atidoha misara-bazana tokoa ve isika raha misafidy ny haavon'ny tsy fitoviana diso? Be dia be ny fanontaniana, be dia be ny toe-javatra tsy fantatra, ny mety ho tena tianao tinker.

Ahoana no nanapa-kevitray

Mba tsy hilentika ny node dia nesorina ny SWAP. Ary ankehitriny, raha tsy ampy ny fitadidiana, dia tokony hidina ny node ary tsy hamorona fiatoana gc lehibe.

Noho izany, tsy miantehitra amin'ny lojika ao anaty angon-drakitra intsony isika. Miofana indray ny mpamorona fampiharana ary manomboka mazoto mandray fepetra amin'ny kaody manokana. Fisarahana mazava tsara amin'ny fitahirizana sy fanodinana angon-drakitra.

Nividy fanohanana avy amin'ny DataStax izahay. Efa nitsahatra ny fampivoarana an'i Cassandra baoritra (tamin'ny Febroary 2018 ny fanoloran-tena farany). Mandritra izany fotoana izany, Datastax dia manolotra serivisy tsara sy vahaolana marobe novaina sy namboarina ho an'ny vahaolana IP efa misy.

Tiako koa ny manamarika fa i Cassandra dia tsy mety amin'ny fanontaniana mifantina. Mazava ho azy fa dingana lehibe ho an'ny mpampiasa ny CQL (raha ampitahaina amin'ny Trift). Saingy raha manana departemanta manontolo ianao izay zatra amin'ny fidirana mora toy izany, sivana maimaim-poana amin'ny sehatra rehetra sy ny fahaiza-manao fanatsarana ny fanontaniana, ary ireo sampana ireo dia miasa amin'ny famahana ny fitarainana sy ny loza, dia toa manohitra sy adala amin'izy ireo ny vahaolana momba an'i Cassandra. Ary nanomboka nanapa-kevitra izahay hoe ahoana no tokony hataon'ny mpiara-miasa aminay santionany.

Safidy roa no nodinihinay. Ao amin'ny safidy voalohany, manoratra antso tsy amin'ny C* ihany, fa ao amin'ny tahiry Oracle voatahiry ihany koa. Ihany, tsy toy ny C*, ity tahirin-kevitra mitahiry antso afa-tsy amin'ny volana ankehitriny (ampy ny halalin'ny fitahirizana antso ho an'ny recharging tranga). Eto isika dia nahita avy hatrany ity olana manaraka ity: raha manoratra synchronous isika, dia very ny tombontsoa rehetra amin'ny C* mifandray amin'ny fampidirana haingana; raha manoratra asynchronously isika, dia tsy misy antoka fa ny antso ilaina rehetra dia tafiditra ao amin'ny Oracle. Nisy fanampiny iray, fa lehibe iray: ho an'ny fampandehanana ilay PL/SQL Developer efa mahazatra dia mijanona, izany hoe mampihatra ny lamina "Facade" izahay. Safidy hafa. Mametraka mekanika izahay izay manala ny antso avy amin'ny C*, misintona angon-drakitra sasany ho fanatsarana avy amin'ireo tabilao mifanandrify amin'ny Oracle, manatevin-daharana ireo santionany vokarina ary manome anay ny valiny, izay ampiasantsika amin'ny fomba ahoana (avereno, avereno, anadihady, ankafizina). Cons: ny dingana dia somary multi-dingana, ary ankoatra izany, tsy misy interface tsara ho an'ny mpiasa miasa.

Tamin'ny farany dia nipetraka tamin'ny safidy faharoa izahay. Apache Spark dia nampiasaina hanandrana avy amin'ny siny samihafa. Ny maha-zava-dehibe ny mekanika dia nihena ho Java code, izay mampiasa ny fanalahidy voatondro (mpisoratra anarana, fotoana fiantsoana - fizarana fanalahidin'ny), misintona angona avy amin'ny C *, ary koa ny angon-drakitra ilaina ho an'ny fanatsarana avy amin'ny tahiry hafa. Aorian'izay dia ampidiriny ao amin'ny fitadidiany izy ireo ary asehony ao amin'ny tabilao vokatra ny valiny. Nanao sary an-tranonkala teo ambonin'ilay pitik'afo izahay ary hita fa azo ampiasaina.

Ahoana ny fijerena ny mason'i Cassandra nefa tsy very data, fahamarinan-toerana ary finoana ny NoSQL

Rehefa mamaha ny olana amin'ny fanavaozana ny angon-drakitra fitsapana indostrialy, dia nandinika vahaolana maromaro indray izahay. Samy mamindra amin'ny alalan'ny Sstloader sy ny safidy amin'ny fizarana ny cluster ao amin'ny faritra fitsapana ho fizarana roa, izay ny tsirairay amin'izy ireo dia mifandimby an'ny vondrona iray ihany miaraka amin'ny fampiroboroboana, noho izany dia ampiasainy. Rehefa manavao ny fitsapana dia nokasaina ny hanakalo azy ireo: ny ampahany niasa tamin'ny fitsapana dia nesorina ary niditra tao amin'ny famokarana, ary ny iray dia manomboka miasa miaraka amin'ny angon-drakitra misaraka. Na izany aza, rehefa avy nieritreritra indray izahay, dia nanombantombana kokoa ny angon-drakitra mendrika hamindrana, ary nahatsapa fa ny antson'izy ireo dia fikambanana tsy mifanaraka amin'ny fitsapana, natsangana haingana raha ilaina, ary ny angon-drakitra fampiroboroboana izay tsy misy lanjany amin'ny famindrana amin'ny fitsapana. Misy zavatra fitahirizana maromaro izay mendrika ny mihetsika, saingy latabatra roa ara-bakiteny ireo fa tsy mavesatra loatra. Noho izany isika ho vahaolana, Spark indray tonga hamonjy, miaraka amin'ny fanampian'ny izay nosoratanay ary nanomboka mavitrika mampiasa script ho an'ny famindrana angona eo amin'ny latabatra, prom-test.

Ny politikan'ny fametrahanay ankehitriny dia ahafahantsika miasa tsy misy famerenana. Alohan'ny promo dia misy ny fitsapana tsy maintsy atao, izay tsy dia lafo loatra ny fahadisoana. Raha sendra tsy fahombiazana dia azonao atao foana ny manary ny casespace ary manodina ny drafitra manontolo hatrany am-piandohana.

Mba hahazoana antoka ny fisian'ny Cassandra tsy tapaka dia mila dba ianao fa tsy izy ihany. Ny olona rehetra miasa amin'ny fampiharana dia tsy maintsy mahatakatra ny toerana sy ny fomba hijerena ny zava-misy ankehitriny ary ny fomba hamantarana ireo olana ara-potoana. Mba hanaovana izany, dia mampiasa mavitrika DataStax OpsCenter (Fitantanana sy fanaraha-maso ny enta-mavesatra), ny rafitra Cassandra Driver (isan'ny fe-potoana hanoratana amin'ny C*, ny isan'ny fotoana famakian-teny avy amin'ny C*, ny fetra farany ambony indrindra, sns), manara-maso ny fandidiana. ny fampiharana mihitsy, miara-miasa amin'i Cassandra.

Rehefa nieritreritra an'ilay fanontaniana teo aloha izahay, dia tonga saina hoe aiza no mety ho loza mety hitranga. Ireo dia endrika fampisehoana data izay mampiseho angona avy amin'ny fanontaniana tsy miankina maromaro mankany amin'ny fitahirizana. Amin'izany fomba izany dia afaka mahazo vaovao tsy mifanaraka isika. Saingy ity olana ity dia mety ho manan-danja ihany raha toa ka miara-miasa amin'ny foibe data iray ihany izahay. Noho izany, ny zavatra mitombina indrindra eto dia mazava ho azy, ny mamorona fiasa batch amin'ny famakiana angon-drakitra amin'ny fampiharana an'ny antoko fahatelo, izay hiantoka fa voaray ao anatin'ny fotoana iray ny angona. Raha ny fizarana amin'ny famakiana sy fanoratana amin'ny lafiny fampisehoana, eto isika dia voasakana noho ny loza mety hitranga amin'ny fahaverezan'ny fifandraisana eo amin'ny DC, dia mety hiafara amin'ny cluster roa izay tsy mifanaraka tanteraka amin'ny tsirairay.

Vokany, amin'izao fotoana izao nijanona teo amin'ny ambaratonga tsy miovaova amin'ny fanoratana EACH_QUORUM, amin'ny famakiana - LOCAL_QUORUM

Hevitra sy fehin-kevitra fohy

Mba hanombanana ny vahaolana aterak'izany amin'ny fomba fijery ny fanohanana ara-pahombiazana sy ny fanantenana ho amin'ny fampandrosoana bebe kokoa, dia nanapa-kevitra ny hieritreritra ny toerana hafa azo ampiharina toy izany fampandrosoana.

Avy eo, avy eo ny angon-drakitra naoty ho an'ny programa toy ny "Mandoa vola rehefa mety" (mampiditra fampahalalana ao amin'ny C* izahay, kajy amin'ny alàlan'ny script Spark), kajy ny fitakiana miaraka amin'ny fitambaran'ny faritra, fitehirizana anjara ary kajy ny zon'ny mpampiasa mifototra amin'ny anjara. matrix.

Araka ny hitanao, ny repertoire dia malalaka sy isan-karazany. Ary raha misafidy ny tobin'ny mpanohana/mpanohitra ny NoSQL izahay, dia hiaraka amin'ireo mpanohana, satria nahazo ny tombonyy izahay, ary tamin'ny toerana tena nampoizina.

Na ny safidy Cassandra ivelan'ny boaty aza dia mamela ny fanamafisam-peo amin'ny fotoana tena izy, mamaha tanteraka ny olana amin'ny fitomboan'ny angona ao amin'ny rafitra. Afaka namindra mekanika tena be entana izahay hanisa ny fitambaran'ny antso ho any amin'ny faritra mitokana, ary nanasaraka ihany koa ny schema sy ny lojika fampiharana, nanala ny fomba ratsy amin'ny fanoratana asa sy zavatra manokana ao amin'ny tahiry. Afaka nisafidy sy nanamboatra izahay, mba hanafainganana, izay DC no hataonay kajikajy ary iza no horaketinay ny angon-drakitra, niantoka ny tenanay tamin'ny fianjeran'ny node tsirairay sy ny DC amin'ny ankapobeny.

Ny fampiharana ny maritranontsika amin'ny tetikasa vaovao, ary efa manana traikefa, dia te-hijery avy hatrany ireo nuance voalaza etsy ambony aho, ary hisorohana ny fahadisoana sasany, hanadio ny zoro maranitra sasany izay tsy azo ialana amin'ny voalohany.

Ohatra, araho ara-potoana ny fanavaozan'i Cassandrasatria betsaka ny olana azonay efa fantatra sy voavaha.

Aza apetraka ao amin'ny nodes iray ihany ny angon-drakitra sy ny Spark (na zarao mafy amin'ny habetsaky ny fampiasana loharano azo ekena), satria ny Spark dia afaka mihinana OP bebe kokoa noho ny nantenaina, ary hahazo olana laharana 1 haingana avy amin'ny lisitray izahay.

Hatsarao ny fanaraha-maso sy ny fahaiza-manao eo amin'ny sehatry ny fitsapana ny tetikasa. Amin'ny voalohany, diniho araka izay tratra ny mpanjifa mety ho an'ny vahaolana ataontsika, satria io no hiankinan'ny rafitry ny database.

Ahodina im-betsaka ny fizaran-tany azo atao mba ho fanatsarana. Fidio izay saha azo atao serialized. Fantaro hoe inona ny latabatra fanampiny tokony hataontsika mba horaisina tsara sy tsara indrindra, ary avy eo manome ny fampahalalana ilaina amin'ny fangatahana (ohatra, amin'ny fiheverana fa afaka mitahiry ireo angona mitovy amin'ny tabilao samihafa isika, amin'ny fiheverana ny fahapotehana samihafa araka ny fepetra samihafa, afaka mitahiry fotoana betsaka amin'ny CPU isika amin'ny fangatahana famakiana).

Tsy ratsy Omeo avy hatrany ny fametahana TTL sy ny fanadiovana ny angona efa lany andro.

Rehefa misintona angona avy amin'i Cassandra Ny lojika fampiharana dia tokony hiasa amin'ny fitsipika FETCH, ka tsy ny andalana rehetra no ampidirina ao anaty fitadidiana indray mandeha, fa voafantina ao anaty andiany.

Tsara alohan'ny hamindrana ny tetikasa amin'ny vahaolana voalaza jereo ny fandeferana ny fahadisoan'ny rafitra amin'ny alalan'ny fanaovana fitiliana fianjerana, toy ny fahaverezan'ny angon-drakitra ao amin'ny foibe angona iray, famerenana amin'ny laoniny ny angona simba nandritra ny fe-potoana iray, ny fahatapahan'ny tambajotra eo anelanelan'ny ivontoerana data. Ny fitsapana toy izany dia tsy hamela ny olona hanombantombana ny tombony sy ny fatiantoka amin'ny maritrano natolotra, fa koa hanome fanazaran-tena tsara ho an'ny injeniera mitarika azy ireo, ary ny fahaiza-manao azo dia tsy ho tafahoatra raha toa ka averina amin'ny famokarana ny tsy fahombiazan'ny rafitra.

Raha miasa miaraka amin'ny fampahalalana manan-danja isika (toy ny angon-drakitra momba ny faktiora, ny kajy ny trosan'ny mpanjifa), dia ilaina ihany koa ny mandinika ireo fitaovana izay hampihena ny loza ateraky ny DBMS. Ohatra, ampiasao ny utility nodesync (Datastax), rehefa namolavola paikady tsara indrindra amin'ny fampiasana azy amin'ny filaharana noho ny tsy fitoviana, aza mamorona enta-mavesatra be loatra amin'i Cassandra ary ampiasao izany ho an'ny latabatra sasany ao anatin'ny fe-potoana iray.

Inona no mitranga amin'i Cassandra rehefa afaka enim-bolana? Amin'ny ankapobeny, tsy misy olana tsy voavaha. Tsy namela loza lehibe na fahaverezan'ny angona ihany koa izahay. Eny, tsy maintsy nieritreritra momba ny fanonerana ny olana sasany izay mbola tsy nitranga teo aloha, fa tamin'ny farany dia tsy nandrahona ny vahaolana ara-maritrano. Raha tianao ary tsy matahotra ny hanandrana zava-baovao, ary miaraka amin`izay koa tsy te ho diso fanantenana loatra, dia miomàna amin`ny zava-misy fa tsy misy na inona na inona maimaim-poana. Tsy maintsy mahatakatra ianao, miditra ao amin'ny antontan-taratasy ary manangona ny rake manokana anao mihoatra noho ny vahaolana lova taloha, ary tsy misy teoria hilaza aminao mialoha hoe iza no rake miandry anao.

Source: www.habr.com

Add a comment