Nguva-yakatevedzana dhatabhesi ine yavo chaiyo yavanoda.
Kukurumidza kuisa kubva kune vakawanda vamiririri. Isu tinofanirwa kuisa data kubva kune akawanda hova nekukurumidza. DzvanyaImba Inoita izvi nemazvo nekuti zvese zvayaiisa hazvisi kuvharisa. Chero isa ifaira idzva padhisiki, uye zvidiki zvinoiswa zvinogona kuvharwa neimwe nzira kana imwe. IN DzvanyaImba Zviri nani kuisa data mumabheji makuru pane mutsara mumwechete panguva.
Flexible scheme. The nguva-yakatevedzana isu kazhinji hatizivi chimiro che data zvachose. Izvo zvinogoneka kuvaka yekutarisa sisitimu yeimwe application, asi zvino zvinonetsa kuishandisa kune imwe application. Izvi zvinoda hurongwa hunoshanduka. DzvanyaImba, inokutendera kuti uite izvi, kunyangwe iri chigadziko chakanyorwa zvakasimba.
Kuchengetedza kwakanaka uye kukanganwa data. Kazhinji in nguva-yakatevedzana huwandu hukuru hwe data, saka inofanirwa kuchengetwa zvine hungwaru sezvinobvira. Somuenzaniso, pa InfluxDB kudzvanya kwakanaka ndicho chimiro chayo chikuru. Asi kunze kwekuchengetedza, iwe unofanirwawo kukwanisa "kukanganwa" data yekare uye kuita imwe mhando ye downsampling - kuverenga otomatiki kweakaunganidzwa.
Inokurumidza kubvunza pa data rakaunganidzwa. Dzimwe nguva zvinonakidza kutarisa maminetsi ekupedzisira e5 nekurongeka kwemamilliseconds, asi pamwedzi wedata miniti kana yechipiri granularity ingasadikanwa - huwandu hwehuwandu hwakakwana. Tsigiro yerudzi urwu inodiwa, kana zvisina kudaro chikumbiro chemwedzi mitatu chinotora nguva yakareba kwazvo kupedzisa kunyange mukati DzvanyaImba.
Zvikumbiro zvakaita se "poindi yekupedzisira, saΒ». Izvi zvakajairika kune nguva-yakatevedzana mibvunzo: tarisa kuyerwa kwekupedzisira kana mamiriro ehurongwa panguva t. Iyi haisi mibvunzo inonakidza kune dhatabhesi, asi iwe unofanirwawo kukwanisa kuzviita.
"Gluing" nguva dzakatevedzana. Nguva-yakatevedzana inguva yakatevedzana. Kana paine mbiri dzenguva dzakateerana, dzinowanzoda kubatanidzwa uye kuwirirana. Izvo hazvina kunaka kuita izvi pane ese dhatabhesi, kunyanya ine isina kurongwa nguva yakatevedzana: heano mamwe mapoinzi enguva, kune mamwe. Iwe unogona kufunga nezvepakati, asi kamwe kamwe pachava negomba ipapo, saka hazvina kujeka.
Ngationei kuti izvi zvinodiwa zvinozadzikiswa sei mukati DzvanyaImba.
The scheme
Π DzvanyaImba chirongwa che nguva-yakatevedzana inogona kuitwa nenzira dzakasiyana, zvichienderana nehuwandu hwekugara kwe data. Zvinogoneka kuvaka sisitimu pane yenguva dzose data kana isu tichiziva ese metrics pamberi. Somuenzaniso, ndakaita izvi CloudFlare pamwe nekutarisa CDN is a well optimized system. Iwe unogona kuvaka imwe yakajairika sisitimu inotarisisa iyo yese zvivakwa uye akasiyana masevhisi. Panyaya yedata risiri renguva, isu hatizive pachine nguva zvatiri kutarisa - uye iyi ingangove ndiyo yakajairika nyaya.
Pano ini ndawedzera "Disk Data Size" kune imwe test data set. Panyaya yemakoramu, isu tine diki data saizi: yakanyanya kudzvanya, yakanyanya kubvunza kumhanya, asi isu tinobhadhara nekurekodha zvese kamwechete.
Mumienzaniso yese iri pamusoro ndakashandisa Float64. Asi kana takasarudza Float32, ipapo zvingatove nani. Izvi zvakaratidzwa zvakanaka nevakomana vePerkona mune chinyorwa chakabatanidzwa pamusoro. Izvo zvakakosha kushandisa iyo yakanyanya compact mhando inokodzera basa: kunyangwe zvishoma kune disk saizi pane yekubvunza kumhanya. DzvanyaImba very sensitive kune izvi.
Kana uchigona kushandisa int32 panzvimbo ye int64, wozotarisira kuwedzera kwakapetwa kaviri mukuita. Iyo data inotora ndangariro shoma, uye ese "arithmetic" inoshanda nekukurumidza. DzvanyaImba mukati iine yakanyatsotaipa sisitimu; inoshandisa zvakanyanya mikana yese inopihwa neazvino masisitimu.
Aggregation uye Akagadziriswa Maonero
Aggregation uye maonerwo enyama anotendera iwe kugadzira akaunganidzwa ezviitiko zvakasiyana:
Semuenzaniso, iwe unogona kunge uine isina-yakaunganidzwa sosi data, uye iwe unogona kubatanidza akasiyana-siyana maonerwo enyama kwavari neatomatiki muchidimbu kuburikidza neinjini yakakosha. SummingMergeTree (SMT). SMT chinhu chakakosha chekubatanidza data chimiro chinoverengera maaggregates otomatiki. Raw data inoiswa mudhatabhesi, inounganidzwa otomatiki, uye madhibhodhi anogona kushandiswa pakarepo pairi.
TTL - "kanganwa" data yekare
Nzira yeku "kukanganwa" data iyo isingachadiwi? DzvanyaImba anoziva kuita izvi. Paunenge uchigadzira matafura, unogona kutsanangura TTL matauriro: semuenzaniso, kuti tinochengeta maminetsi data kwezuva rimwe, data remazuva ese kwemazuva makumi matatu, uye usambobata data revhiki kana remwedzi:
CREATE TABLE aggr_by_minute
β¦
TTL time + interval 1 day
CREATE TABLE aggr_by_day
β¦
TTL time + interval 30 day
CREATE TABLE aggr_by_week
β¦
/* no TTL */
Multi-tier -govanisa data pane disks
Kutora pfungwa iyi mberi, data inogona kuchengetwa mukati DzvanyaImba munzvimbo dzakasiyana. Ngatitii tinoda kuchengeta data rinopisa revhiki rapfuura panzvimbo inokurumidza zvikuru SSD, uye tinoisa data rakawanda mune imwe nzvimbo. IN DzvanyaImba izvi zvino zvinogoneka:
Iwe unogona kugadzirisa mutemo wekuchengetedza (kuchengetedza mutemo) Saka DzvanyaImba ichaendesa otomatiki data kana yasvika mamwe mamiriro kune imwe chengetedzo.
Asi handizvo zvoga. Pachinhanho chetafura chaiyo, unogona kutsanangura mitemo yenguva chaiyo iyo data inopinda mukuchengetedza kunotonhora. Semuenzaniso, data inochengetwa pane dhisiki yakakurumidza kwemazuva manomwe, uye zvese zvakura zvinotamirwa kune inononoka. Izvi zvakanaka nekuti zvinokutendera kuti uchengetedze sisitimu pakuita kwakanyanya, uchidzora mitengo uye kwete kutambisa mari pane inotonhora data:
CREATE TABLE
...
TTL date + INTERVAL 7 DAY TO VOLUME 'cold_volume',
date + INTERVAL 180 DAY DELETE
SELECT origin,
timestamp,
timestamp -LAG(timestamp, 1) OVER (PARTITION BY origin ORDER BY timestamp) AS duration,
timestamp -MIN(timestamp) OVER (PARTITION BY origin ORDER BY timestamp) AS startseq_duration,
ROW_NUMBER() OVER (PARTITION BY origin ORDER BY timestamp) AS sequence,
COUNT() OVER (PARTITION BY origin ORDER BY timestamp) AS nb
FROM mytable
ORDER BY origin, timestamp;
Π DzvanyaImba Iwe haugone kuita izvo - hazvitsigire chiyero SQL-2003 uye pamwe haangambozviiti. Pane kudaro, mu DzvanyaImba Itsika kunyora seizvi:
Iyi haisi rondedzero yakazara yemabasa, pane 500-600 muhuwandu. Zano: zvese zvinoshanda mukati DzvanyaImba iri mutafura yehurongwa (kwete ese akanyorwa, asi ese anonakidza):
select * from system.functions order by name
DzvanyaImba inochengetedza ruzivo rwakawanda pamusoro payo, kusanganisira log tables, query_log, trace log, log yekushanda ine data blocks (chikamu_log), metrics log, uye system log, iyo inowanzo nyora kune dhisiki. Log metrics ndizvo nguva-yakatevedzana Π² DzvanyaImba saizvozvo DzvanyaImba: Iyo database pachayo inogona kuita basa nguva-yakatevedzana databases, nokudaro "kuzvidya" pachayo.
Ichi zvakare chinhu chakasiyana - sezvo isu tichiitira basa rakanaka nguva-yakatevedzana, sei tisingagoni kuchengeta zvose zvatinoda mukati medu? Hatidi Prometheus, tinochengeta zvinhu zvose kwatiri. Yakabatanidzwa grafana uye tinozviongorora pachedu. Zvisinei, kana DzvanyaImba inodonha, hatizooni chikonzero, saka kazhinji havaite izvozvo.
Masumbu makuru kana akawanda madiki DzvanyaImba
Chii chiri nani - sumbu rimwe rakakura kana akawanda madiki ClickHouses? Traditional approach to DWH isumbu rakakura umo masekete akagoverwa kune yega yega application. Tauya kune dhatabhesi maneja - tipe dhayagiramu, uye vakatipa imwe:
Π DzvanyaImba unogona kuzviita zvakasiyana. Iwe unogona kuita kuti application yega yega iwe yako DzvanyaImba:
Asi kana tine zvakawanda DzvanyaImba, uye iwe unofanirwa kuiisa kazhinji, wobva wada kuita otomatiki iyi maitiro. Nokuda kweizvi tinogona, semuenzaniso, kushandisa Kubernetes ΠΈ clickhouse- mutyairi. IN Kubernetes ClickHouse unogona kuiisa "pa-tinya": Ndinogona kudzvanya bhatani, mhanyisa manifest uye dhatabhesi yakagadzirira. Ini ndinogona kubva ndagadzira dhizaini, kutanga kurodha metrics ipapo, uye mumaminetsi mashanu ndine dashboard yakagadzirira. grafana. Zviri nyore!
Chii mumagumo?
Uye saka, DzvanyaImba -Izvi:
Kurumidza. Munhu wose anoziva izvi.
Simply. Kupokana kushoma, asi ndinotenda kuti zvakaoma mukurovedza, zviri nyore mukurwa. Kana wanzwisisa sei DzvanyaImba inoshanda, saka zvese zviri nyore.
Pasi rose. Inokodzera kune akasiyana mascenario: DWH, Time Series, Log Storage. Asi handizvo OLTP dhatabhesi, saka usayedze kuita mapfupi ekuisa uye kuverenga ipapo.