Kamoo re lekileng li-database tsa letoto la linako tse ngata

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Lilemong tse 'maloa tse fetileng, li-database tsa letoto la nako li fetohile ntho e makatsang (e khethehileng haholo e sebelisoang e ka ba lits'ebetsong tse bulehileng tsa ho beha leihlo (mme e hokahane le litharollo tse ikhethileng) kapa mererong ea Big Data) ho ba "sehlahisoa sa bareki". Sebakeng sa Russia Federation, liteboho tse khethehileng li tlameha ho fuoa Yandex le ClickHouse bakeng sa sena. Ho fihlela nakong ena, haeba o ne o hloka ho boloka data e ngata ea letoto la nako, o kanna oa tlameha ho amohela tlhoko ea ho haha ​​​​stack ea Hadoop e nyarosang le ho e boloka, kapa ho buisana le liprothokholo tsa motho ka mong bakeng sa sistimi ka 'ngoe.

Ho kanna ha bonahala eka ka 2019 sengoloa seo TSDB e lokelang ho se sebelisa se tla ba le polelo e le 'ngoe feela: "sebelisa ClickHouse feela." Empa ... ho na le li-nuances.

Ka sebele, ClickHouse e ntse e tsoela pele ka mafolofolo, setsi sa basebelisi se ntse se hōla, 'me tšehetso e sebetsa haholo, empa na re fetohile baholehi ba katleho ea sechaba ea ClickHouse, e koahetseng tse ling, mohlomong tse sebetsang haholoanyane / tse ka tšeptjoang?

Mathoasong a selemo se fetileng, re ile ra qala ho nchafatsa mokhoa oa rona oa ho beha leihlo, moo potso e ileng ea hlaha ea ho khetha database e loketseng bakeng sa ho boloka data. Ke batla ho bua ka nalane ea khetho ena mona.

Mokhoa oa bothata

Pele ho tsohle, selelekela se hlokahalang. Hobaneng re hloka mokhoa oa rona oa ho beha leihlo ho hang mme o entsoe joang?

Re qalile ho fana ka lits'ebeletso tsa ts'ehetso ka 2008, 'me ka 2010 ho ile ha hlaka hore ho ile ha e-ba thata ho bokella lintlha tse mabapi le lits'ebetso tse hlahang mohahong oa bareki ka tharollo e neng e le teng ka nako eo (re bua ka, Molimo a ntšoarele, Cacti, Zabbix. le Grafite e hlahang).

Litlhoko tsa rona tsa mantlha e ne e le:

  • tšehetso (ka nako eo - tse ngata, 'me nakong e tlang - makholo) ea bareki ka har'a tsamaiso e le' ngoe 'me ka nako e ts'oanang ho ba teng ha tsamaiso ea tlhokomelo ea bohareng;
  • ho feto-fetoha ha maemo ho laola tsamaiso ea tlhokomeliso (ho eketseha ha litlhokomeliso pakeng tsa liofisiri tsa mosebetsi, kemiso, motheo oa tsebo);
  • bokhoni ba ho qaqisa li-graph ka botebo (Zabbix ka nako eo e ne e fana ka li-graph ka mokhoa oa litšoantšo);
  • polokelo ea nako e telele ea data e ngata (selemo kapa ho feta) le bokhoni ba ho e fumana kapele.

Sehloohong sena re thahasella ntlha ea ho qetela.

Ha re bua ka polokelo, litlhoko e ne e le tse latelang:

  • tsamaiso e tlameha ho sebetsa ka potlako;
  • ke ntho e lakatsehang hore tsamaiso e na le sebopeho sa SQL;
  • Sistimi e tlameha ho tsitsa 'me e be le mosebelisi ea sebetsang le ts'ehetso (hang ha re tobane le tlhoko ea ho ts'ehetsa lits'ebetso tse joalo ka MemcacheDB, e neng e se e sa ntlafatsoe, kapa polokelo e ajoang ea MooseFS, tracker ea bug e bolokiloeng ka Sechaena: re pheta pale ena bakeng sa morero oa rona o ne a sa batle);
  • ho lumellana le khopolo ea CAP: Consitency (e hlokehang) - data e tlameha ho ba ea morao-rao, ha re batle tsamaiso ea tlhokomelo ea ho se fumane lintlha tse ncha le ho tšoela litemoso mabapi le ho se fihle ha data bakeng sa merero eohle; Partition Tolerance (e hlokehang) - ha re batle ho fumana tsamaiso ea Split Brain; Ho fumaneha (ha ho bohlokoa, haeba ho na le setšoantšo se sebetsang) - re ka fetohela ho "backup system" ka borōna ha ho ka hlaha kotsi, re sebelisa khoutu.

Ka mokhoa o makatsang, ka nako eo MySQL e ile ea fetoha tharollo e nepahetseng bakeng sa rona. Sebopeho sa rona sa data se ne se le bonolo haholo: id ea seva, id ea counter, setempe sa nako le boleng; sampole e potlakileng ea data e chesang e netefalitsoe ke letamo le leholo la buffer, mme sampole ea data ea nalane e netefalitsoe ke SSD.

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Kahoo, re fihletse sampole ea data e ncha ea libeke tse peli, e nang le lintlha tse tlase ho isa ho 200 ms ea bobeli pele data e fanoa ka botlalo, mme re phela tsamaisong ena nako e telele haholo.

Ho sa le joalo, nako e ile ea feta 'me palo ea data e ile ea eketseha. Ka 2016, palo ea data e fihlile ho mashome a li-terabyte, e leng litšenyehelo tse kholo molemong oa polokelo ea SSD e hiriloeng.

Ka nako ena, li-database tsa li-column li ne li se li atile haholo, tseo re ileng ra qala ho nahana ka tsona ka mafolofolo: ho li-database tsa li-columnar, data e bolokiloe, kamoo u ka utloisisang kateng, ka likholomo, 'me ha u sheba lintlha tsa rona, ho bonolo ho e bona. palo ea tse kopitsoang tse ka khonang, ho Haeba u sebelisa polokelo ea polokelo ea kholomo, ho e hatella ka ho hatella.

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Leha ho le joalo, tsamaiso ea bohlokoa ea k'hamphani e ile ea tsoela pele ho sebetsa ka mokhoa o tsitsitseng, 'me ke ne ke sa batle ho leka ho fetola ntho e' ngoe.

Ka 2017, kopanong ea Percona Live e San Jose, mohlomong baetsi ba Clickhouse ba ile ba itlhahisa ka lekhetlo la pele. Ha u sheba ka lekhetlo la pele, tsamaiso e ne e loketse tlhahiso (hantle, Yandex.Metrica ke tsamaiso e thata ea tlhahiso), tšehetso e ne e potlakile ebile e le bonolo, 'me, haholo-holo, ts'ebetso e ne e le bonolo. Ho tloha ka 2018, re qalile tšebetso ea phetoho. Empa ka nako eo, ho ne ho e-na le mekhoa e mengata ea "batho ba baholo" le ea nako e lekiloeng ea TSDB, 'me re ile ra etsa qeto ea ho qeta nako e ngata le ho bapisa mekhoa e meng e le ho etsa bonnete ba hore ha ho na mekhoa e meng ea ho rarolla mathata a Clickhouse, ho latela litlhoko tsa rona.

Ntle le litlhoko tse seng li boletsoe tsa polokelo, tse ncha li hlahile:

  • tsamaiso e ncha e lokela ho fana ka bonyane ts'ebetso e tšoanang le ea MySQL ka tekanyo e lekanang ea hardware;
  • polokelo ea sistimi e ncha e lokela ho nka sebaka se fokolang haholo;
  • DBMS e ntse e tlameha ho ba bonolo ho e laola;
  • Ke ne ke batla ho fetola kopo hanyane ha ke fetola DBMS.

Re ile ra qala ho nahana ka litsamaiso life?

Apache Hive / Apache Impala
Sekepe sa khale sa Hadoop se lekiloeng ntoeng. Ha e le hantle, ke sebopeho sa SQL se hahiloeng holim'a ho boloka data ka mekhoa ea tlhaho ho HDFS.

Melemo.

  • Ka ts'ebetso e tsitsitseng, ho bonolo haholo ho lekanya data.
  • Ho na le tharollo ea likholomo bakeng sa polokelo ea data (sebaka se fokolang).
  • Phethahatso e potlakileng haholo ea mesebetsi e bapileng ha lisebelisoa li le teng.

Cons

  • Ke Hadoop, 'me ho thata ho e sebelisa. Haeba re sa itokisetsa ho nka tharollo e lokiselitsoeng ka leru ('me ha re e-so itokise ho ea ka litšenyehelo), stack eohle e tla tlameha ho bokelloa le ho tšehetsoa ke matsoho a admins,' me ha e le hantle ha re batle. sena.
  • Lintlha li kopantsoe ka potlako haholo.

Leha ho le joalo:

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Lebelo le fihlelleha ka ho lekanya palo ea li-server tsa komporo. Ka mantsoe a bonolo feela, haeba re le k'hamphani e kholo, e sebetsanang le li-analytics, 'me ho bohlokoa hore khoebo e bokelle tlhahisoleseling kapele kamoo ho ka khonehang (esita le ka litšenyehelo tsa ho sebelisa lisebelisoa tse ngata tsa komporo), sena e kanna ea ba khetho ea rona. Empa re ne re sa itokisetsa ho atisa likepe tsa hardware ho potlakisa mesebetsi.

Druid/Pinot

Ho na le ho hongata ka TSDB ka ho khetheha, empa hape, stack ea Hadoop.

Ho na le sengoloa se setle ha se bapisa melemo le likotsi tsa Druid le Pinot khahlano le ClickHouse .

Ka mantsoe a seng makae: Druid/Pinot e shebahala e le betere ho feta Clickhouse maemong ao:

  • U na le mofuta o fapaneng oa data (ho rona, re rekota feela linako tsa metrics ea seva, 'me, ha e le hantle, ena ke tafole e le' ngoe. Empa ho ka 'na ha e-ba le linyeoe tse ling: letoto la nako ea lisebelisoa, letoto la nako ea moruo, joalo-joalo - e 'ngoe le e' ngoe e na le sebopeho sa sona, se hlokang ho kopanngoa le ho sebetsoa).
  • Ho feta moo, ho na le data ena e ngata.
  • Litafole le lintlha tse nang le letoto la nako li hlaha 'me lia nyamela (ke hore, data e itseng e fihlile, e ile ea hlahlojoa le ho hlakoloa).
  • Ha ho na mokhoa o hlakileng oa hore na data e ka aroloa joang.

Maemong a fapaneng, ClickHouse e sebetsa betere, 'me ke taba ea rona.

TlanyaHouse

  • SQL-joaloka
  • Ho bonolo ho laola.
  • Batho ba re e ea sebetsa.

E ba lethathamong la likhetho bakeng sa tlhahlobo.

InfluxDB

Mokhoa o mong oa kantle ho ClickHouse. Har'a li-minus: Ho fumaneha ho phahameng ho teng feela ka mokhoa oa khoebo, empa ho hloka ho bapisoa.

E ba lethathamong la likhetho bakeng sa tlhahlobo.

Cassandra

Ka lehlakoreng le leng, rea tseba hore e sebelisoa ho boloka linako tsa metric ka mekhoa ea ho beha leihlo joalo ka mohlala, SignalFX kapa OkMeter. Leha ho le joalo, ho na le lintlha tse tobileng.

Cassandra ha se polokelo ea litaba ka mokhoa oa setso. E shebahala joalo ka pono ea mola, empa mola o mong le o mong o ka ba le palo e fapaneng ea likholomo, e leng ho etsang hore ho be bonolo ho hlophisa pono ea likholomo. Ka kutloisiso ena, ho hlakile hore ka moeli oa li-columns tse limilione tse likete tse 2, hoa khoneha ho boloka boitsebiso bo itseng ka likholomo (le letoto la nako e tšoanang). Ka mohlala, ho MySQL ho na le moeli oa litšiea tse 4096 'me ho bonolo ho khoptjoa ka phoso ka khoutu 1117 haeba u leka ho etsa se tšoanang.

Enjene ea Cassandra e tsepamisitse maikutlo ho boloka lintlha tse ngata tsamaisong e ajoang ntle le master, 'me theorem e boletsoeng ka holimo ea Cassandra CAP e bua haholo ka AP, ke hore, mabapi le ho fumaneha ha data le ho hanyetsa karohano. Ka hona, sesebelisoa sena se ka ba se setle haeba feela u hloka ho ngolla database ena 'me u sa bale ho eona ka seoelo. 'Me mona hoa utloahala ho sebelisa Cassandra e le polokelo e "batang". Ke hore, e le sebaka sa nako e telele, se ka tšeptjoang sa ho boloka boitsebiso bo bongata ba histori bo sa hlokahaleng ka seoelo, empa bo ka fumanoa ha ho hlokahala. Leha ho le joalo, molemong oa ho phethahala, le rōna re tla e leka. Empa, joalo ka ha ke boletse pejana, ha ho na takatso ea ho ngola khoutu bocha bakeng sa tharollo ea database e khethiloeng, ka hona, re tla e leka ka mokhoa o fokolang - ntle le ho fetola sebopeho sa polokelo ea litaba ho latela lintlha tsa Cassandra.

Prometheus

Hantle, ka bohelehele, re ile ra etsa qeto ea ho leka ts'ebetso ea polokelo ea Prometheus - feela ho utloisisa hore na re potlakile kapa re lieha ho feta tharollo ea hona joale le hore na ke bokae.

Mokhoa oa liteko le liphetho

Kahoo, re lekile li-database tse 5 ho litlhophiso tse 6 tse latelang: ClickHouse (1 node), ClickHouse (tafole e abuoang bakeng sa li-node tse 3), InfluxDB, Mysql 8, Cassandra (3 node) le Prometheus. Morero oa tlhahlobo o tjena:

  1. kenya data ea nalane bakeng sa beke (litekanyetso tse limilione tse 840 ka letsatsi; metrics tse likete tse 208);
  2. re hlahisa mojaro oa ho rekota (mefuta ea 6 ea mojaro e ne e nahanoa, bona ka tlase);
  3. Ho tsamaisana le ho rekota, nako le nako re etsa likhetho, re etsisa likopo tsa mosebelisi ea sebetsang ka lichate. E le hore re se ke ra thatafatsa lintho haholo, re khethile data bakeng sa metrics ea 10 (ke hantle hore na ho na le tse kae ho graph ea CPU) bakeng sa beke.

Re kenya thepa ka ho etsisa boitšoaro ba moemeli oa rona oa ho beha leihlo, ea romellang litekanyetso ho metric ka 'ngoe hang ka mor'a metsotsoana e meng le e meng e 15. Ka nako e ts'oanang, re thahasella ho fapana:

  • palo eohle ea metrics eo data e ngotsoeng ho eona;
  • nako ea ho romella litekanyetso ho metric e le 'ngoe;
  • boholo ba batch.

Mabapi le boholo ba batch. Kaha ha e khothalletsoe ho kenya hoo e batlang e le li-database tsa rona tsa liteko ka li-insets tse le 'ngoe, re tla hloka relay e bokellang metrics e kenang le ho e arola ka lihlopha ebe e e ngolla polokelong ea boitsebiso e le ho kenya batch.

Hape, ho utloisisa hamolemo mokhoa oa ho fetolela data e amohetsoeng, ha re nahane hore ha re romelle metrics feela, empa metrics e hlophisitsoe ka li-server - 125 metrics ka seva. Mona seva e mpa e le ntho e tloaelehileng - feela ho utloisisa hore, ka mohlala, metrics ea 10000 e lumellana le li-server tse ka bang 80.

'Me mona, re ela hloko tsena tsohle, ke mekhoa ea rona e 6 ea ho ngola meroalo ea database:

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Ho na le lintlha tse peli mona. Taba ea pele, bakeng sa Cassandra litekanyo tsena tsa batch li ile tsa fetoha tse kholo haholo, moo re sebelisitseng litekanyetso tsa 50 kapa 100. 'Me ea bobeli, kaha Prometheus o sebetsa ka thata ka mokhoa oa ho hula, ke hore. eona ka boeona e ea bokella data ho tsoa mehloling ea metrics (esita le pushgateway, ho sa tsotellehe lebitso, ha e fetole boemo), meroalo e tsamaellanang e ile ea kenngoa ts'ebetsong ho sebelisoa motsoako oa static configs.

Liphetho tsa liteko ke tse latelang:

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Kamoo re lekileng li-database tsa letoto la linako tse ngata

Se lokelang ho elelloa: lisampole tse potlakileng tse tsoang ho Prometheus, lisampole tse liehang haholo tsa Cassandra, lisampole tse liehang ka mokhoa o sa amoheleheng ho tsoa ho InfluxDB; Mabapi le lebelo la ho rekota, ClickHouse e ile ea hlōla motho e mong le e mong, 'me Prometheus ha e kopanele tlhōlisanong, hobane e iketsetsa ho kenya ka boeona' me ha re lekanye letho.

Ka lebaka leo,: ClickHouse le InfluxDB li ile tsa iponahatsa li le molemo ka ho fetisisa, empa sehlopha se tsoang ho Influx se ka hahoa feela motheong oa phetolelo ea Enterprise, e hlokang chelete, ha ClickHouse e sa lefelle letho 'me e etsoa Russia. Hoa utloahala hore USA khetho e kanna ea ba molemong oa InfluxDB, mme naheng ea rona e emela ClickHouse.

Source: www.habr.com

Eketsa ka tlhaloso