HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

HighLoad++ Moscow 2018, Congress Hall. Mbudzi 9, 15:00

Abstracts uye mharidzo: http://www.highload.ru/moscow/2018/abstracts/4066

Yuri Nasretdinov (VKontakte): mushumo uchataura nezve ruzivo rwekushandisa ClickHouse mukambani yedu - nei tichiida, yakawanda sei data yatinochengeta, kuti tinonyora sei, nezvimwe zvakadaro.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Zvimwe zvinoshandiswa: uchishandisa Clickhouse sekutsiva ELK, Big Query uye TimescaleDB

Yuri Nasretdinov: - Mhoroi mose! Zita rangu ndiYuri Nasretdinov, sezvandatounzwa. Ndinoshanda paVKontakte. Ini ndichataura nezvekuisa kwatinoita data muClickHouse kubva kune yedu server ngarava (makumi ezviuru).

Chii chinonzi matanda uye nei kuaunganidza?

Zvatichakuudza: zvatakaita, nei taida "ClickHouse", zvichiteerana, sei takazvisarudza, rudzii rwekuita rwaunogona kuwana pasina kugadzirisa chero chinhu. Ini ndichakuudza zvakare nezve buffer matafura, nezve matambudziko ataive navo uye nezve mhinduro dzedu dzatakagadzira kubva kune yakavhurika sosi - KittenHouse uye Lighthouse.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Nei taida kuita chero chinhu (zvose zvakanaka paVKontakte, handizvo?). Taida kuunganidza debug logs (uye pakanga paine mazana ematerabytes edata ipapo), pamwe neimwe nzira zvaizova nyore kuverenga nhamba; uye tine boka rezviuru zvemakumi ezviuru zvemaseva umo izvi zvose zvinoda kuitwa.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Nei takasarudza? Zvichida taiva nemhinduro dzokuchengeta matanda. Pano - pane yeruzhinji "Bakend VK". Ndinokurudzira zvikuru kunyoresa kwairi.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Chii chinonzi matanda? Iyi injini inodzosa mitsara isina chinhu. Injini muVK ndizvo zvinonzi nevamwe microservices. Uye hechino chinonamirwa chinonyemwerera (chakanyanya kufarira). Zvakadaro sei? Zvakanaka, teerera zvakare!

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Chii chinogona kushandiswa kuchengeta matanda? Hazvibviri kusataura nezveHadup. Zvadaro, semuenzaniso, Rsyslog (kuchengeta matanda aya mumafaira). LSD. Ndiani anoziva chinonzi LSD? Kwete, kwete iyi LSD. Chengeta mafaira, zvichiteerana, zvakare. Zvakanaka, ClickHouse isarudzo inoshamisa.

Clickhouse uye vakwikwidzi: zvinodiwa uye mikana

Tinodei? Tinoda kuona kuti hatifanirwe kunetseka zvakanyanya nezvekushanda, kuitira kuti zvishande kunze kwebhokisi, zviri nani nekugadziriswa kushoma. Tinoda kunyora zvakawanda, uye kunyora nokukurumidza. Uye isu tinoda kuichengeta kune ese marudzi emwedzi, makore, ndiko kuti, kwenguva yakareba. Tinogona kuda kunzwisisa rimwe dambudziko ravakauya naro kwatiri ndokuti, "Chimwe chinhu hachisi kushanda pano," uye yaive mwedzi mitatu yapfuura), uye isu tinoda kukwanisa kuona zvakaitika mwedzi mitatu yapfuura " Kudzvanywa kwedata - zviri pachena kuti nei zvingave kuwedzera - nekuti inoderedza huwandu hwenzvimbo yaunotora.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Uye isu tine chinodikanwa chinonakidza chakadaro: isu dzimwe nguva tinonyora kubuda kweimwe mirairo (somuenzaniso, matanda), inogona kupfuura 4 kilobytes zviri nyore. Uye kana chinhu ichi chichishanda pamusoro peUDP, saka haifaniri kushandisa ... haizove ne "pamusoro" yekubatanidza, uye nokuda kwenhamba yakawanda yemaseva izvi zvichava kuwedzera.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Ngationei izvo open source inotipa. Chekutanga, isu tine Logs Engine - iyi ndiyo injini yedu; Mumutemo, anogona kuita zvese, anogona kutonyora mitsetse mirefu. Zvakanaka, haisi kudzvanya data pachena - isu tinogona kudzvanya makoramu makuru isu pachedu kana tichida ... isu, hongu, hatidi (kana zvichibvira). Chinetso bedzi ndechokuti anoziva nzira yokupa nayo bedzi zvinokwana mundangariro yake; Kuti uverenge zvakasara, unofanirwa kuwana binlog yeinjini iyi uye, maererano, zvinotora nguva yakareba.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Ndezvipi zvimwe zvingasarudzwa zviripo? Somuenzaniso, "Hadup". Kusununguka kwekushanda ... Ndiani anofunga kuti Hadup iri nyore kuisa? Zvechokwadi, hapana matambudziko nekurekodha. Pakuverenga, dzimwe nguva mibvunzo inomuka. In musimboti, ndingati pamwe kwete, kunyanya matanda. Kuchengetedza kwenguva refu - hongu, hongu, kudzvanywa kwedata - hongu, tambo refu - zviri pachena kuti unogona kurekodha. Asi kurekodha kubva kunhamba huru yemaseva ... Iwe uchiri kufanira kuita chimwe chinhu iwe pachako!

Rsyslog. Muchokwadi, takaishandisa sechisarudzo chekuchengetedza kuitira kuti tigone kuiverenga tisingarase binlog, asi haikwanise kunyora mitsetse mirefu; mumutemo, haikwanise kunyora anopfuura 4 kilobytes. Iwe unofanirwa kuita data compression nenzira imwechete iwe pachako. Kuverenga kunobva kumafaira.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Zvadaro pane "badushka" kukura kweLSD. Zvakanyanya zvakafanana ne "Rsyslog": inotsigira tambo refu, asi haigone kushanda pamusoro peUDP uye, kutaura zvazviri, nekuda kweizvi, zvinosuruvarisa, kune zvakawanda chaizvo zvinhu zvinoda kunyorwazve. LSD inoda kugadzirwa patsva kuti ikwanise kurekodha kubva kumakumi ezviuru emaseva.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Uye pano! Imwe inosetsa sarudzo ndeye ElasticSearch. Kureva sei? Ari kuita zvakanaka nekuverenga, ndiko kuti, anoverenga nekukurumidza, asi kwete zvakanyanya nekunyora. Chekutanga, kana ikamanikidza data, haina kusimba. Zvingangodaro, kutsvaga kuzere kunoda makuru makuru e data pane iyo yekutanga vhoriyamu. Zvakaoma kushanda uye zvinetso zvinowanzomuka nazvo. Uye, zvakare, kurekodha muElastic - isu tinofanirwa kuita zvese isu pachedu.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Pano ClickHouse isarudzo yakanaka, hongu. Chinhu chega ndechekuti kurekodha kubva kumakumi ezviuru emaseva idambudziko. Asi pane dambudziko rimwe chete, tinogona kuedza kurigadzirisa neimwe nzira. Uye yakasara yeshumo ndeye dambudziko iri. Ndeupi rudzi rwekuita rwaungatarisira kubva kuClickHouse?

Tichaipinza sei? MergeTree

Ndiani pakati penyu asati anzwa kana kuziva nezve "ClickHouse"? Ndoda kukuudza handiti? Very fast. Kuiswa ipapo - 1-2 gigabits pasekondi, kuputika kweanosvika gumi gigabits pasekondi kunogona kumirisana nekugadzirisa uku - kune maviri 10-core Xeons (kureva, kwete kunyange ane simba kwazvo), 6 gigabytes ye RAM, makumi maviri terabytes. muRAID (hapana akagadziridzwa, zvigadziriso zvimiro). Alexey Milovidov, ClickHouse mugadziri, angangove akagara ipapo achichema nekuti isu hatina kugadzirira chero chinhu (zvese zvakashanda zvakadaro kwatiri). Saizvozvo, kumhanya kwekutarisa kwe, toti, ingangoita 256 bhiriyoni mitsetse pasekondi inogona kuwanikwa kana iyo data yakanyatso kudzvanywa. Kana iwe uchida % pane tambo yemavara - miriyoni mitsara pasekondi, ndiko kuti, inoita senge inokurumidza.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Tichaipinza sei? Zvakanaka, iwe unoziva kuti VK inoshandisa PHP. Isu tichaisa kubva kune wega mushandi wePP kuburikidza neHTTP mu "ClickHouse", muMergeTree tafura yerekodhi yega yega. Ndiani anoona dambudziko nechirongwa ichi? Nokuda kwechimwe chikonzero, havasi vose vakasimudza maoko avo. Rega ndikuudze.

Chekutanga, kune akawanda maseva - saizvozvo, pachava nekubatana kwakawanda (kwakaipa). Zvino zviri nani kuisa data muMergeTree kwete kakawanda kupfuura kamwe pasekondi. Uye ndiani anoziva chikonzero nei? Zvakanaka, zvakanaka. Ndichakuudza zvishoma pamusoro peizvi. Mumwe mubvunzo unonakidza ndewekuti hatisi kuita analytics, hatidi kupfumisa iyo data, hatidi maseva epakati, tinoda kuisa zvakananga mu "ClickHouse" (zvichida - zvakanyanya zvakananga, zvirinani).

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Saizvozvo, kuiswa kunoitwa sei muMergeTree? Sei zviri nani kuisa mairi kwete kakawanda kupfuura kamwe chete sekondi kana zvishoma kakawanda? Icho chokwadi ndechekuti "ClickHouse" ndeye columnar dhatabhesi uye inoronga iyo data mukukwira kurongeka kwekiyi yekutanga, uye kana iwe uchiisa, akati wandei mafaera anogadzirwa akaenzana nenhamba yemakoramu umo data rakarongwa. mukukwira kurongeka kwekiyi yekutanga (yakasiyana dhairekitori inogadzirwa, seti yemafaira pa diski kune yega yega yekuisa). Zvadaro kuiswa kunotevera kunouya, uye kumashure ivo vanosanganiswa mu "partitions" huru. Sezvo iyo data yakarongedzwa, zvinokwanisika "kubatanidza" mafaera maviri akarongwa pasina kupedza ndangariro zhinji.

Asi, sezvaungafungidzira, kana iwe ukanyora gumi mafaera kune yega yega yekuisa, ipapo ClickHouse (kana server yako) ichakurumidza kupera, saka zvinokurudzirwa kuisa mumabheji makuru. Nekudaro, isu hatina kumbotangisa chirongwa chekutanga mukugadzira. Takabva tangoparura imwe, iyo pano Nhamba 10 ine:

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Pano fungidzira kuti kune anenge chiuru maseva patakatangisa, pane chete PHP. Uye pane sevha yega yega pane mumiriri wedu wepanzvimbo, watakadaidza kuti "Kittenhouse", iyo inochengetedza imwe kubatana ne "ClickHouse" uye inoisa data mumasekonzi mashoma. Inopinza data kwete muMergeTree, asi mutafura yebuffer, iyo inoshanda chaizvo kudzivirira kuisa yakananga muMergeTree ipapo.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kushanda nematafura e-buffer

Chii? Matafura eBuffer chikamu chendangariro chakakamurwa (kureva kuti, chinogona kuiswa mairi kazhinji). Izvo zvinosanganisira zvidimbu zvakati wandei, uye chimwe nechimwe chezvimedu chinoshanda seyakazvimiririra buffer, uye inonyungudutswa yakazvimirira (kana uine zvidimbu zvakawanda mubuffer, ipapo pachave nekuwanda kwekuisa pasekondi). Zvinokwanisika kuverenga kubva pamatafura aya - wobva waverenga mubatanidzwa wezviri mukati mebuffer uye tafura yevabereki, asi panguva ino kunyora kwakavharwa, saka zviri nani kuti usaverenge kubva ipapo. Uye matafura e-buffer anoratidza yakanaka kwazvo QPS, kureva kuti, kusvika zviuru zvitatu zveQPS hauzove nematambudziko kana uchiisa. Zviri pachena kuti kana sevha ikarasikirwa nesimba, ipapo data inogona kurasikirwa, nokuti yakangochengetwa mundangariro.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Panguva imwecheteyo, chirongwa chine buffer chinokanganisa ALTER, nekuti iwe unofanirwa kutanga wadonhedza tafura yekare buffer nehurongwa hwekare (iyo data haizonyangarika chero kupi, nekuti ichanyungudutswa tafura isati yadzimwa). Ipapo iwe "unoshandura" tafura yaunoda uye gadzira iyo buffer tafura zvakare. Saizvozvo, nepo pasina tafura yebuffer, data rako haringayerere chero kupi, asi unogona kuva naro pa diski zvishoma munharaunda.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Chii chinonzi Kittenhouse uye chinoshanda sei?

Chii chinonzi KittenHouse? Iyi ipuroksi. Fungidzira mutauro upi? Ini ndakaunganidza yakanyanya hype misoro mumushumo wangu - "Clickhouse", Enda, pamwe ndicharangarira chimwe chinhu. Hongu, izvi zvakanyorwa muGo, nekuti ini handinyatso kunyatsoziva kunyora muC, ini handidi.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Saizvozvo, inochengetedza hukama nesevha yega yega uye inogona kunyora kundangariro. Semuyenzaniso, kana tikanyora zvikanganiso kuClickhouse, zvino kana Clickhouse isina nguva yekuisa data (mushure mezvose, kana yakawandisa yakanyorwa), saka isu hatizvimbe ndangariro - tinongokanda kunze kwasara. Nekuti kana tikanyora akati wandei gigabits pasekondi yezvikanganiso, saka tinogona kukanda zvimwe kunze. Kittenhouse inogona kuita izvi. Uyezve, inogona kuita kuendesa kwakavimbika, ndiko kuti, kunyora kune dhisiki pamushini wemuno uye kamwe chete nguva (ipo, kamwe chete masekondi mashoma) inoedza kuburitsa data kubva pane iyi faira. Uye pakutanga takashandisa yakajairwa Values ​​mafomati - kwete mamwe mabhinari fomati, mameseji fomati (seyakajairwa SQL).

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Asi zvino izvi zvakaitika. Isu takashandisa kuendesa kwakavimbika, takanyora matanda, ndokuzosarudza (yaive mamiriro ebvunzo cluster)... Yakaiswa kunze kwemaawa akati wandei uye yakadzoserwa kumusoro, uye kuiswa kwakatanga kubva kune chiuru maseva - zvakazoitika kuti Clickhouse ichine "Thread on connection" - saizvozvo, mune chiuru chekubatanidza, kuiswa kunoshanda kunotungamira kune avhareji yekuremerwa pane sevha ingangoita chiuru nehafu. Zvinoshamisa kuti sevha yakabvuma zvikumbiro, asi data yakanga ichiri kuiswa mushure mechinguva; asi zvakanga zvakaoma kuti server ishandire ...

Wedzera nginx

Sarudzo yakadai yeiyo Thread per yekubatanidza modhi ndeye nginx. Isu takaisa nginx pamberi peClickhouse, panguva imwe chete kumisikidza kuenzanisa kune maviri replicas (yedu yekuisa kumhanya yakawedzera ne2 nguva, kunyangwe isiri chokwadi kuti ndizvo zvazvinofanira kudaro) uye nekudzora huwandu hwekubatanidza kuClickhouse, kune iyo kumusoro kwerwizi uye, maererano, zvakawanda, kupfuura mune makumi mashanu ekubatanidza, zvinoita sekunge hapana chikonzero chekuisa.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Ipapo takaona kuti chirongwa ichi chinowanzove nechakashata, nekuti isu tine nginx imwe chete pano. Saizvozvo, kana iyi nginx ikaparara, kunyangwe kuvepo kweiyo replicas, tinorasikirwa nedata kana, zvirinani, usanyore chero kupi. Ndiko kusaka takaita zvedu kutakura mitoro. Takaonawo kuti "Clickhouse" ichiri yakakodzera matanda, uye "dhimoni" rakatangawo kunyora matanda ake mu "Clickhouse" - zviri nyore, kuva akatendeseka. Tichiri kuishandisa kune mamwe "madhimoni".

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Ipapo takawana dambudziko iri rinonakidza: kana ukashandisa isiri-yakajairwa nzira yekuisa muSQL modhi, inomanikidza yakazara-yakazara AST-based SQL parser, iyo inononoka. Saizvozvo, isu takawedzera marongero kuitira kuti izvi zvisazoitika. Takaita load balancing, health checks, zvekuti kana munhu afa tinosiya data. Isu tave neakawanda matafura atinoda kuti tive neClickhouse masumbu akasiyana. Uye isu takatangawo kufunga nezve mamwe mashandisiro - semuenzaniso, isu taida kunyora matanda kubva kunginx module, asi ivo havazive nzira yekutaurirana vachishandisa RPC yedu. Zvakanaka, ndinoda kuvadzidzisa matumire angangoita neimwe nzira - semuenzaniso, kugamuchira zviitiko pane localhost kuburikidza neUDP uye vozozvitumira kuClickhouse.

Nhanho imwe kubva pane mhinduro

Chirongwa chekupedzisira chakatanga kutaridzika seizvi (yechina vhezheni yechirongwa ichi): pane yega sevha pamberi peClickhouse pane nginx (paiyo imwechete server) uye inongomiririra zvikumbiro kune localhost ine muganho pahuwandu hwekubatana kwe50. zvimedu. Uye chirongwa ichi chaive chatoshanda, zvese zvaive zvakanaka nazvo.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Takagara zvakadaro kweinenge mwedzi. Munhu wose aifara, akawedzera matafura, akawedzera, akawedzera ... Kazhinji, zvakazoitika kuti nzira yatakawedzera nayo matafura e-buffer yakanga isiri yakanyanya kunaka (ngatizviise saizvozvo). Takaita zvidimbu 16 patafura imwe neimwe uye kupenya kwemasekonzi mashoma; takanga tine matafura makumi maviri uye tafura imwe neimwe yakagamuchira 20 kuiswa kwechipiri - uye panguva ino "Clickhouse" yakatanga ... zvinyorwa zvakatanga kuderera. Havana kutombopfuura ... Nginx nekusarudzika yaive nechinhu chinonakidza zvekuti kana zvisungo zvakapera kumusoro kwerwizi, zvino zvakangodzorera "8" kune zvese zvitsva zvikumbiro.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Uye pano isu tine (Ndakangotarisa matanda muClickhouse pachayo) inenge hafu yezana yezvikumbiro yakundikana. Saizvozvo, dhisiki kushandiswa kwaive kwakakwira, pakanga paine zvakawanda zvakabatanidzwa. Zvakanaka, ndakaitei? Sezvineiwo, ini handina kunetsekana kufunga kuti nei chaizvo kubatana uye kumusoro kwerwizi kwakapera.

Kutsiva nginx nereverse proxy

Ndakafunga kuti isu tinofanirwa kuzvibata isu pachedu, hatifanire kuisiya kune nginx - nginx haizive kuti matafura aripo muClickhouse, uye ndakatsiva nginx nereverse proxy, yandakanyorawo pachangu.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Arikuitei? Inoshanda yakavakirwa pafasthttp raibhurari "goshnoy", ndiko kuti, nekukurumidza, senge nekukurumidza senginx. Ndine urombo, Igor, kana iwe uripo pano (chinyorwa: Igor Sysoev muRussia programmer akagadzira nginx web server). Inogona kunzwisisa kuti ndeapi mibvunzo iyi - INSERT kana SARUDZA - saizvozvo, inobata madziva ekubatanidza akasiyana emhando dzakasiyana dzemibvunzo.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Saizvozvo, kunyangwe isu tisina nguva yekupedzisa zvikumbiro zvekuisa, iyo "sarudzo" ichapfuura, uye zvinopesana. Uye inoisa iyo data mumatafura e-buffer - ine diki buffer: kana paine zvikanganiso, zvikanganiso zve syntax, uye zvichingodaro - kuti zvisazokanganisa zvakanyanya mamwe ese data, nekuti kana isu tikangoisa mumatafura e-buffer, isu yakanga ine "bachi" diki, uye zvese zvikanganiso zvesyntax zvakangobata chidimbu chidiki ichi; uye pano vanenge vatokanganisa buffer hombe. Diki i1 megabyte, kureva kuti, kwete idiki.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kuisa kuwiriranisa uye kunyatso kutsiva nginx, kunoita zvakafanana izvo nginx zvakaitwa kare - haufanire kushandura "Kittenhouse" yemunharaunda pane izvi. Uye sezvo ichishandisa nekukurumidzahttp, inokurumidza - unogona kuita zvinopfuura zviuru zana zvikumbiro pasekondi imwe chete yekuisa kuburikidza nereverse proxy. Nechepfungwa, iwe unogona kuisa mutsara mumwe panguva mune kittenhouse reverse proxy, asi chokwadi isu hatiite izvozvo.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Chirongwa chakatanga kutaridzika seizvi: "Kittenhouse", iyo reverse proxy mapoka akawanda anokumbira mumatafura uye, zvakare, matafura ebhefa anoaisa mune iwo makuru.

Killer mhinduro yenguva pfupi, Kitten ndeyekusingaperi

Iri idambudziko rinonakidza... Pane mumwe wenyu akashandisa fasthttp? Ndiani akashandisa fasthttp nezvikumbiro zvePOST? Pamwe, izvi hazvifanirwe kunge zvaitwa, nekuti zvinovharira muviri wekukumbira nekukasira, uye saizi yedu yebhafa yakaiswa kune gumi nematanhatu megabytes. Kuiswa kwacho kwakamira kukwira pane imwe nguva, uye 16-megabyte chunks akatanga kusvika kubva kumakumi ezviuru emaseva, uye ese akavharirwa mundangariro asati atumirwa kuClickhouse. Saizvozvo, ndangariro dzakapera, Out-Of-Memory Killer akauya ndokuuraya reverse proxy (kana kuti "Clickhouse", iyo yaigona "kudya" zvakanyanya kupfuura reverse proxy). Kutenderera kwakazvidzokorora. Kwete dambudziko rinonakidza kwazvo. Kunyangwe isu takagumburwa pane izvi chete mushure memwedzi yakati wandei yekushanda.

Zvandaita? Zvakare, handisi kunyatsoda kunzwisisa kuti chii chaizvo chakaitika. Ndinofunga zviri pachena kuti haufanirwe kubhuya mundangariro. Handina kukwanisa kupeta nekukurumidzahttp, kunyangwe ndakaedza. Asi ndakawana nzira yekuzviita kuitira kuti pakanga pasina chikonzero chekuisa chero chinhu, uye ndakauya nenzira yangu muHTTP - ndakaitumidza kuti KITTEN. Zvakanaka, zvine musoro - "VK", "Kitten"... Chii chimwe?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kana chikumbiro chikauya kune sevha neKitten nzira, saka sevha inofanira kupindura "meow" - zvine musoro. Kana iye akapindura kune izvi, zvino zvinofungidzirwa kuti anonzwisisa iyi protocol, uye ipapo ini ndinobvunzurudza kubatana (fasthttp ine nzira yakadaro), uye kubatana kunopinda mu "raw" mode. Nei ndichichida? Ini ndoda kudzora kuti kuverenga kubva kuTCP kubatana kunoitika sei. TCP ine pfuma inoshamisa: kana pasina munhu ari kuverenga kubva kune rumwe rutivi, ipapo kunyora kunotanga kumirira, uye chiyeuchidzo hachina kunyanya kushandiswa pane izvi.

Uye saka ndakaverenga kubva kune vanenge makumi mashanu vatengi panguva (kubva makumi mashanu nokuti makumi mashanu anofanira kunge akakwana, kunyange kana chiyero chinobva kune imwe DC)... Kushandiswa kwakaderera nenzira iyi kanenge ka50, asi ini, kuti ndive akatendeseka. , handina kukwanisa kuyera nguva chaiyo, nokuti inenge yatove isina maturo (yatosvika pamwero wekukanganisa). Iyo protocol ibhinari, ndiko kuti, ine zita retafura uye data; hapana http misoro, saka ini handina kushandisa webhu socket (ini handidi kutaurirana nemabhurawuza - ndakaita protocol inokodzera zvatinoda). Uye zvinhu zvose zvakava zvakanaka naye.

Tafura yebhafa inosuwisa

Munguva pfupi yapfuura takawana chimwe chinonakidza chimiro chebuffer table. Uye dambudziko iri rinotova rinorwadza kupfuura mamwe. Ngatimbofungidzirai mamiriro ezvinhu aya: iwe watove nekushingaira kushandisa Clickhouse, une akawanda eClickhouse maseva, uye une zvimwe zvikumbiro zvinotora nguva yakareba kwazvo kuverenga (ngatiti, anopfuura 60 masekondi); uye unouya woita Alter panguva ino... Zvichakadaro, “sarudza” yakatanga “Alter” isati yaiswa patafura iyi, “Alter” haizotangike - pamwe mamwe maficha ekuti “Clickhouse” inoshanda sei mukati. nzvimbo ino. Zvichida izvi zvinogona kugadziriswa? Kana kuti hazvibviri here?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kazhinji, zviri pachena kuti muchokwadi iyi haisi dambudziko rakakura kudaro, asi nematafura e-buffer zvinonyanya kurwadza. Nokuti, kana, ngatiti, nguva yako ye "Alter" (uye inogona kupera kune mumwe muiti - kwete yako, asi pamufananidzo, somuenzaniso), ... Wakadzima tafura yebhafa, "Alter" yako ( kana imwe imwe host) yapera nguva. zvino "Alter" kukanganisa kwaitika) - iwe uchiri kuda kuona kuti data rinoramba richinyorwa: iwe unogadzira matafura e-buffer kumashure (maererano nehurongwa hwakafanana netafura yevabereki), ipapo "Alter" inopfuura, inopera mushure mezvose, uye buffer iyo tafura inotanga kusiyanisa schema kubva kumubereki. Zvichienderana nekuti "Alter" yaive chii, iyo yekuisa inogona kunge isingachaendi kune iyi buffer tafura - izvi zvinosiririsa.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kune zvakare chiratidzo chakadaro (pamwe mumwe munhu akazviona) - inonzi query_thread_log mune nyowani shanduro dzeClickhouse. Nekutadza, mune imwe vhezheni yaive neimwe. Pano takaunganidza 840 mamiriyoni ezvinyorwa mumwedzi mishoma (100 gigabytes). Izvi zvinokonzerwa nekuti "zvinyorwa" zvakanyorwa ipapo (zvichida ikozvino, nenzira, hazvina kunyorwa). Sezvandakakuudza, "yedu" idiki - isu takanga tine "zvakawanda" zvemukati mumatafura ebuffer. Zviripachena kuti izvi zvakaremara - ndiri kungokuudza zvandaona pane yedu server. Sei? Iyi imwe nharo yekupokana nekushandisa buffer matafura! Spotty zvinosiririsa.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Ndiani aiziva kuti mukomana uyu ainzi Spotty? Vashandi veVK vakasimudza maoko avo. OK.

Nezve zvirongwa zve "KitttenHouse"

Zvirongwa hazviwanzo kugovaniswa, handiti? Pakarepo haungazvizadzisi uye hauzotaridzi zvakanaka mumaziso evamwe vanhu. Asi ini ndichatora njodzi! Tinoda kuita zvinotevera: matafura e-buffer, zvinoratidzika kwandiri, achiri crutch uye isu tinofanirwa kuvharira kuisirwa isu pachedu. Asi isu hatisati tichida kuibhura pa diski, saka isu tinovhara iyo yekuisa mundangariro.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Saizvozvo, kana "insert" yaitwa, haichazove yakawiriraniswa - inenge yatoshanda setafura yebuffer, ichaisa mutafura yevabereki (zvakanaka, rimwe zuva gare gare) uye taura kuburikidza neimwe chiteshi iyo inoiswa yakapfuura uye iyo. handina.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Sei ndisingakwanisi kusiya synchronous insert? Zviri nyore zvikuru. Ichokwadi ndechekuti kana iwe ukaisa kubva kune zviuru gumi zvemauto, ipapo zvese zvakanaka - iwe uchawana zvishoma kubva kune yega yega muenzi, iwe unoisa ipapo sekondi, zvese zvakanaka. Asi ini ndinoda kuti chirongwa ichi chishande, semuenzaniso, kubva kumichina miviri, kuitira kuti iwe ugone kurodha nekukurumidza - pamwe usawana iyo yakanyanya kubva Clickhouse, asi nyora kanenge 10 megabytes pasekondi kubva kune mumwe muchina kuburikidza nereverse proxy - ichi chirongwa chinofanira kuyera kune ese makuru uye madiki huwandu, saka isu hatigone kumirira sekondi kune yega yega kuiswa, saka inofanira kunge isingawirirani. Uye nenzira imwecheteyo, zvisimbiso zveasynchronous zvinofanirwa kuuya mushure mekunge kuiswa kwapera. Tichaziva kuti yakapfuura here kana kuti kwete.

Chinonyanya kukosha ndechekuti muchirongwa ichi tinoziva chokwadi kana kuiswa kwacho kwakaitika kana kwete. Fungidzira mamiriro ezvinhu aya: une tafura yebuffer, iwe wakanyora chimwe chinhu mairi, uyezve, ngatiti, tafura yakapinda mukuverenga chete modhi uye kuyedza kupuruzira buffer. Iyo data ichaenda kupi? Vacharamba vari mubhafa. Asi isu hatigoni kuva nechokwadi cheizvi - ko kana pane imwe kukanganisa, nekuda kwekuti iyo data haizorambi mubhafa ... (Addresses Alexey Milovidov, Yandex, ClickHouse developer) Kana kuti icharamba iripo? Nguva dzose? Alexey anotivimbisa kuti zvinhu zvose zvichanaka. Hatina chikonzero chekusamutenda. Asi zvakangofanana: kana tikasashandisa buffer matafura, saka hapazove nematambudziko navo. Kugadzira zvakapetwa kaviri matafura zvakare hazvina kunaka, kunyangwe musimboti hapana matambudziko makuru. Iri ndiro hurongwa.

Ngatitaure nezvekuverenga

Zvino ngatitaure nezvekuverenga. Isu takanyorawo mudziyo wedu pano. Zvingaita sekuti, sei kunyora chiridzwa chako pano? .. Uye ndiani akashandisa Tabix? Neimwe nzira vanhu vashoma vakasimudza maoko avo ... Uye ndiani anogutsikana nekuita kweTabix? Zvakanaka, isu hatisi kufara nazvo, uye haina kunyatso kurongeka pakuona data. Yakanakira analytics, asi yekungoona chete haina kugadziridzwa. Saka ndakanyora zvangu, yangu interface.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Zviri nyore - inogona kuverenga chete data. Haazive nzira yekuratidza magirafu, haazive kuita chero chinhu. Asi inogona kuratidza zvatinoda: semuenzaniso, mitsetse mingani iri mutafura, inotora nzvimbo yakawanda sei (pasina kuipwanya kuita makoramu), ndiko kuti, iyo yakakosha interface ndiyo yatinoda.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Uye inotaridzika zvakanyanya kufanana neSequel Pro, asi inongogadzirwa pa Twitter's Bootstrap, uye yechipiri vhezheni. Iwe unobvunza: "Yuri, nei pane yechipiri vhezheni?" Gore ripi? 2018? Kazhinji, ndakaita izvi nguva refu yapfuura ye "Muscle" (MySQL) uye ndakangochinja mitsetse mishoma mumibvunzo ipapo, uye yakatanga kushandira "Clickhouse", iyo yakakosha kutenda! Nekuti iyo parser yakafanana neiyo "tsandanyama", uye mibvunzo yakafanana - yakanyanya kunaka, kunyanya pakutanga.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Zvakanaka, inogona kusefa matafura, inogona kuratidza chimiro uye zviri mukati metafura, inobvumidza iwe kuronga, kusefa nemakoramu, inoratidza mubvunzo wakakonzera mhedzisiro, mitsara yakakanganisika (mangani semhedzisiro), ndiko kuti, zvinhu zvakakosha zvekuona data. Pretty fast.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Kune zvakare mupepeti. Ndakaedza kubira mupepeti wese kubva kuTabix, asi handina kukwanisa. Asi neimwe nzira inoshanda. In musimboti, ndizvo chete.

"Clickhouse" yakakodzera kune dens

Ndinoda kukuudza kuti Clickhouse, pasinei nematambudziko ose anotsanangurwa, anonyatsokodzera matanda. Chinonyanya kukosha, inogadzirisa dambudziko redu - inokurumidza uye inokubvumira kusefa matanda nemakoramu. Muchidimbu, matafura e-buffer haana kuita zvakanaka, asi kazhinji hapana anoziva kuti sei ... Zvichida ikozvino unoziva zviri nani kwauchava nematambudziko.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

TCP? Kazhinji, muVK itsika kushandisa UDP. Uye pandakashandisa TCP ... Chokwadi, hapana akandiudza kuti: “Yuri, uri kutaura nezvei! Iwe haugone, unoda UDP. " Zvakazoitika kuti TCP haina kutyisa zvakadaro. Chinhu chimwe chete ndechekuti, kana uine makumi ezviuru zvemakomisheni anoshanda aunonyora, unofanirwa kugadzirira zvishoma nekuchenjerera; asi zvinogoneka, uye zviri nyore.

Ndakavimbisa kutumira "Kittenhouse" uye "Lighthouse" paHighLoad Siberia kana munhu wese akanyorera kune yedu yeruzhinji "VK backend" ... Uye iwe unoziva, havasi vese vakanyoresa ... Chokwadi, ini handisi kuda kuti iwe unyore kune yedu. paruzhinji. Pachine vazhinji venyu, mumwe munhu angatogumburwa, asi zvakadaro, ndapota nyora (uye pano ndinofanira kuita maziso seaya ekati). Ndizvo batanidza nayo nenzira. Ndokutenda zvikuru! Github ndeyedu pano pano. NeClickhouse bvudzi rako richava rakapfava uye rakapfava.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Tungamira: - Shamwari, ikozvino kune mibvunzo. Tichangobva kupa chitupa chekutenda uye chirevo chako paVHS.

Yuri Nasretdinov (zvino anonzi YN): - Wakakwanisa sei kurekodha rondedzero yangu paVHS kana ichangopera?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

Tungamira: - Iwe zvakare haugone kuona zvizere kuti "Clickhouse" ichashanda sei kana kwete! Shamwari, maminetsi mashanu emibvunzo!

Mibvunzo yako

Mubvunzo kubva kune vateereri (inozozivikanwa seQ): - Masikati akanaka. Ndinokutendai zvikuru nemushumo. Ndine mibvunzo miviri. Ini ndichatanga nechinhu chisina maturo: nhamba yetsamba t muzita rokuti "Kittenhouse" mumifananidzo (3, 4, 7 ...) inokanganisa kugutsikana kwekatsi?

YN: - Huwandu hwei?

З: – Tsamba t. Kune matatu ma t, kumwe kunenge kune matatu ma t.

YN: - Handina kuzvigadzirisa here? Zvakanaka, hongu zvinoita! Izvi zvakasiyana zvigadzirwa - ndanga ndichikunyengerera nguva yese iyi. Zvakanaka, ndiri kutamba - hazvina basa. Ah, ipo pano! Aiwa, zvakafanana, ndakaita typo.

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

З: - Ndatenda. Mubvunzo wechipiri wakakomba. Sekunzwisisa kwandinoita, muClickhouse, matafura e-buffer anogara mundangariro chete, haana kuvharirwa kudhisiki uye, saizvozvo, haasi kuramba.

YN: - Ehe.

З: - Uye panguva imwecheteyo, mutengi wako anovharira dhisiki, izvo zvinoreva imwe vimbiso yekuunza aya matanda mamwe chete. Asi izvi hazvina kuvimbiswa kuClickhouse. Tsanangura kuti vimbiso inoitwa sei, nekuda kwei?.. Heino iyi nzira mune zvakadzama

YN: - Ehe, ne theoretically hapana kupokana pano, nekuti kana Clickhouse yadonha, unogona kunyatsozviona mumirioni nzira dzakasiyana. Kana Clickhouse ikaparara (kana ikapera zvisizvo), unogona, kutaura zvishoma, kudzoreredza zvishoma regi yako yawakanyora pasi uye wotanga kubva panguva iyo zvese zvaive zvakanaka. Ngatiti iwe unodzosera kumashure kweminiti, ndiko kuti, inofungidzirwa kuti warasa zvese muminiti.

З: - Ndiko kuti, "Kittenhouse" inobata hwindo kwenguva refu uye, kana ikadonha, inogona kuzviziva uye kuidzosera kumashure?

YN: - Asi izvi zviri mudzidziso. Mukuita, isu hatiite izvi, uye kuburitsa kwakavimbika kunobva kune zero kusvika kune infinity nguva. Asi paavhareji imwe. Isu tinogutsikana kuti kana Clickhouse ikadonha nekuda kwechimwe chikonzero kana maseva "reboot," isu tinorasikirwa zvishoma. Mune zvimwe zviitiko zvose, hapana chichaitika.

З: - Mhoro. Kubva pakutanga zvaiita kwandiri kuti zvechokwadi unenge uchishandisa UDP kubva pakutanga kweshumo. Iwe une http, zvose izvo ... Uye mazhinji ematambudziko awakatsanangura, sezvandinonzwisisa, akakonzerwa nemhinduro iyi ...

YN: - Chii chatinoshandisa TCP?

З: - Chaizvoizvo hongu.

YN: - Kwete.

З: - Yakanga iri nefasthttp iwe uine matambudziko, nekubatana iwe waive nematambudziko. Dai wakangoshandisa UDP ungadai wakazvichengeta imwe nguva. Zvakanaka, paizove nematambudziko nemameseji marefu kana chimwe chinhu ...

YN: - Nechii?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

З: - Nemashoko akareba, sezvo angave asina kukodzera muMTU, chimwe chinhu ... Zvakanaka, panogona kunge kune matambudziko avo pachavo. Mubvunzo ndewokuti: sei kwete UDP?

YN: - Ndinotenda kuti vanyori vakagadzira TCP / IP vane njere kupfuura ini uye vanoziva zviri nani kupfuura ini maitiro ekuita serialize mapaketi (kuti vaende), panguva imwechete gadzirisa hwindo rekutumira, kwete kuwandisa network, ipa mhinduro pane izvo haina kuverengwa, kwete kuverenga kune rumwe rutivi ... Matambudziko ose aya, mumaonero angu, aizovapo muUDP, chete ndaizofanira kunyora kunyange kodhi yakawanda kupfuura yandakatonyora kuti ndiite chinhu chimwe chete ini uye zvichida. zvakaipa. Ini handitombofarire kunyora muC, ndoda ipapo ...

З: - Zvakanakira chete! Yakatumirwa zvakanaka uye usamirire chero chinhu - zvachose asynchronous. Chiziviso chakadzoka chekuti zvese zvanga zvakanaka - zvinoreva kuti chasvika; Kana ikasauya, zvinoreva kuti yakaipa.

YN: - Ndinoda zvose - ndinoda kukwanisa kutumira zvose nevimbiso yekuendesa uye pasina vimbiso yekuendesa. Aya maitiro maviri akasiyana. Ini handifanire kurasikirwa nemamwe matanda kana kusarasikirwa nawo mukati mechikonzero.

З: - Handisi kutambisa nguva. Izvi zvinoda kukurukurwa zvakanyanya. Ndatenda.

Tungamira: - Ndiani ane mibvunzo - maoko kumatenga!

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

З: - Mhoro, ndiri Sasha. Pane imwe nzvimbo pakati pemushumo, manzwiro akaonekwa kuti, kunze kweTCP, zvaive zvichibvira kushandisa sarudzo yakagadzirwa - imwe mhando yeKafka.

YN: - Zvakanaka ... Ndakakuudza kuti handidi kushandisa maseva epakati, nokuti ... muKafka, zvinoratidzika kuti tine mauto ane zviuru gumi; chokwadi, isu tine zvakawanda - makumi ezviuru zvemauto. Zvinogona zvakare kurwadza kuita neKafka pasina chero proxies. Mukuwedzera, zvinonyanya kukosha, ichiri kupa "latency", inopa mamwe mauto aunoda kuva nawo. Asi ini handidi kuva navo - ndinoda ...

З: "Asi pakupedzisira zvakazoitika zvakadaro."

YN: - Kwete, hapana vaenzi! Izvi zvese zvinoshanda paClickhouse mauto.

З: - Zvakanaka, uye "Kittenhouse", iyo inopesana - anogara kupi?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

YN: -PaClickhouse host, hainyore chero chinhu kudhisiki.

З: - Ngatitii.

Tungamira: – Wagutsikana here? Tingakupa muhoro here?

З: - Hongu unokwanisa. Muchokwadi, kune akawanda madondoro kuitira kuti awane chinhu chimwe chete, uye ikozvino - mhinduro yapfuura pamusoro penyaya yeTCP inopesana, mumaonero angu, iyi mamiriro. Zvinongonzwa sekunge zvese zvingadai zvakaitwa pamabvi angu munguva shoma.

YN: - Uye zvakare nei ndaisada kushandisa Kafka, nekuti pakanga paine zvichemo zvakawanda muClickhouse Telegraph chat zvekuti, semuenzaniso, mameseji kubva kuKafka akarasika. Kwete kubva kuKafka pachayo, asi mukubatanidzwa kweKafka uye Clickhaus; kana chimwe chinhu chisina kubatana ipapo. Kutaura zvazviri, zvingave zvakakodzera kunyora mutengi weKafka ipapo. Handifungi kuti panogona kunge paine mhinduro iri nyore kana yakavimbika.

З: - Ndiudze, sei usina kuedza chero mitsetse kana imwe mhando yebhazi rakajairika? Sezvo uchiti neasynchrony unogona kutumira matanda pachawo kuburikidza nemutsara uye kugamuchira mhinduro asynchronously kuburikidza nemutsara?

HighLoad ++, Yuri Nasretdinov (VKontakte): sei VK inoisa data muClickHouse kubva kumakumi ezviuru emaseva

YN: - Ndokumbirawo muratidze mitsetse inogona kushandiswa?

З: - Chero, kunyangwe pasina vimbiso yekuti vari muhurongwa. Imwe mhando yeRedis, RMQ...

YN: -Ini ndine manzwiro ekuti Redis angangodaro asingakwanise kudhonza vhoriyamu yakadaro yekuisa kunyangwe pane imwe mugamuchiri (mupfungwa yemaseva akati wandei) inodhonza kunze Clickhouse. Ini handikwanise kutsigira izvi nechero humbowo (handina kuenzanisa), asi zvinoratidzika kwandiri kuti Redis haisi iyo yakanyanya mhinduro pano. Mumutemo, iyi sisitimu inogona kutariswa seyakagadziriswa meseji mutsara, asi iyo yakagadzirirwa chete "Clickhouse"

Tungamira: - Yuri, ndinokutendai zvikuru. Ndofunga kupedzisa mibvunzo nemhinduro pano totaura kuti ndiani pavabvunza mubvunzo watinopa bhuku racho.

YN: - Ndinoda kupa bhuku kumunhu wekutanga akabvunza mubvunzo.

Tungamira: - Wonderful! Hukuru! Zvakanaka! Kutenda kwazvo!

Dzimwe ads 🙂

Ndinokutendai nekugara nesu. Unoda zvinyorwa zvedu here? Unoda kuona zvimwe zvinonakidza zvemukati? Titsigire nekuisa odha kana kukurudzira kushamwari, Cloud VPS yevagadziri kubva kumadhora 4.99, yakasarudzika analogue yekupinda-level maseva, iyo yakagadzirwa nesu kuti iwe: Chokwadi chese nezveVPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kubva pamadhora makumi maviri kana kugovera sevha? (inowanikwa neRAID1 uye RAID10, kusvika ku24 cores uye kusvika ku40GB DDR4).

Dell R730xd 2 nguva yakachipa muEquinix Tier IV data center muAmsterdam? Chete pano 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kubva $199 muNetherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kubva pamadhora makumi mapfumbamwe nemapfumbamwe! Verenga nezve Nzira yekuvaka Infrastructure Corp. kirasi nekushandiswa kweDell R730xd E5-2650 v4 maseva anokosha 9000 euros penny?

Source: www.habr.com

Voeg