Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Tao anatin'ny taona vitsivitsy lasa izay, ny angon-drakitra andiam-potoana dia nivadika tamin'ny zavatra hafahafa (tena manokana ampiasaina amin'ny rafitra fanaraha-maso misokatra (ary mifamatotra amin'ny vahaolana manokana) na amin'ny tetikasa Big Data) ho lasa "vokatra mpanjifa". Ao amin'ny faritanin'ny Federasiona Rosiana dia tsy maintsy misaotra manokana ny Yandex sy ClickHouse noho izany. Mandra-pahatongan'ity fotoana ity, raha mila mitahiry angon-drakitra andiam-potoana be dia be ianao, dia tsy maintsy manaiky ny filΓ na hananganana stack Hadoop goavambe ary hikolokolo azy, na hifandray amin'ny protocols tsirairay ho an'ny rafitra tsirairay.

Mety ho toa amin'ny taona 2019 ny lahatsoratra iray momba ny TSDB mendrika hampiasaina dia tsy misy afa-tsy fehezanteny iray: "ampiasao fotsiny ny ClickHouse." Saingy ... misy ny nuance.

Eny tokoa, ny ClickHouse dia mivoatra mavitrika, mitombo ny mpampiasa, ary ny fanohanana dia tena mavitrika, saingy lasa takalon'aina ho an'ny fahombiazan'ny ClickHouse ho an'ny daholobe, izay nanaloka vahaolana hafa, angamba mahomby kokoa / azo itokisana?

Tamin'ny fiandohan'ny taona lasa, nanomboka namerina ny rafitra fanaraha-maso manokana izahay, izay nipoitra ny fanontaniana momba ny fisafidianana ny tahiry mety amin'ny fitahirizana angon-drakitra. Te hiresaka momba ny tantaran'io safidy io aho eto.

Fanambarana olana

Voalohany indrindra, sasin-teny ilaina. Nahoana isika no mila rafitra fanaraha-maso manokana ary ahoana no namolavolana azy?

Nanomboka nanome tolotra fanohanana izahay tamin'ny taona 2008, ary tamin'ny taona 2010 dia nanjary nazava fa nanjary sarotra ny manangona angon-drakitra momba ny fizotran'ny fotodrafitrasa mpanjifa miaraka amin'ireo vahaolana efa nisy tamin'izany fotoana izany (miresaka momba ny hoe Andriamanitra mamela ahy, Cacti, Zabbix ary ny Graphite mipoitra).

Ny tena takinay dia:

  • fanohanana (tamin'izany fotoana izany - am-polony, ary amin'ny ho avy - an-jatony) ny mpanjifa ao anatin'ny rafitra iray ary miaraka amin'izay koa ny fisian'ny rafitra fitantanana fanairana afovoany;
  • fahaiza-manao amin'ny fitantanana ny rafitra fanairana (fisondrotan'ny fanairana eo amin'ny mpiasan'ny adidy, ny fandaharam-potoana, ny fototry ny fahalalana);
  • ny fahaizana manadihady lalina ny sary (Zabbix tamin'izany fotoana izany dia nanao sary tamin'ny endrika sary);
  • fitehirizana maharitra ny angon-drakitra be dia be (taona na mihoatra) ary ny fahafahana mamerina azy haingana.

Amin'ity lahatsoratra ity dia mahaliana antsika ny teboka farany.

Raha resaka fitahirizana dia toy izao ny fepetra takiana:

  • ny rafitra dia tsy maintsy miasa haingana;
  • tiana ny manana interface SQL ny rafitra;
  • ny rafitra dia tsy maintsy miorina tsara ary manana fototra mpampiasa mavitrika sy fanohanana (rehefa niatrika ny filΓ na fanohanana rafitra toy ny MemcacheDB, izay tsy novolavolaina intsony, na ny fitehirizana fizarana MooseFS, izay notazonina tamin'ny teny sinoa ny mpitsikilo bibikely: averinay ity tantara ity ho an'ny tetikasanay tsy naniry);
  • fanarahana ny teorΓ©ma CAP: Consitency (takina) - ny angon-drakitra dia tsy maintsy manaraka ny daty, tsy tianay ny rafitra fitantanana fanairana mba tsy hahazo vaovao vaovao sy mandrora fanairana momba ny tsy fahatongavan'ny angona ho an'ny tetikasa rehetra; Fizarana Fandeferana (takina) - tsy te-hahazo rafitra Split Brain izahay; Availability (tsy manakiana, raha misy dika mitovy) - afaka mifindra amin'ny rafitra backup ny tenantsika raha misy loza, mampiasa code.

Mahagaga fa tamin'izany fotoana izany dia nanjary vahaolana tsara ho antsika ny MySQL. Tsotra dia tsotra ny firafitry ny angonay: id server, id counter, timestamp ary sanda; Ny santionany haingana amin'ny angona mafana dia noantoka tamin'ny dobo buffer lehibe, ary ny santionan'ny angona ara-tantara dia noantoka tamin'ny SSD.

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Noho izany, nahazo santionan'ny angon-drakitra roa herinandro vaovao izahay, miaraka amin'ny antsipiriany hatramin'ny 200 ms faharoa alohan'ny namoahana tanteraka ny angona, ary niaina tao anatin'ity rafitra ity nandritra ny fotoana ela.

Nandritra izany fotoana izany, nandeha ny fotoana ary nitombo ny habetsaky ny angona. Tamin'ny taona 2016, nahatratra terabytes am-polony ny habetsaky ny angon-drakitra, izay fandaniana lehibe amin'ny sehatry ny fitahirizana SSD nohofana.

Tamin'izany fotoana izany, ny angona tsanganana dia niparitaka be, izay nanomboka nieritreritra tamim-pahavitrihana izahay: amin'ny angon-drakitra tsanganana, ny angon-drakitra dia voatahiry, araka ny azonao takarina, ao anaty tsanganana, ary raha mijery ny angonay ianao, dia mora ny mahita lehibe. isan'ny dika mitovy izay mety, amin'ny Raha mampiasa angon-drakitra tsanganana ianao, dia manindry azy amin'ny fampiasana compression.

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Na izany aza, ny rafitra fototra ao amin'ny orinasa dia nitohy niasa tamim-pahatokiana, ary tsy te-hanandrana ny hifindra amin'ny zavatra hafa aho.

Tamin'ny taona 2017, tao amin'ny fihaonambe Percona Live tany San Jose, mety nanambara ny tenany voalohany ny mpamorona Clickhouse. Raha vao jerena dia efa vonona ny famokarana ny rafitra (tsara, rafitra famokarana henjana ny Yandex.Metrica), haingana sy tsotra ny fanohanana, ary ny tena zava-dehibe dia tsotra ny fandidiana. Nanomboka ny taona 2018 no nanomboka ny tetezamita. Saingy tamin'izany fotoana izany, be dia be ny rafitra TSDB "olon-dehibe" sy voasedra amin'ny fotoana, ary nanapa-kevitra ny hanokana fotoana be izahay ary hampitaha ireo safidy hafa mba hahazoana antoka fa tsy misy vahaolana hafa amin'ny Clickhouse, araka ny fepetra takinay.

Ho fanampin'ny fepetra fitahirizana efa voafaritra, dia nisy vaovao niseho:

  • ny rafitra vaovao dia tokony hanome farafaharatsiny mitovy amin'ny MySQL amin'ny habetsaky ny fitaovana;
  • ny fitahirizana ny rafitra vaovao dia tokony haka toerana kely kokoa;
  • Ny DBMS dia tsy maintsy mbola mora ny mitantana;
  • Te hanova kely ny fampiharana aho rehefa manova ny DBMS.

Inona no rafitra nanomboka nodinihinay?

Apache Hive/Apache Impala
Tahiry Hadoop tranainy efa voasedra ady. Raha ny tena izy, dia interface tsara SQL naorina an-tampon'ny fitehirizana angon-drakitra amin'ny endrika teratany amin'ny HDFS.

Pros.

  • Miaraka amin'ny fiasan'ny stable, dia tena mora ny manenjana angona.
  • Misy tsanganana vahaolana ho an'ny fitahirizana angon-drakitra (kely toerana).
  • Fanatanterahana haingana ireo asa mifanitsy rehefa misy loharanon-karena.

Maharatsy ny mifampiresaka.

  • Hadoop io, ary sarotra ny mampiasa azy. Raha tsy vonona ny handray vahaolana efa vita ao amin'ny rahona (ary tsy vonona amin'ny vidiny), ny stack iray manontolo dia tsy maintsy miangona sy tohanan'ny tanan'ny mpitantana, ary tena tsy tianay. ity.
  • Ny angona dia aggregate tena haingana.

Fa:

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Ny hafainganam-pandeha dia tratra amin'ny fampitomboana ny isan'ny mpizara informatika. Raha tsorina, raha orinasa lehibe isika, mirotsaka amin'ny fanadihadiana, ary tena zava-dehibe ho an'ny orinasa ny manangona vaovao haingana araka izay azo atao (na dia amin'ny vidin'ny fampiasana loharanon-karena be dia be aza), dia mety ho safidintsika izany. Saingy tsy vonona ny hampitombo ny fitaovam-pitaterana izahay mba hanafainganana ny asa.

Druid/Pinot

Betsaka kokoa ny momba ny TSDB manokana, fa indray, ny Hadoop stack.

Misy lahatsoratra lehibe mampitaha ny tombony sy ny tsy fahampian'ny Druid sy Pinot versus ClickHouse .

Amin'ny teny vitsivitsy: Druid/Pinot dia mijery tsara kokoa noho ny Clickhouse raha toa ka:

  • Manana toetra tsy mitovy amin'ny angon-drakitra ianao (amin'ity tranga ity dia tsy mirakitra andiam-potoanan'ny metrikan'ny mpizara fotsiny izahay, ary raha ny marina dia latabatra iray ihany izany. Saingy mety misy tranga hafa: andian-potoana fitaovana, andian-potoana ara-toekarena, sns. - samy manana ny firafiny manokana, izay mila aggregate sy amboarina).
  • Ambonin'izany, be dia be ity data ity.
  • Mipoitra sy manjavona ny tabilao sy angona miaraka amin'ny andiam-potoana (izany hoe tonga ny angon-drakitra sasany, nodinihina sy nofafana).
  • Tsy misy fepetra mazava ahafahana mizara ny angona.

Amin'ny toe-javatra mifanohitra amin'izany, ny ClickHouse dia miasa tsara kokoa, ary izany no tranga misy antsika.

clickhouse

  • SQL-tahaka
  • Mora mitantana.
  • Milaza ny olona fa mandaitra izany.

Nahazo lisitra fohy hanaovana fitiliana.

InfluxDB

Vahiny hafa ho an'ny ClickHouse. Amin'ireo minus: Ny Availability avo dia tsy misy afa-tsy amin'ny dikan-teny ara-barotra, fa mila ampitahaina.

Nahazo lisitra fohy hanaovana fitiliana.

Cassandra

Amin'ny lafiny iray, fantatsika fa izy io dia ampiasaina amin'ny fitehirizana ny fizaran-potoana metrika amin'ny rafitra fanaraha-maso toy ny, ohatra, SignalFX na OkMeter. Na izany aza, misy ny voafaritra.

Cassandra dia tsy angon-drakitra tsanganana amin'ny heviny mahazatra. Mitovitovy kokoa amin'ny fijery andalana izy io, fa ny andalana tsirairay dia mety manana isan'ny tsanganana hafa, ka mahatonga azy ho mora ny fandaminana ny tsanganana. Amin'io lafiny io, mazava ho azy fa amin'ny fetra 2 lavitrisa tsanganana, dia azo atao ny mitahiry angon-drakitra sasany amin'ny tsanganana (sy ny andiam-potoana mitovy). Ohatra, ao amin'ny MySQL dia misy fetran'ny tsanganana 4096 ary mora ny tafintohina amin'ny fahadisoana amin'ny code 1117 raha manandrana manao toy izany koa ianao.

Ny maotera Cassandra dia mifantoka amin'ny fitehirizana angon-drakitra be dia be ao anaty rafitra zaraina tsy misy tompony, ary ny teorem Cassandra CAP voalaza etsy ambony dia momba ny AP, izany hoe momba ny fisian'ny data sy ny fanoherana ny fisarahana. Noho izany, ity fitaovana ity dia mety ho tsara raha toa ka mila manoratra amin'ity tahiry ity ianao ary zara raha mamaky azy. Ary eto dia lojika ny fampiasana Cassandra ho fitahirizana "mangatsiaka". Izany hoe, toerana maharitra sy azo ianteherana hitehirizana angon-drakitra ara-tantara izay zara raha ilaina, saingy azo alaina raha ilaina. Na izany aza, ho an'ny fahafenoana dia hizaha toetra izany koa izahay. Saingy, araka ny nolazaiko teo aloha, dia tsy misy faniriana hanoratra indray ny kaody ho an'ny vahaolana momba ny angon-drakitra voafantina, noho izany dia hizaha toetra azy io isika - tsy misy fampifanarahana ny firafitry ny angona amin'ny mombamomba an'i Cassandra.

Prometheus

Eny, noho ny fahalianana dia nanapa-kevitra ny hitsapa ny fahombiazan'ny fitahirizana Prometheus izahay - mba hahafantarana raha haingana kokoa noho ny vahaolana ankehitriny izahay na miadana kokoa ary ohatrinona.

Fomba fitsapana sy valiny

Noho izany, nanandrana ny angona 5 izahay tamin'ireto fanamafisana 6 manaraka ireto: ClickHouse (node ​​1), ClickHouse (latabatra zaraina ho an'ny node 3), InfluxDB, Mysql 8, Cassandra (node ​​3) ary Prometheus. Ny drafitra fitsapana dia toy izao manaraka izao:

  1. mampakatra angona ara-tantara mandritra ny herinandro (840 tapitrisa sanda isan'andro; 208 arivo metrika);
  2. mamokatra enta-peo izahay (enta-mavesatra 6 no nodinihina, jereo eto ambany);
  3. Mifanaraka amin'ny firaketana, manao safidy tsindraindray izahay, maka tahaka ny fangatahan'ny mpampiasa iray miasa amin'ny tabilao. Mba tsy hanasarotra ny zavatra be loatra dia nisafidy angon-drakitra ho an'ny metrika 10 izahay (izany hoe ny isan'ny ao amin'ny grafika CPU) mandritra ny herinandro.

Mametraka entana izahay amin'ny alΓ lan'ny fakan-tahaka ny fihetsiky ny masoivoho mpanara-maso anay, izay mandefa sanda isaky ny metric isaky ny 15 segondra. Amin'izay fotoana izay ihany koa dia mahaliana antsika ny fahasamihafana:

  • ny fitambaran'ny metrika izay nanoratana ny angona;
  • elanelam-potoana handefasana sanda amin'ny metrika iray;
  • haben'ny batch.

Momba ny haben'ny batch. Koa satria tsy soso-kevitra ny hampiditra saika ny angon-drakitra andrana rehetra miaraka amin'ny fampidirana tokana, dia mila fampitaovana izay manangona metrika ho avy isika ary manambatra azy ireo ho vondrona ary manoratra azy ireo ao amin'ny angon-drakitra ho toy ny fampidirana andiany.

Ary koa, mba hahatakarana bebe kokoa ny fomba handikana ny angon-drakitra voaray, andeha hojerentsika fa tsy mandefa metrika maromaro fotsiny isika, fa ny metrika dia voalamina ho mpizara - 125 metrika isaky ny mpizara. Eto ny mpizara dia virtoaly virtoaly fotsiny - mba hahatakarana fotsiny fa, ohatra, metrika 10000 mifanandrify amin'ny mpizara 80 eo ho eo.

Ary eto, raha raisina an-tsaina izany rehetra izany, dia ny maodely fanoratana mavesatra 6 misy antsika:

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Misy teboka roa eto. Voalohany, ho an'i Cassandra ireo habe ireo dia nivadika ho lehibe loatra, teo izahay dia nampiasa sanda 50 na 100. Ary faharoa, satria ny Prometheus dia miasa mafy amin'ny fomba fisintonana, i.e. izy mihitsy no mandeha ary manangona angon-drakitra avy amin'ny loharanon'ny metrika (ary na dia ny pushgateway aza, na dia eo aza ny anarana, dia tsy manova tanteraka ny toe-javatra), ny entana mifanaraka amin'izany dia nampiharina tamin'ny alΓ lan'ny fitambaran'ny configs static.

Ny valin'ny fitsapana dia toy izao manaraka izao:

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Ahoana no nanandramanay angon-drakitra andiam-potoana maromaro

Inona no tokony ho marihina: santionany haingana be avy amin'ny Prometheus, santionany miadana be avy amin'i Cassandra, santionany miadana tsy azo ekena avy amin'ny InfluxDB; Eo amin'ny hafainganam-pandehan'ny firaketana, ny ClickHouse dia nandresy ny rehetra, ary ny Prometheus dia tsy mandray anjara amin'ny fifaninanana, satria manao insert ao anatiny ary tsy mandrefy na inona na inona isika.

Ho vokany,: ClickHouse sy InfluxDB dia naneho ny tenany ho ny tsara indrindra, fa ny cluster avy amin'ny Influx dia tsy azo amboarina afa-tsy amin'ny alΓ lan'ny dikan-teny Enterprise, izay mitentina vola, raha tsy misy vidiny ny ClickHouse ary vita any Rosia. Lojika fa any Etazonia ny safidy dia mety ho an'ny inInfluxDB, ary eto amin'ny firenentsika dia manohana ny ClickHouse.

Source: www.habr.com

Add a comment