Yuav ua li cas peb sim ntau lub sij hawm series databases

Yuav ua li cas peb sim ntau lub sij hawm series databases

Ob peb xyoos dhau los, lub sijhawm-series cov ntaub ntawv tau hloov los ntawm qhov tsis txaus ntseeg (kev siv tshwj xeeb hauv cov kev saib xyuas qhib (thiab khi rau cov kev daws teeb meem tshwj xeeb) lossis hauv Cov Ntaub Ntawv Loj) rau hauv "cov khoom siv". Nyob rau thaj chaw ntawm Lavxias Federation, tshwj xeeb ua tsaug yuav tsum tau muab rau Yandex thiab ClickHouse rau qhov no. Txog rau lub sijhawm no, yog tias koj xav tau khaws cov ntaub ntawv ntau lub sijhawm, koj yuav tsum tau ua raws li qhov xav tau los tsim kom muaj Hadoop pawg thiab tswj nws, lossis sib txuas lus nrog cov txheej txheem rau txhua qhov system.

Nws yuav zoo li tias xyoo 2019 ib tsab xov xwm hais txog qhov twg TSDB tsim nyog siv yuav suav nrog ib kab lus: "tsuas yog siv ClickHouse." Tab sis ... muaj nuances.

Tseeb tiag, ClickHouse tseem tab tom txhim kho, cov neeg siv lub hauv paus tau loj hlob, thiab kev txhawb nqa muaj zog heev, tab sis peb puas tau dhau los ua neeg ua haujlwm rau pej xeem kev vam meej ntawm ClickHouse, uas tau cuam tshuam lwm yam, tej zaum muaj txiaj ntsig zoo / kev daws teeb meem?

Thaum pib ntawm xyoo tas los, peb tau pib rov ua haujlwm peb tus kheej saib xyuas, thaum lub sijhawm cov lus nug tshwm sim ntawm kev xaiv cov ntaub ntawv tsim nyog rau khaws cov ntaub ntawv. Kuv xav tham txog keeb kwm ntawm qhov kev xaiv no ntawm no.

Nqe lus ntawm qhov teeb meem

Ua ntej ntawm tag nrho cov, ib tug tsim nyog preface. Vim li cas peb thiaj xav tau peb tus kheej saib xyuas txhua qhov thiab nws tsim tau li cas?

Peb tau pib muab kev pab txhawb nqa hauv 2008, thiab los ntawm 2010 nws tau pom tseeb tias nws nyuaj rau sau cov ntaub ntawv hais txog cov txheej txheem tshwm sim hauv cov neeg siv khoom siv nrog cov kev daws teeb meem uas muaj nyob rau lub sijhawm ntawd (peb tab tom tham txog, Vajtswv zam txim rau kuv, Cacti, Zabbix thiab cov graphite tshiab).

Peb cov kev cai tseem ceeb yog:

  • kev txhawb nqa (thaum lub sijhawm - kaum ob, thiab yav tom ntej - ntau pua) ntawm cov neeg siv khoom hauv ib qho system thiab tib lub sijhawm muaj lub hauv paus tswj hwm kev ceeb toom;
  • yooj yooj yim hauv kev tswj cov kev ceeb toom (kev ceeb toom ntawm cov tub ceev xwm, kev teem caij, kev paub hauv paus);
  • muaj peev xwm ua kom nthuav dav cov duab kos duab (Zabbix thaum lub sijhawm ntawd ua cov duab hauv daim duab);
  • Lub sijhawm ntev cia ntawm cov ntaub ntawv loj (ib xyoos lossis ntau dua) thiab muaj peev xwm khaws tau sai sai.

Hauv tsab xov xwm no peb xav txog qhov kawg.

Hais txog kev khaws cia, cov kev xav tau yog raws li hauv qab no:

  • lub kaw lus yuav tsum ua haujlwm sai;
  • Nws yog ntshaw tias lub kaw lus muaj SQL interface;
  • lub kaw lus yuav tsum ruaj khov thiab muaj cov neeg siv lub hauv paus thiab kev txhawb nqa (ib zaug peb tau ntsib nrog qhov xav tau los txhawb cov tshuab xws li MemcacheDB, uas tsis tau tsim dua, lossis MooseFS faib cia, cov kab laum uas tau khaws cia hauv Suav: peb rov hais dua zaj dab neeg no rau peb qhov project tsis xav tau);
  • Kev ua raws li CAP txoj kev xav: Kev sib haum xeeb (yuav tsum tau) - cov ntaub ntawv yuav tsum tau hloov kho tshiab, peb tsis xav kom lub kaw lus ceeb toom tsis tau txais cov ntaub ntawv tshiab thiab tawm lus ceeb toom txog qhov tsis tuaj txog ntawm cov ntaub ntawv rau txhua qhov haujlwm; Partition Tolerance (yuav tsum tau) - peb tsis xav kom tau ib tug Split Brain system; Muaj (tsis tseem ceeb, yog tias muaj ib qho kev hloov pauv ua haujlwm) - peb tuaj yeem hloov mus rau qhov system thaub qab peb tus kheej thaum muaj xwm txheej, siv cov lej.

Oddly txaus, lub sijhawm ntawd MySQL tau dhau los ua qhov kev daws teeb meem zoo tshaj plaws rau peb. Peb cov qauv ntaub ntawv tau yooj yim heev: server id, counter id, timestamp thiab tus nqi; Kev ntsuas ceev ceev ntawm cov ntaub ntawv kub tau lees paub los ntawm lub pas dej loj loj, thiab cov qauv ntawm cov ntaub ntawv keeb kwm tau lees paub los ntawm SSD.

Yuav ua li cas peb sim ntau lub sij hawm series databases

Yog li, peb tau ua tiav cov qauv ntawm cov ntaub ntawv tshiab ob lub lis piam, nrog rau kev nthuav dav mus rau qhov thib ob 200 ms ua ntej cov ntaub ntawv tau ua tiav, thiab nyob hauv qhov system no ntev heev.

Lub caij no, lub sijhawm dhau mus thiab cov ntaub ntawv loj hlob tuaj. Los ntawm 2016, cov ntaub ntawv ntim tau mus txog kaum tawm terabytes, uas yog ib qho kev siv nyiaj tseem ceeb hauv cov ntsiab lus ntawm qiv SSD cia.

Los ntawm lub sijhawm no, columnar databases tau dhau los ua qhov dav, uas peb pib xav txog: hauv columnar databases, cov ntaub ntawv khaws cia, raws li koj tuaj yeem nkag siab, hauv kab, thiab yog tias koj saib peb cov ntaub ntawv, nws yooj yim pom qhov loj. tus naj npawb ntawm cov duplicates uas tuaj yeem, hauv Yog tias koj siv lub columnar database, compress nws siv compression.

Yuav ua li cas peb sim ntau lub sij hawm series databases

Txawm li cas los xij, lub tuam txhab cov txheej txheem tseem ceeb txuas ntxiv ua haujlwm ruaj khov, thiab kuv tsis xav sim hloov mus rau lwm yam.

Hauv 2017, ntawm Percona Live lub rooj sib tham hauv San Jose, Clickhouse developers tej zaum tshaj tawm lawv tus kheej thawj zaug. Thaum xub thawj siab ib muag, lub kaw lus tau npaj ntau lawm (zoo, Yandex.Metrica yog ib qho hnyav ntau lawm), kev txhawb nqa tau nrawm thiab yooj yim, thiab, qhov tseem ceeb tshaj, kev ua haujlwm yooj yim. Txij li xyoo 2018, peb tau pib txoj kev hloov pauv. Tab sis los ntawm lub sijhawm ntawd, muaj ntau cov "cov neeg laus" thiab lub sijhawm sim TSDB systems, thiab peb tau txiav txim siab siv sijhawm ntau thiab sib piv lwm txoj hauv kev kom paub tseeb tias tsis muaj lwm txoj kev daws teeb meem rau Clickhouse, raws li peb xav tau.

Ntxiv nrog rau qhov uas twb tau teev tseg cia, cov tshiab tau tshwm sim:

  • cov txheej txheem tshiab yuav tsum muaj tsawg kawg yog qhov ua tau zoo ib yam li MySQL ntawm tib qho khoom siv;
  • qhov chaw cia ntawm qhov tshiab yuav tsum siv qhov chaw tsawg dua;
  • DBMS tseem yuav tsum yooj yim los tswj;
  • Kuv xav hloov daim ntawv thov tsawg kawg thaum hloov DBMS.

Peb tau pib xav txog dabtsi?

Apache Hive / Apache Impala
Ib qho qub, sib ntaus sib tua-kuaj Hadoop pawg. Qhov tseem ceeb, nws yog SQL interface ua rau sab saum toj ntawm kev khaws cov ntaub ntawv hauv hom hom ntawm HDFS.

Pros.

  • Nrog kev ua haujlwm ruaj khov, nws yooj yim heev los ntsuas cov ntaub ntawv.
  • Muaj cov kev daws teeb meem rau cov ntaub ntawv khaws cia (tsawg qhov chaw).
  • Kev ua tiav sai heev ntawm cov haujlwm sib luag thaum muaj peev txheej.

Minuses.

  • Nws yog Hadoop, thiab nws nyuaj rau siv. Yog tias peb tsis tau npaj txhij los npaj cov kev daws teeb meem hauv huab (thiab peb tsis tau npaj txhij txog tus nqi), tag nrho pawg yuav tsum tau sib sau ua ke thiab txhawb nqa los ntawm ob txhais tes ntawm admins, thiab peb yeej tsis xav tau. qhov no.
  • Cov ntaub ntawv yog sib sau ua ke ceev heev.

Txawm li cas los xij:

Yuav ua li cas peb sim ntau lub sij hawm series databases

Kev nrawm yog ua tiav los ntawm kev ntsuas cov lej ntawm cov khoos phis tawm. Cias muab, yog tias peb yog ib lub tuam txhab loj, koom nrog kev tshuaj xyuas, thiab nws yog ib qho tseem ceeb rau kev lag luam kom sau cov ntaub ntawv sai li sai tau (txawm tias tus nqi ntawm kev siv nyiaj ntau ntawm cov khoom siv hauv computer), qhov no yuav yog peb txoj kev xaiv. Tab sis peb tsis tau npaj txhij los muab cov cuab yeej kho vajtse sib tw kom ceev cov haujlwm.

Druid / Pinot

Muaj ntau ntau ntxiv txog TSDB tshwj xeeb, tab sis dua, Hadoop pawg.

muaj tsab xov xwm zoo sib piv qhov zoo thiab qhov tsis zoo ntawm Druid thiab Pinot piv rau ClickHouse .

Hauv ob peb lo lus: Druid / Pinot zoo dua li Clickhouse nyob rau hauv rooj plaub uas:

  • Koj muaj qhov sib txawv ntawm cov ntaub ntawv (hauv peb cov ntaub ntawv, peb tsuas yog sau sijhawm sijhawm ntawm server metrics, thiab, qhov tseeb, qhov no yog ib lub rooj. Tab sis kuj muaj lwm qhov xwm txheej: khoom siv sij hawm series, nyiaj txiag lub sij hawm series, thiab lwm yam. nws tus kheej cov qauv, uas yuav tsum tau sib sau ua ke thiab ua tiav).
  • Ntxiv mus, muaj ntau cov ntaub ntawv no.
  • Cov ntxhuav thiab cov ntaub ntawv nrog lub sijhawm tshwm sim thiab ploj mus (uas yog, qee cov ntaub ntawv tuaj txog, tau txheeb xyuas thiab tshem tawm).
  • Tsis muaj cov txheej txheem meej meej uas cov ntaub ntawv tuaj yeem muab faib.

Hauv qhov sib txawv, ClickHouse ua tau zoo dua, thiab qhov no yog peb qhov xwm txheej.

Nyem Tsev

  • SQL zoo li
  • Yooj yim tswj.
  • Cov neeg hais tias nws ua haujlwm.

Tau txais cov npe luv rau kev sim.

InfluxDB

Ib qho txawv teb chaws rau ClickHouse. Ntawm cov minuses: Siab Muaj tsuas yog tam sim no nyob rau hauv kev lag luam version, tab sis nws yuav tsum tau muab piv.

Tau txais cov npe luv rau kev sim.

Cassandra

Ntawm qhov tod tes, peb paub tias nws yog siv los khaws metric timeseries los ntawm cov kev soj ntsuam xws li, piv txwv li, SignalFX los yog OkMeter. Txawm li cas los xij, muaj qhov tshwj xeeb.

Cassandra tsis yog columnar database nyob rau hauv ib txwm kev nkag siab. Nws zoo nkaus li zoo li kab saib, tab sis txhua kab tuaj yeem muaj cov kab sib txawv, ua kom yooj yim rau kev teeb tsa ib kab saib. Hauv qhov kev nkag siab no, nws yog qhov tseeb tias nrog kev txwv ntawm 2 billion kab, nws muaj peev xwm khaws qee cov ntaub ntawv hauv txhua kab (thiab tib lub sijhawm series). Piv txwv li, hauv MySQL muaj qhov txwv ntawm 4096 kab thiab nws yooj yim rau stumble raws li qhov yuam kev nrog code 1117 yog tias koj sim ua tib yam.

Lub cav Cassandra yog tsom rau kev khaws cov ntaub ntawv ntau hauv ib qho kev faib tawm yam tsis muaj tus tswv, thiab cov lus piav qhia saum toj no Cassandra CAP txoj kev xav ntau ntxiv txog AP, uas yog, hais txog cov ntaub ntawv muaj thiab tsis kam muab faib. Yog li, cov cuab yeej no tuaj yeem ua tau zoo yog tias koj tsuas yog xav tau sau rau hauv cov ntaub ntawv no thiab tsis tshua nyeem los ntawm nws. Thiab ntawm no nws yog qhov tsim nyog siv Cassandra ua "txias" cia. Qhov ntawd yog, raws li lub sijhawm ntev, qhov chaw ntseeg tau khaws cia ntau cov ntaub ntawv keeb kwm uas tsis tshua xav tau, tab sis tuaj yeem rov qab tau yog tias tsim nyog. Txawm li cas los xij, rau qhov ua tiav, peb yuav sim nws thiab. Tab sis, raws li kuv tau hais ua ntej lawm, tsis muaj lub siab xav rov sau cov lej rau kev xaiv cov ntaub ntawv daws teeb meem, yog li peb yuav sim nws qee qhov txwv - tsis hloov cov qauv database rau qhov tshwj xeeb ntawm Cassandra.

Prometheus

Zoo, tawm ntawm kev xav paub, peb txiav txim siab los ntsuas qhov ua tau zoo ntawm Prometheus cia - tsuas yog kom nkag siab seb peb puas nrawm dua lossis qeeb dua li cov kev daws teeb meem tam sim no thiab ntau npaum li cas.

Cov txheej txheem xeem thiab cov txiaj ntsig

Yog li, peb tau sim 5 databases hauv 6 configurations nram qab no: ClickHouse (1 node), ClickHouse (distributed table for 3 nodes), InfluxDB, Mysql 8, Cassandra (3 nodes) thiab Prometheus. Txoj kev npaj xeem yog raws li nram no:

  1. upload cov ntaub ntawv keeb kwm rau ib lub lim tiam (840 lab tus nqi hauv ib hnub; 208 txhiab metrics);
  2. peb tsim cov ntaub ntawv kaw tseg (6 hom kev thauj khoom tau txiav txim siab, saib hauv qab no);
  3. Nyob rau tib lub sijhawm nrog kev sau cia, peb ua ntu zus xaiv, ua raws li qhov kev thov ntawm tus neeg siv ua haujlwm nrog cov kab kos. Txhawm rau kom tsis txhob cuam tshuam ntau dhau, peb xaiv cov ntaub ntawv rau 10 qhov ntsuas (uas yog raws nraim pes tsawg tus ntawm CPU graph) rau ib lub lis piam.

Peb thauj khoom los ntawm kev ua raws li tus cwj pwm ntawm peb tus neeg saib xyuas, uas xa cov txiaj ntsig rau txhua qhov metric ib zaug txhua 15 vib nas this. Nyob rau tib lub sijhawm, peb txaus siab rau qhov sib txawv:

  • tag nrho cov metrics uas cov ntaub ntawv sau;
  • ncua sij hawm xa cov nqi mus rau ib qho metric;
  • batch loj.

Hais txog batch loj. Txij li thaum nws tsis pom zoo kom thauj khoom yuav luag tag nrho ntawm peb cov kev sim databases nrog ib qho kev ntxig, peb yuav xav tau ib qho relay uas sau cov metrics tuaj thiab muab lawv rau hauv pab pawg thiab sau lawv rau hauv cov ntaub ntawv raws li batch insert.

Tsis tas li ntawd, kom nkag siab zoo dua yuav ua li cas thiaj li txhais tau cov ntaub ntawv tau txais, cia peb xav txog tias peb tsis yog xa ib pawg ntawm kev ntsuas xwb, tab sis cov kev ntsuas tau teeb tsa rau hauv servers - 125 metrics rau ib lub server. Ntawm no tus neeg rau zaub mov tsuas yog ib qho chaw virtual - tsuas yog kom nkag siab tias, piv txwv li, 10000 metrics sib haum mus txog 80 servers.

Thiab ntawm no, noj tag nrho cov no rau hauv tus account, yog peb 6 database sau load hom:

Yuav ua li cas peb sim ntau lub sij hawm series databases

Muaj ob lub ntsiab lus ntawm no. Ua ntej, rau Cassandra cov batch ntau thiab tsawg tau dhau los ua qhov loj heev, nyob ntawd peb siv qhov tseem ceeb ntawm 50 lossis 100. Thiab qhov thib ob, txij li Prometheus ua haujlwm nruj heev hauv kev rub hom, i.e. nws tus kheej mus thiab sau cov ntaub ntawv los ntawm metrics qhov chaw (thiab txawm pushgateway, txawm lub npe, tsis tsim nyog hloov qhov teeb meem), cov coj loads tau siv los ntawm kev sib txuas ntawm static configs.

Cov txiaj ntsig kev xeem yog raws li nram no:

Yuav ua li cas peb sim ntau lub sij hawm series databases

Yuav ua li cas peb sim ntau lub sij hawm series databases

Yuav ua li cas peb sim ntau lub sij hawm series databases

Dab tsi yog tsim nyog sau cia: Cov qauv nrawm nrawm heev los ntawm Prometheus, cov qauv qeeb qeeb los ntawm Cassandra, tsis lees txais cov qauv qeeb los ntawm InfluxDB; Hais txog kev ceev ceev, ClickHouse yeej txhua tus, thiab Prometheus tsis koom nrog hauv kev sib tw, vim tias nws ua rau nws nkag mus rau hauv nws tus kheej thiab peb tsis ntsuas dab tsi.

Thaum kawg: ClickHouse thiab InfluxDB tau pom lawv tus kheej yog qhov zoo tshaj plaws, tab sis ib pawg los ntawm Influx tsuas yog tuaj yeem tsim los ntawm Enterprise version, uas raug nqi nyiaj, thaum ClickHouse tsis muaj nqi thiab yog tsim nyob rau hauv Russia. Nws yog qhov laj thawj uas nyob rau hauv Teb Chaws Asmeskas qhov kev xaiv yog tej zaum nyob rau hauv kev pom zoo ntawm InfluxDB, thiab nyob rau hauv peb lub teb chaws nws yog nyob rau hauv txaus siab ntawm ClickHouse.

Tau qhov twg los: www.hab.com

Ntxiv ib saib