Zodabwitsa ndizakuti, panthawiyo MySQL idakhala yankho labwino kwa ife. Mapangidwe athu a data anali osavuta kwambiri: id ya seva, id yowerengera, sitampu yanthawi ndi mtengo; Sampuli yachangu ya data yotentha idatsimikiziridwa ndi dziwe lalikulu, ndipo zitsanzo za mbiri yakale zidatsimikiziridwa ndi SSD.
Chifukwa chake, tidapeza zitsanzo zatsopano zamasabata awiri, mwatsatanetsatane mpaka 200 ms yachiwiri deta isanatulutsidwe kwathunthu, ndipo tidakhala m'dongosolo lino kwa nthawi yayitali.
Panthawiyi, nthawi inadutsa ndipo kuchuluka kwa deta kunakula. Pofika chaka cha 2016, kuchuluka kwa data kudafika makumi a ma terabytes, zomwe zinali zowononga kwambiri pakusungirako lendi SSD.
Muli ndi mitundu yosiyanasiyana ya data (kwa ife, timangolemba mndandanda wanthawi ya ma metric a seva, ndipo, kwenikweni, ili ndi tebulo limodzi. kapangidwe kake komwe kamayenera kuphatikizidwa ndikukonzedwa).
Komanso, pali zambiri za deta.
Matebulo ndi zidziwitso zokhala ndi nthawi zimawonekera ndikuzimiririka (ndiko kuti, seti ina ya data idafika, idawunikidwa ndikuchotsedwa).
Cassandra si malo osungirako zinthu zakale. Zikuwoneka ngati mawonedwe a mzere, koma mzere uliwonse ukhoza kukhala ndi chiwerengero chosiyana cha mizati, zomwe zimapangitsa kuti zikhale zosavuta kupanga mawonekedwe a columnar. M'lingaliro limeneli, zikuwonekeratu kuti ndi malire a mizati 2 biliyoni, ndizotheka kusunga deta ina muzitsulo (ndi nthawi yomweyo). Mwachitsanzo, mu MySQL pali malire a mizati 4096 ndipo n'zosavuta kupunthwa cholakwika ndi code 1117 ngati muyesera kuchita chimodzimodzi.
Injini ya Cassandra ikuyang'ana kwambiri kusunga deta yambiri mu dongosolo logawidwa popanda mbuye, ndipo Cassandra CAP theorem yomwe tatchula pamwambapa ikukhudza AP, ndiko kuti, za kupezeka kwa deta ndi kukana kugawa. Chifukwa chake, chida ichi chikhoza kukhala chabwino ngati mungofunika kulembera ku Nawonsokitale iyi ndipo simumawerenga kawirikawiri. Ndipo apa ndizomveka kugwiritsa ntchito Cassandra ngati malo osungira "ozizira". Ndiko kuti, monga nthawi yayitali, malo odalirika osungiramo zambiri za mbiri yakale zomwe sizikufunika kawirikawiri, koma zikhoza kubwezedwa ngati kuli kofunikira. Komabe, chifukwa cha kukwanira, tidzayesanso. Koma, monga ndanenera kale, palibe chikhumbo cholembanso kachidindo kameneka kamene kamasankhidwa, kotero tidzayesa pang'ono - popanda kusintha ndondomeko ya database kuti ikhale yeniyeni ya Cassandra.
Prometheus
Chabwino, chifukwa cha chidwi, tinaganiza zoyesa ntchito ya Prometheus yosungirako - kuti timvetse ngati tili othamanga kapena ochedwa kusiyana ndi mayankho omwe alipo komanso kuchuluka kwake.
Njira zoyesera ndi zotsatira
Chifukwa chake, tidayesa nkhokwe 5 pamasinthidwe 6 otsatirawa: ClickHouse (1 node), ClickHouse (tebulo logawidwa la 3 node), InfluxDB, Mysql 8, Cassandra (3 node) ndi Prometheus. Dongosolo la mayeso lili motere:
Kufanana ndi kujambula, nthawi ndi nthawi timasankha, kutengera zopempha za wogwiritsa ntchito ma chart. Kuti tisasokoneze zinthu kwambiri, tidasankha ma data a 10 metrics (ndiwo ndendende kuchuluka komwe kuli pa graph ya CPU) kwa sabata.
Timadzaza potengera machitidwe a wothandizira athu, omwe amatumiza milingo ku metric iliyonse kamodzi masekondi 15 aliwonse. Pa nthawi yomweyo, timakonda zosiyanasiyana:
chiwerengero chonse cha ma metric omwe deta imalembedwa;
nthawi yotumizira zinthu ku metric imodzi;
kukula kwa gulu.
Za kukula kwa batch. Popeza sikovomerezeka kukweza pafupifupi nkhokwe zathu zonse zoyesera ndi zoyikapo kamodzi, tidzafunika kutumiza komwe kumasonkhanitsa ma metric omwe akubwera ndikuwagawa m'magulu ndikumalemba ku database ngati batch insert.
Komanso, kuti mumvetse bwino momwe mungatanthauzire zomwe mwalandira, tiyeni tiyerekeze kuti sitikutumiza ma metric, koma ma metrics amapangidwa kukhala ma seva - ma metric 125 pa seva. Apa seva ndi chinthu chenicheni - kungomvetsetsa kuti, mwachitsanzo, ma metric 10000 amafanana ndi ma seva pafupifupi 80.
Ndipo apa, poganizira zonsezi, ndi njira zathu 6 zolembera zolemba:
Pali mfundo ziwiri apa. Choyamba, kwa Cassandra makulidwe awa adakhala akulu kwambiri, pamenepo tidagwiritsa ntchito mfundo za 50 kapena 100. Ndipo chachiwiri, popeza Prometheus amagwira ntchito mosamalitsa kukoka, i.e. iyo yokha imapita ndikusonkhanitsa deta kuchokera kumagwero a metrics (ndipo ngakhale pushgateway, ngakhale dzina lake, silisintha kwenikweni), katundu wofananawo adakhazikitsidwa pogwiritsa ntchito ma configs osakanikirana.
Zotsatira za mayeso ndi izi:
Choyenera kuzindikira: zitsanzo zofulumira kwambiri kuchokera ku Prometheus, zitsanzo zochedwa kwambiri kuchokera ku Cassandra, zitsanzo zochepetsetsa mosadziwika kuchokera ku InfluxDB; Pankhani ya liwiro lojambulira, ClickHouse adapambana aliyense, ndipo Prometheus satenga nawo gawo pampikisano, chifukwa amadzipangira okha ndipo sitiyesa chilichonse.
Pamapeto pake: ClickHouse ndi InfluxDB adadziwonetsera okha kuti ndiabwino kwambiri, koma gulu lochokera ku Influx likhoza kumangidwa kokha pamaziko a Enterprise version, yomwe imawononga ndalama, pamene ClickHouse sichiwononga chilichonse ndipo imapangidwa ku Russia. Ndizomveka kuti ku USA chisankhocho chikukomera inInfluxDB, ndipo m'dziko lathu ndichokomera ClickHouse.