HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

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

Abstract ug presentasyon: http://www.highload.ru/moscow/2018/abstracts/4066

Юрий Насретдинов (ВКонтакте): в докладе будет рассказано об опыте внедрения ClickHouse в нашей компании – для чего он нам нужен, сколько мы храним данных, как их пишем и так далее.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Dugang nga mga materyales: gamit ang Clickhouse isip kapuli sa ELK, Big Query ug TimescaleDB

Yuri Nasretdinov: – Всем привет! Меня зовут Юрий Насретдинов, как уже представили меня. Я работаю во «ВКонтакте». Я буду рассказывать про то, как мы вставляем данные в «ClickHouse» с нашего парка серверов (десятки тысяч).

Unsa ang mga troso ug nganong kolektahon kini?

Unsa ang among isulti kanimo: kung unsa ang among gibuhat, ngano nga kinahanglan namon ang "ClickHouse", matag usa, ngano nga gipili namon kini, kung unsang klase nga pasundayag ang mahimo nimong makuha nga wala’y espesyal nga pag-configure. Isulti ko kanimo ang dugang bahin sa mga buffer table, bahin sa mga problema nga naa namo kanila ug bahin sa among mga solusyon nga among gihimo gikan sa open source - KittenHouse ug Lighthouse.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ngano nga kinahanglan namon nga buhaton ang bisan unsang butang (ang tanan kanunay nga maayo sa VKontakte, di ba?). Gusto namong mangolekta og mga debug logs (ug adunay gatusan ka terabytes nga datos didto), tingali sa usa ka paagi mas sayon ​​​​ang pagkalkulo sa mga estadistika; ug kami adunay usa ka panon sa napulo ka libo nga mga server diin kini tanan kinahanglan buhaton.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Nganong nakadesisyon mi? Tingali kami adunay mga solusyon alang sa pagtipig sa mga troso. Dinhi - adunay usa ka publiko nga "Backend VK". Girekomenda ko kaayo ang pag-subscribe niini.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Unsa ang mga troso? Kini usa ka makina nga nagbalik sa mga walay sulod nga array. Ang mga makina sa VK mao ang gitawag sa uban nga mga microservice. Ug ania ang nagpahiyom nga sticker (daghang gusto). Unsaon man? Aw, paminaw pa!

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Unsa ang magamit sa pagtipig sa mga troso? Imposible nga dili hisgutan si Hadup. Dayon, pananglitan, Rsyslog (pagtipig niini nga mga log sa mga file). LSD. Kinsa ang nahibal-an kung unsa ang LSD? Dili, dili kini nga LSD. Tipigi ang mga file, sa tinuud, usab. Aw, ang ClickHouse usa ka katingad-an nga kapilian.

Clickhouse ug mga kakompetensya: mga kinahanglanon ug mga oportunidad

Unsa may atong gusto? Gusto namon nga masiguro nga dili kami kinahanglan nga mabalaka pag-ayo bahin sa operasyon, aron kini molihok sa gawas sa kahon, labing maayo nga adunay gamay nga pagsumpo. Gusto namong magsulat og daghan, ug magsulat dayon. Ug gusto namong tipigan kini sa tanang matang sa mga bulan, mga tuig, sa ato pa, sa dugay nga panahon. Mahimong gusto namon nga masabtan ang pipila ka problema nga ilang giadto kanamo ug miingon, "Adunay dili molihok dinhi," ug kana 3 ka bulan ang milabay), ug gusto namon nga makita kung unsa ang nahitabo 3 ka bulan ang milabay " Ang data compression - klaro kung ngano nga kini mahimong usa ka plus - tungod kay kini nagpamenos sa gidaghanon sa luna nga gikinahanglan niini.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

И у нас есть такое интересное требование: мы иногда пишем output каких-нибудь команд (например, логи), оно может быть больше 4 килобайт совершенно спокойно. И если эта штука имеет работать по UDP, то ей не нужно тратить… у неё не будет никакого «оверхеда» на соединение, и для большого количества серверов это будет плюсом.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Atong tan-awon kung unsa ang gitanyag sa open source kanato. Una, kami adunay Logs Engine - kini ang among makina; Sa prinsipyo, mahimo niya ang tanan, mahimo pa niya magsulat og taas nga mga linya. Aw, dili kini transparent nga nag-compress sa datos - mahimo natong i-compress ang dagkong mga kolum sa atong kaugalingon kung gusto nato ... kita, siyempre, dili gusto (kung mahimo). Ang problema lang kay nahibal-an niya kung unsa ang mohaum sa iyang panumduman; Aron mabasa ang nahabilin, kinahanglan nimo nga makuha ang binlog sa kini nga makina ug, sa ingon, kini nagkinahanglan og taas nga panahon.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Какие есть варианты другие? Например, «Хадуп». Простота эксплуатации… Кто считает, что «Хадуп» легко настраивается? С записью, конечно же, проблем нет. С чтением вопросы иногда возникают. В принципе я сказал бы, что скорее нет, особенно для логов. Долговременное хранение – конечно, да, сжатие данных – да, длинные строки – понятно, что можно записывать. А вот записывать с большого количества серверов… Всё равно надо самим что-то делать!

Rsyslog. Sa tinuud, gigamit namon kini ingon usa ka kapilian sa pag-backup aron mabasa namon kini nga wala ihulog ang binlog, apan dili kini makasulat og taas nga mga linya; sa prinsipyo, dili kini makasulat og sobra sa 4 ka kilobytes. Kinahanglan nimo nga buhaton ang data compression sa parehas nga paagi sa imong kaugalingon. Ang pagbasa magagikan sa mga file.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Dayon adunay "badushka" nga pagpalambo sa LSD. Sa tinuud parehas sa "Rsyslog": gisuportahan niini ang taas nga mga kuwerdas, apan dili kini molihok pinaagi sa UDP ug, sa tinuud, tungod niini, sa kasubo, daghang mga butang ang kinahanglan nga isulat pag-usab didto. Ang LSD kinahanglan nga bag-ohon ang disenyo aron makahimo sa pagrekord gikan sa napulo ka libo nga mga server.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ug dinhi! Usa ka kataw-anan nga kapilian mao ang ElasticSearch. Unsaon pag-ingon? Maayo siya sa pagbasa, sa ato pa, dali siyang mobasa, apan dili kaayo maayo sa pagsulat. Una, kung kini nag-compress sa datos, kini huyang kaayo. Lagmit, ang usa ka bug-os nga pagpangita nanginahanglan mas daghang istruktura sa datos kaysa sa orihinal nga gidaghanon. Lisud ang pag-operate ug ang mga problema kanunay nga moabut niini. Ug, pag-usab, pagrekord sa Elastic - kinahanglan natong buhaton ang tanan sa atong kaugalingon.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Dinhi ang ClickHouse usa ka sulundon nga kapilian, siyempre. Ang bugtong butang mao nga ang pagrekord gikan sa napulo ka libo nga mga server usa ka problema. Apan labing menos adunay usa ka problema, mahimo natong sulayan nga masulbad kini bisan unsang paagi. Ug ang nahabilin nga taho bahin sa kini nga problema. Unsa nga matang sa pasundayag ang imong mapaabut gikan sa ClickHouse?

Unsaon man nato sa pagsal-ot niini? MergeTree

Кто из вас про «ClickHouse» не слышал, не знает? Нужно рассказать, не нужно? Очень быстро. Вставка там – 1-2 гигабита в секунду, всплесками до 10 гигабит в секунду на самом деле может выдерживать на вот такой конфигурации – там два 6-ядерных «Ксеона» (то есть даже не самые мощные), 256 гигов оперативы, 20 терабайтов в RAID (никто не настраивал, дефолтные настройки). Алексей Миловидов, разработчик ClickHouse, наверное, плачет сидит, что мы ничего не настраивали (у нас всё работало так). Соответственно, скорость сканирования, допустим, порядка 6 миллиардов строк в секунду можно получить, если данные хорошо сжимаются. Если вы like % по текстовой строке делаете – 100 миллионов строк в секунду, то есть кажется, что весьма быстро.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Unsaon man nato sa pagsal-ot niini? Aw, nahibal-an nimo nga ang VK naggamit sa PHP. Atong isulod gikan sa matag mamumuo sa PHP pinaagi sa HTTP ngadto sa "ClickHouse", ngadto sa lamesa sa MergeTree alang sa matag rekord. Kinsa ang nakakita nga adunay problema sa kini nga laraw? Sa pila ka rason, dili tanan ang nagpataas sa ilang mga kamot. Pasultiha ko nimo.

Во-первых, серверов много – соответственно, соединений будет становиться много (плохо). Потом в MergeTree лучше вставлять данные не чаще, чем раз в секунду. А кто знает почему? Ладно, хорошо. Я расскажу чуть-чуть подробнее об этом. Ещё интересный вопрос – что мы как бы не аналитику делаем, нам не нужно обогащать данные, нам не нужны промежуточные сервера, мы хотим вставлять прямо в «ClickHouse» (желательно – чем прямее, тем лучше).

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Соответственно, как осуществляется вставка в MergeTree? Почему в него лучше вставлять не чаще, чем раз в секунду или реже? Дело в том, что «ClickHouse» – столбцовая база данных и сортирует данные в порядке возрастания первичного ключа, и когда вы делаете вставку, создаётся количество файлов как минимум по количеству колонок, в которых данных отсортированы в порядке возрастания первичного ключа (создаётся отдельная директория, набор файлов на диске на каждый insert). Потом следующая вставка идёт, и в фоне они объединяются в большего размера «партиции». Поскольку данные отсортированы, то «смержить» два отсортированных файла можно без большого потребления памяти.

Apan, sama sa imong pagtag-an, kung magsulat ka og 10 ka mga file alang sa matag insert, dayon ang ClickHouse (o imong server) dali nga matapos, mao nga girekomenda nga isal-ot ang daghang mga batch. Tungod niini, wala gayud namo gilusad ang unang laraw ngadto sa produksyon. Gilusad dayon namo ang usa, nga dinhi sa No. 2 adunay:

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Dinhi hunahunaa nga adunay mga usa ka libo nga mga server nga among gilusad, adunay PHP ra. Ug sa matag server adunay among lokal nga ahente, nga among gitawag nga "Kittenhouse", nga nagmintinar sa usa ka koneksyon sa "ClickHouse" ug nagsal-ot sa datos matag pipila ka segundo. Gisal-ot ang datos dili sa MergeTree, apan sa usa ka buffer table, nga nagsilbi nga tukma aron malikayan ang pagsulod direkta sa MergeTree dayon.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Pagtrabaho uban ang buffer tables

Unsa ni? Ang mga buffer table usa ka piraso sa memorya nga giputol (nga mao, kini mahimong isulod niini kanunay). Naglangkob kini sa daghang mga piraso, ug ang matag usa sa mga piraso naglihok ingon usa ka independente nga buffer, ug sila gi-flush nga independente (kung adunay daghang mga piraso sa buffer, nan adunay daghang mga pagsal-ot matag segundo). Posible nga basahon gikan niini nga mga lamesa - unya imong basahon ang panaghiusa sa mga sulod sa buffer ug ang ginikanan nga lamesa, apan niining higayona ang pagsulat gibabagan, mao nga mas maayo nga dili magbasa gikan didto. Ug ang mga lamesa sa buffer nagpakita nga maayo kaayo nga QPS, nga mao, hangtod sa 3 ka libo nga QPS wala ka'y ​​​​bisan unsang mga problema kung magsulud. Klaro nga kung ang server mawad-an sa gahum, nan ang datos mahimong mawala, tungod kay kini gitipigan lamang sa panumduman.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Sa parehas nga oras, ang laraw nga adunay buffer nagpakomplikado sa ALTER, tungod kay kinahanglan nimo una nga ihulog ang daan nga buffer table nga adunay daan nga laraw (ang datos dili mawala bisan diin, tungod kay kini ma-flush sa wala pa matangtang ang lamesa). Dayon imong "bag-ohon" ang lamesa nga imong gikinahanglan ug paghimo pag-usab sa buffer table. Tungod niini, samtang walay buffer table, ang imong data dili modagayday bisan asa, apan mahimo nimo kini sa disk bisan sa lokal.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Unsa ang Kittenhouse ug giunsa kini pagtrabaho?

Unsa ang KittenHouse? Kini usa ka proxy. Tag-ana unsa nga pinulongan? Nakolekta nako ang kadaghanan nga mga hilisgutan sa hype sa akong report - "Clickhouse", Lakaw, tingali naa pa koy mahinumduman. Oo, kini gisulat sa Go, tungod kay dili gyud ko kahibalo kung unsaon pagsulat sa C, dili ko gusto.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Tungod niini, kini nagpadayon sa usa ka koneksyon sa matag server ug makasulat sa memorya. Pananglitan, kung magsulat kita og mga error log sa Clickhouse, unya kung ang Clickhouse walay panahon sa pagsal-ot sa datos (human sa tanan, kung daghan kaayo ang gisulat), nan dili nato madugangan ang panumduman - atong ilabay ang uban. Tungod kay kung magsulat kita daghang mga gigabit matag segundo sa mga sayup, nan mahimo naton ilabay ang pipila. Ang Kittenhouse makahimo niini. Dugang pa, kini makahimo sa kasaligan nga paghatud, nga mao, pagsulat sa disk sa lokal nga makina ug kausa sa matag higayon (didto, kausa sa matag duha ka segundo) kini mosulay sa paghatud sa datos gikan niini nga file. Ug sa una among gigamit ang regular nga Values ​​format - dili binary format, usa ka text format (sama sa regular nga SQL).

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Apan nahitabo kini. Gigamit namo ang kasaligan nga paghatod, nagsulat og mga troso, dayon nakahukom (kini usa ka conditional test cluster)... Gipagawas kini sulod sa pipila ka oras ug gibalik, ug ang pagsal-ot nagsugod gikan sa usa ka libo nga mga server - nahimo nga ang Clickhouse aduna pa'y usa ka "Thread sa koneksyon" - sumala niana, sa usa ka libo nga mga koneksyon, ang usa ka aktibo nga pagsal-ot nagdala ngadto sa usa ka average nga load sa server nga mga usa ug tunga ka libo. Katingad-an, ang server midawat sa mga hangyo, apan ang datos gisal-ot gihapon human sa pipila ka panahon; pero lisod kaayo para sa server ang pag serve niini...

Idugang ang nginx

Ang ingon nga solusyon alang sa Thread matag modelo sa koneksyon mao ang nginx. Gi-install namo ang nginx sa atubangan sa Clickhouse, sa samang higayon nag-set up sa pagbalanse alang sa duha ka mga replika (ang among insert speed misaka sa 2 nga mga panahon, bisan tuod kini dili usa ka kamatuoran nga kini kinahanglan nga mahitabo) ug limitado ang gidaghanon sa mga koneksyon sa Clickhouse, ngadto sa upstream ug, sumala niana, labaw pa, kay sa 50 ka koneksyon, morag walay kapuslanan ang pagsal-ot.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Потом мы поняли, что вообще эта схема имеет недостатки, потому что у нас здесь – один nginx. Соответственно, если этот nginx ложится, несмотря на наличие реплик, мы данные теряем или, по крайней мере, никуда не пишем. Поэтому мы сделали свою балансировку нагрузки. Также мы поняли, что «Кликхаус» всё-таки для логов подходит и «демон» тоже начал писать свои логи тоже в «Кликхаус» – очень удобно, если честно. До сих пор используем ещё и для других «демонов».

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Dayon among nadiskobrehan kining makaiikag nga problema: kon mogamit ka og dili standard nga pamaagi sa pagsal-ot sa SQL mode, gipugos niini ang bug-os nga AST-based SQL parser, nga medyo hinay. Tungod niini, kami adunay dugang nga mga setting aron masiguro nga kini dili mahitabo. Nagbuhat mi ug load balancing, health check, para kung naay mamatay, biyaan gihapon namo ang data. Daghan na kami karon nga mga lamesa nga kinahanglan namon nga adunay lainlaing mga cluster sa Clickhouse. Ug nagsugod usab kami sa paghunahuna bahin sa ubang mga gamit - pananglitan, gusto namon magsulat mga log gikan sa mga module sa nginx, apan wala sila kahibalo kung giunsa ang pagpakigsulti gamit ang among RPC. Bueno, gusto ko nga tudloan sila kung unsaon pagpadala bisan unsang paagiha - pananglitan, aron makadawat mga panghitabo sa localhost pinaagi sa UDP ug dayon ipadala kini sa Clickhouse.

Usa ka lakang gikan sa solusyon

Ang katapusan nga laraw nagsugod nga ingon niini (ang ikaupat nga bersyon sa kini nga laraw): sa matag server sa atubangan sa Clickhouse adunay nginx (sa parehas nga server) ug kini yano nga naghangyo sa mga hangyo sa localhost nga adunay limitasyon sa gidaghanon sa mga koneksyon nga 50 mga piraso. Ug kini nga laraw nagtrabaho na, ang tanan maayo kaayo niini.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Nagkinabuhi mi nga ingon niini sulod sa mga usa ka bulan. Nalipay ang tanan, gidugangan nila ang mga lamesa, gidugang nila, gidugang nila ... Sa kinatibuk-an, nahimo nga ang paagi sa pagdugang sa mga lamesa sa buffer dili kaayo maayo (atong ibutang kini nga paagi). Naghimo kami og 16 ka piraso sa matag lamesa ug usa ka flash interval sa pipila ka segundo; kami adunay 20 ka mga lamesa ug ang matag lamesa nakadawat og 8 nga pagsal-ot kada segundo - ug niining puntoha nagsugod ang "Clickhouse" ... ang mga rekord nagsugod sa paghinay. Dili lamang nga wala sila makapasar ... Sa kasagaran, ang nginx adunay usa ka makapaikag nga butang nga kung ang mga koneksyon natapos sa upstream, nan kini nagbalik lamang sa "502" sa tanan nga bag-ong mga hangyo.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ug ania kami (gitan-aw ra nako ang mga troso sa Clickhouse mismo) mga tunga sa porsyento sa mga hangyo ang napakyas. Tungod niini, taas ang paggamit sa disk, adunay daghang mga panagsama. Aw, unsay akong gibuhat? Natural, wala ko maghago aron mahibal-an kung ngano nga ang koneksyon ug sa ibabaw natapos.

Pag-ilis sa nginx sa usa ka reverse proxy

Nakahukom ko nga kinahanglan namon nga dumalahon kini sa among kaugalingon, dili kinahanglan nga ibilin kini sa nginx - wala mahibal-an sa nginx kung unsang mga lamesa ang naa sa Clickhouse, ug gipulihan nako ang nginx sa usa ka reverse proxy, nga gisulat ko usab sa akong kaugalingon.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Unsa iyang gibuhat? Naglihok kini base sa fasthttp library nga "goshnoy", nga mao, paspas, halos sama ka paspas sa nginx. Pasensya, Igor, kung naa ka dinhi (pahinumdom: Si Igor Sysoev usa ka Ruso nga programmer nga naghimo sa nginx web server). Makasabut kini kung unsa kini nga klase sa mga pangutana - INSERT o PILI - sumala niana, kini adunay lainlaing mga pool sa koneksyon alang sa lainlaing mga lahi sa mga pangutana.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Tungod niini, bisan kung wala kami panahon sa pagkompleto sa mga hangyo sa pagsal-ot, ang mga "gipili" moagi, ug vice versa. Ug gi-grupo niini ang mga datos sa mga buffer table - nga adunay gamay nga buffer: kung adunay bisan unsang mga sayup, mga sayup sa syntax, ug uban pa - aron dili kini makaapekto pag-ayo sa nahabilin nga datos, tungod kay kung gisal-ot ra namon sa mga lamesa sa buffer, kami adunay gamay nga "bachi", ug ang tanan nga mga sayup sa syntax nakaapekto lamang sa kini nga gamay nga piraso; ug dinhi na sila makaapekto sa usa ka dako nga buffer. Ang gamay mao ang 1 megabyte, sa ato pa, dili kaayo gamay.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ang pagsulud sa usa ka pag-synchronize ug hinungdanon nga pag-ilis sa nginx, hinungdanon ang parehas nga butang nga gibuhat sa nginx kaniadto - dili nimo kinahanglan usbon ang lokal nga "Kittenhouse" alang niini. Ug tungod kay kini naggamit sa fasthttp, kini paspas kaayo - makahimo ka labaw sa 100 ka libo nga mga hangyo matag segundo alang sa usa ka pagsal-ot pinaagi sa usa ka reverse proxy. Sa teoriya, mahimo nimong isulod ang usa ka linya matag higayon ngadto sa kittenhouse reverse proxy, apan siyempre dili namo kana buhaton.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Схема стала выглядеть вот так: «Киттенхаус», reverse-прокси группирует много запросов по таблицам и уже в свою очередь буферные таблицы вставляют их в основные.

Killer – решение временное, Kitten – постоянное

Kini usa ka makapaikag nga problema... Aduna ba kaninyoy migamit sa fasthttp? Kinsa ang migamit sa fasthttp sa mga hangyo sa POST? Tingali, dili gyud unta kini mahimo, tungod kay kini nag-buffer sa lawas sa hangyo pinaagi sa default, ug ang among gidak-on sa buffer gitakda sa 16 megabytes. Ang pagsal-ot mihunong sa pagpadayon sa usa ka punto, ug ang 16-megabyte nga mga tipak nagsugod sa pag-abut gikan sa tanan nga napulo ka libo nga mga server, ug silang tanan gi-buffer sa panumduman sa wala pa ipadala sa Clickhouse. Tungod niini, ang panumduman nahutdan, ang Out-Of-Memory Killer miabut ug gipatay ang reverse proxy (o "Clickhouse", nga sa teoriya "makakaon" labaw pa sa reverse proxy). Nagbalikbalik ang siklo. Dili kaayo nindot nga problema. Bisan tuod kami napandol niini human lamang sa pipila ka bulan sa operasyon.

Unsa akong nabuhat? Usa pa, dili gyud ko ganahan nga masabtan kung unsa gyud ang nahitabo. Sa akong hunahuna kini klaro kaayo nga dili ka kinahanglan mag-buffer sa memorya. Dili nako ma-patch ang fasthttp, bisan kung gisulayan nako. Apan nakit-an nako ang usa ka paagi aron mahimo kini aron wala’y kinahanglan nga i-patch ang bisan unsang butang, ug nahimo nako ang akong kaugalingon nga pamaagi sa HTTP - Gitawag ko kini nga KITTEN. Aw, makatarunganon kini - "VK", "Kuting"... Unsa pa?..

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Kung ang usa ka hangyo moabut sa server gamit ang Kitten nga pamaagi, nan ang server kinahanglan nga motubag "meow" - lohikal. Kung tubagon niya kini, nan giisip nga nasabtan niya kini nga protocol, ug dayon gipugngan nako ang koneksyon (ang fasthttp adunay ingon nga pamaagi), ug ang koneksyon moadto sa "hilaw" nga mode. Nganong gikinahanglan ko kini? Gusto nako nga kontrolon kung giunsa ang pagbasa gikan sa mga koneksyon sa TCP mahitabo. Ang TCP adunay usa ka talagsaon nga kabtangan: kung walay usa nga nagbasa gikan sa pikas nga bahin, nan ang pagsulat nagsugod sa paghulat, ug ang panumduman dili labi nga gigasto niini.

Ug mao nga nagbasa ko gikan sa mga 50 ka mga kliyente sa usa ka higayon (gikan sa kalim-an tungod kay ang kalim-an kinahanglan nga igo na, bisan kung ang rate gikan sa laing DC) ... Ang pagkonsumo mikunhod uban niini nga pamaagi labing menos 20 ka beses, apan ako, sa tinuod , dili nako masukod kung unsang orasa, tungod kay wala na kini kapuslanan (naabot na ang lebel sa sayup). Ang protocol binary, nga mao, kini naglangkob sa ngalan sa lamesa ug datos; walay mga header sa http, mao nga wala ko mogamit og web socket (dili ko kinahanglan nga makig-estorya sa mga browser - naghimo ko og protocol nga mohaum sa atong mga panginahanglan). Ug ang tanan nahimong maayo kaniya.

Ang buffer table sad

Bag-ohay lang nakit-an namon ang laing makapaikag nga bahin sa mga buffer table. Ug kini nga problema mas sakit na kaysa sa uban. Hunahunaa kini nga sitwasyon: aktibo ka na nga naggamit sa Clickhouse, aduna kay dosena nga Clickhouse server, ug aduna kay mga hangyo nga dugay kaayong basahon ( ingnon ta, labaw pa sa 60 segundos); ug moanhi ka ug magbuhat ug Alter karong higayona... Sa kasamtangan, ang “mga pilion” nga nagsugod sa wala pa ang “Alter” dili iapil niini nga lamesa, ang “Alter” dili magsugod - lagmit pipila ka bahin kon sa unsang paagi ang “Clickhouse” nagtrabaho sa niining dapita. Mahimo ba kini nga ayohon? O imposible ba kini?

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Sa kinatibuk-an, kini mao ang tin-aw nga sa pagkatinuod kini dili ingon nga usa ka dako nga problema, apan uban sa buffer lamesa kini mahimong mas sakit. Tungod kay, kung, ingnon ta, ang imong "Alter" nga mga timeout (ug kini mahimo nga mag-time out sa laing host - dili sa imoha, apan sa usa ka replika, pananglitan), nan... Imong gitangtang ang buffer table, ang imong "Alter" ( o uban pang host) nag-time out. unya usa ka "Pag-usab" nga sayup ang nahitabo) - kinahanglan nimo nga sigurohon nga ang datos nagpadayon sa pagsulat: imong gimugna ang buffer tables balik (sumala sa parehas nga laraw sa lamesa sa ginikanan), unya Ang "Pag-usab" moagi, matapos ang tanan, ug ang buffer sa lamesa nagsugod nga lahi sa schema gikan sa ginikanan. Depende kung unsa ang "Alter", ang insert mahimong dili na moadto sa kini nga buffer table - kini makapasubo kaayo.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Adunay usab ingon nga timaan (tingali adunay nakamatikod niini) - kini gitawag nga query_thread_log sa bag-ong mga bersyon sa Clickhouse. Sa kasagaran, sa pipila ka bersyon adunay usa. Dinhi nakatigom mi og 840 ka milyon nga mga rekord sulod sa pipila ka bulan (100 gigabytes). Kini tungod sa kamatuoran nga ang "mga pagsal-ot" gisulat didto (tingali karon, sa paagi, wala kini gisulat). Sama sa akong gisulti kanimo, ang among mga "insert" gamay - kami adunay daghang mga "insert" sa mga buffer table. Klaro nga kini gi-disable - Gisulti ko lang kanimo kung unsa ang akong nakita sa among server. Ngano man? Kini usa pa ka argumento batok sa paggamit sa mga buffer tables! Si Spotty sad kaayo.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Kinsay nakahibalo nga ang ngalan niining tawhana mao si Spotty? Ang mga empleyado sa VK nagpataas sa ilang mga kamot. OK ra.

Mahitungod sa mga plano alang sa "KitttenHouse"

Ang mga plano kasagarang dili ipaambit, di ba? Sa kalit dili nimo kini matuman ug dili maayo tan-awon sa mga mata sa ubang mga tawo. Pero mag risk ko! Gusto namon nga buhaton ang mga musunud: ang mga buffer table, para nako, usa pa ka crutch ug kinahanglan namon nga i-buffer ang pagsulud sa among kaugalingon. Apan dili gihapon namo gusto nga i-buffer kini sa disk, mao nga among i-buffer ang insertion sa memorya.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Tungod niini, kung ang usa ka "insert" gihimo, kini dili na magkadungan - kini molihok na ingon usa ka buffer table, i-insert sa parent table (maayo, sa umaabot nga adlaw) ug i-report pinaagi sa usa ka bulag nga channel nga ang mga pagsal-ot milabay ug diin wala.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ngano nga dili nako biyaan ang dungan nga pagsal-ot? Kini mas sayon. Ang tinuod mao nga kung magsal-ot ka gikan sa 10 ka libo nga mga host, nan maayo ang tanan - makakuha ka gamay gikan sa matag host, gisulud nimo didto kausa sa usa ka segundo, maayo ang tanan. Apan gusto nako nga kini nga laraw molihok, pananglitan, gikan sa duha nga mga makina, aron maka-download ka sa taas nga tulin - tingali dili makuha ang labing kadaghan sa Clickhouse, apan pagsulat labing menos 100 megabytes matag segundo gikan sa usa ka makina pinaagi sa usa ka reverse proxy - kini nga laraw kinahanglan nga sukdon sa dako ug gamay nga gidaghanon, mao nga kita dili makahulat sa usa ka segundo alang sa matag pagsal-ot, mao nga kini kinahanglan nga asynchronous. Ug sa parehas nga paagi, ang mga asynchronous nga pagkumpirma kinahanglan moabut pagkahuman makompleto ang pagsulud. Atong mahibal-an kung kini nakapasar o wala.

Ang labing hinungdanon nga butang mao nga sa kini nga laraw nahibal-an naton kung ang pagsulud nahitabo o wala. Hunahunaa kini nga sitwasyon: ikaw adunay usa ka buffer table, ikaw adunay gisulat niini, ug unya, ingnon ta, ang lamesa miadto sa read only mode ug misulay sa pag-flush sa buffer. Asa moadto ang datos? Magpabilin sila sa buffer. Apan dili kami makasiguro niini - unsa man kung adunay lain nga sayup, tungod niini ang datos dili magpabilin sa buffer... (Addresses Alexey Milovidov, Yandex, ClickHouse developer) O magpabilin ba kini? Kanunay? Gikombinsir mi ni Alexey nga mamaayo ra ang tanan. Wala kitay rason nga dili motuo kaniya. Apan parehas ra: kung dili kami mogamit mga buffer table, nan wala’y mga problema sa kanila. Ang paghimo og doble nga daghang mga lamesa dili usab kombenyente, bisan kung sa prinsipyo wala’y dagkong mga problema. Mao kini ang plano.

Maghisgot ta bahin sa pagbasa

Karon maghisgot ta bahin sa pagbasa. Gisulat usab namo ang among kaugalingong himan dinhi. Morag, aw, nganong nagsulat sa imong kaugalingong instrumento dinhi?.. Ug kinsa ang migamit sa Tabix? Sa unsa nga paagi pipila ka mga tawo ang nagpataas sa ilang mga kamot ... Ug kinsa ang natagbaw sa pasundayag sa Tabix? Aw, dili kami malipayon niini, ug dili kaayo kombenyente alang sa pagtan-aw sa datos. Maayo kini alang sa analytics, apan alang lamang sa pagtan-aw kini klaro nga dili ma-optimize. Mao nga gisulat nako ang akong kaugalingon, akong kaugalingon nga interface.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Yano ra kaayo - makabasa ra kini sa datos. Dili siya kahibalo kung unsaon pagpakita sa mga graphic, dili siya kahibalo kung unsa ang buhaton. Apan kini makapakita kung unsa ang atong gikinahanglan: pananglitan, pila ka laray ang anaa sa lamesa, unsa ka dako nga luna ang gikinahanglan (nga wala kini gibahin ngadto sa mga kolum), nga mao, ang usa ka sukaranan nga interface mao ang atong gikinahanglan.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Ug kini susama kaayo sa Sequel Pro, apan gihimo lamang sa Twitter's Bootstrap, ug ang ikaduha nga bersyon. Nangutana ka: "Yuri, nganong sa ikaduhang bersyon?" Unsang tuiga? 2018? Sa kinatibuk-an, dugay na nako kining gibuhat para sa "Muscle" (MySQL) ug bag-o lang gibag-o ang pila ka linya sa mga pangutana didto, ug nagsugod kini pagtrabaho alang sa "Clickhouse", diin espesyal nga salamat! Tungod kay ang parser susama kaayo sa "kaunuran", ug ang mga pangutana parehas kaayo - sayon ​​​​kaayo, labi na sa una.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Aw, kini maka-filter sa mga lamesa, makapakita sa istruktura ug mga sulod sa lamesa, makapahimo kanimo sa paghan-ay, pagsala pinaagi sa mga kolum, pagpakita sa pangutana nga miresulta sa resulta, ang mga naapektuhan nga mga laray (pila ang resulta), nga mao, ang sukaranan nga mga butang alang sa pagtan-aw sa datos. Medyo paspas.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Редактор тоже есть. Я честно попытался украсть редактор целиком из «Табикса», но не смог. Но всё-таки как-то он работает. В принципе на этом всё.

Ang "Clickhouse" angay alang sa mga lungib

Я вам хочу сказать, что «Кликхаус», несмотря на все описанные проблемы, очень хорошо подходит для логов. Он, самое главное, решает нашу проблему – он очень быстрый и позволяет фильтровать логи по колонкам. В принципе буферные таблицы показали себя не с лучшей стороны, но обычно никто не знает почему… Может, вы теперь больше знаете, где у вас будут проблемы.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

TCP? Sa kinatibuk-an, sa VK naandan nga gamiton ang UDP. Ug sa dihang akong gigamit ang TCP... Siyempre, walay usa nga misulti kanako: “Yuri, unsay imong gisulti! Dili nimo mahimo, kinahanglan nimo ang UDP. ” Kini nahimo nga ang TCP dili kaayo makahadlok. Ang bugtong butang mao, kung ikaw adunay napulo ka libo nga aktibo nga mga compound nga imong gisulat, kinahanglan nimo nga andamon kini nga labi ka maayo; apan kini posible, ug sayon.

Gisaad nako nga i-post ang "Kittenhouse" ug "Lighthouse" sa HighLoad Siberia kung ang tanan nag-subscribe sa among publiko nga "VK backend" ... Ug nahibal-an nimo, dili tanan nag-subscribe ... Siyempre, dili ako mohangyo nga mag-subscribe ka sa among publiko. Daghan pa kaayo ka, adunay bisan kinsa nga nasakitan, apan sa gihapon, palihug pag-subscribe (ug dinhi kinahanglan nako nga himuon ang mga mata nga sama sa usa ka iring). mao na link niini sa paagi. Большое спасибо! Github наш dinhi mismo. С «Кликхаусом» ваши волосы будут мягкими и шелковистыми.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Nanguna: - Mga higala, karon alang sa mga pangutana. Human dayon namo ipresentar ang sertipiko sa apresasyon ug ang imong report sa VHS.

Yuri Nasretdinov (gitawag nga YN): – Giunsa nimo pagrekord ang akong report sa VHS kung nahuman na kini?

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Nanguna: - Dili usab nimo hingpit nga mahibal-an kung giunsa ang "Clickhouse" molihok o dili! Mga higala, 5 minuto para sa mga pangutana!

Ang imong mga pangutana

Вопрос из зала (далее – З): - Maayong hapon. Salamat kaayo sa report. Naa koy duha ka pangutana. Magsugod ko sa usa ka butang nga walay hinungdan: ang gidaghanon sa mga letra t sa ngalan nga "Kittenhouse" sa mga diagram (3, 4, 7...) makaapekto sa katagbawan sa mga iring?

YN: - Kadaghanon sa unsa?

Z: – Sulat t. Adunay tulo ka t, sa usa ka dapit sa tulo ka t.

YN: - Wala ba nako kini giayo? Aw, siyempre kana! Lahi kini nga mga produkto - nangilad lang ko nimo sa tanang panahon. Okay, nagbiaybiay ko - dili igsapayan. Ah, dinhi ra! Dili, parehas ra nga butang, nakahimo ako usa ka typo.

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Z: - Salamat. Ang ikaduhang pangutana seryoso. Sa akong nasabtan, sa Clickhouse, ang mga buffer tables nagpuyo lamang sa memorya, wala gi-buffer sa disk ug, sa ingon, dili mapadayonon.

YN: - Oo.

Z: – Ug sa samang higayon, ang imong kliyente buffer sa disk, nga nagpasabot sa pipila ka garantiya sa paghatod niining mga sama nga mga troso. Apan dili kini garantiya sa Clickhouse. Ipasabut kung giunsa ang garantiya gihimo, tungod sa unsa?.. Ania kini nga mekanismo sa mas detalyado

YN: - Oo, sa teorya wala’y mga panagsumpaki dinhi, tungod kay kung mahulog ang Clickhouse, mahimo nimo kini makit-an sa usa ka milyon nga lainlaing mga paagi. Kung ang Clickhouse nahagsa (kung kini dili husto nga natapos), mahimo nimo, sa halos pagsulti, i-rewind ang gamay sa imong log nga imong gisulat ug magsugod gikan sa higayon nga ang tanan maayo ra. Ingnon ta nga nag-rewind ka usa ka minuto, sa ato pa, giisip nimo nga na-flush nimo ang tanan sa usa ka minuto.

Z: – То есть «Киттенхаус» держит окно длиннее и в случае падения умеет его распознавать и отматывать?

YN: – Apan kini sa teoriya. Sa praktis, wala namo kini buhata, ug ang kasaligan nga paghatud gikan sa zero hangtod sa walay katapusan nga mga panahon. Apan sa kasagaran usa. Natagbaw kami nga kung ang Clickhouse nahagsa tungod sa usa ka hinungdan o ang mga server "pag-reboot," nan mawala kami gamay. Sa ubang mga kaso, walay mahitabo.

Z: - Hello. Sa sinugdanan pa lang daw para nako nga mogamit gyud ka sa UDP gikan pa sa sinugdanan sa report. Ikaw adunay http, ang tanan nga ... Ug ang kadaghanan sa mga problema nga imong gihulagway, ingon sa akong nasabtan niini, tungod niining partikular nga solusyon...

YN: – Что мы используем TCP?

Z: – По сути да.

YN: - Dili.

Z: – Kini uban sa fasthttp nga kamo adunay mga problema, sa koneksyon kamo adunay mga problema. Kung gigamit nimo ang UDP mahimo nimong maluwas ang imong kaugalingon sa pila ka oras. Aw, adunay mga problema sa taas nga mga mensahe o uban pa...

YN: - Uban sa unsa?

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Z: – Uban sa tag-as nga mga mensahe, tungod kay kini dili mohaum ngadto sa MTU, lain nga butang... Aw, adunay mga problema sa ilang kaugalingon. Ang pangutana mao: nganong dili UDP?

YN: - Nagtuo ko nga ang mga tagsulat nga nagpalambo sa TCP / IP labi ka maalamon kaysa kanako ug nahibal-an nga mas maayo kaysa kanako kung giunsa ang pag-serialize sa mga packet (aron sila moadto), sa parehas nga oras i-adjust ang window sa pagpadala, dili sobra nga gibug-aton ang network, paghatag feedback kung unsa wala mabasa, wala mag-ihap sa pikas bahin... Tanan kini nga mga problema, sa akong opinyon, maglungtad sa UDP, kinahanglan ra nako nga magsulat labi pa nga code kaysa sa nasulat na nako aron mapatuman ang parehas nga butang sa akong kaugalingon ug lagmit dili maayo. Dili gyud ko ganahan magsulat sa C, labi na didto...

Z: – Как раз удобно! Отправил ok и не ждёшь ничего – у тебя абсолютно асинхронно. Пришло назад уведомление о том, что всё хорошо – значит, пришло; не пришло – значит, плохо.

YN: - Kinahanglan nako ang duha - Kinahanglan nako nga ipadala ang duha nga adunay garantiya sa paghatod ug walay garantiya sa paghatod. Duha kini ka lainlain nga mga senaryo. Kinahanglan kong dili mawala ang pipila ka mga troso o dili mawala kini sa katarungan.

Z: – Не буду отнимать время. Это надо дольше обсуждать. Спасибо.

Nanguna: – У кого есть вопросы – ручки в небо!

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

Z: - Hello, ako nga pala si Sasha. Sa usa ka dapit sa tunga-tunga sa taho, usa ka pagbati ang nagpakita nga, dugang sa TCP, posible nga gamiton ang usa ka andam nga solusyon - usa ka matang sa Kafka.

YN: – Ну как… Я же говорил, что не хочу использовать промежуточные серверы, потому что… в «Кафку» — окажется, что у нас десять тысяч хостов; на самом деле у нас больше – десятки тысяч хостов. С «Кафкой» без каких-либо проксей тоже может больно делать. К тому же, самое главное, оно всё равно даёт «latency», даёт лишние хосты, которые нужно иметь. А я не хочу их иметь – я хочу…

Z: "Apan sa katapusan kini nahimo nga ingon niana."

YN: – Нет, никаких хостов нет! Это всё работает на хостах «Кликхауса».

Z: - Aw, ug "Kittenhouse", nga mao ang sukwahi - diin siya nagpuyo?

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

YN: – Sa Clickhouse host, wala kini magsulat bisan unsa sa disk.

Z: - Atong hunahunaon.

Nanguna: – Natagbaw ka ba? Makahatag ba mi ug sweldo?

Z: – Можно, да. На самом деле много костылей ради того, чтобы получилось то же самое, и вот – предыдущий ответ на тему TCP противоречит, на мой взгляд, вот этой ситуации. Просто такое ощущение, что можно было всё сделать на коленке за гораздо меньшее время.

YN: - Ug usab nganong dili ko gusto nga gamiton ang Kafka, tungod kay adunay daghang mga reklamo sa Clickhouse Telegram chat nga, pananglitan, ang mga mensahe gikan sa Kafka nawala. Dili gikan sa Kafka mismo, apan sa panagsama sa Kafka ug Clickhaus; o adunay dili konektado didto. Sa kinatibuk-an nga pagsulti, kinahanglan nga magsulat usa ka kliyente alang sa Kafka kaniadto. Wala ako maghunahuna nga adunay usa ka mas simple o mas kasaligan nga solusyon.

Z: - Sultihi ko, nganong wala ka mosulay sa bisan unsang pila o usa ka matang sa komon nga bus? Tungod kay giingon nimo nga sa asynchrony mahimo nimong ipadala ang mga troso sa ilang kaugalingon pinaagi sa pila ug makadawat sa tubag nga asynchronously pinaagi sa pila?

HighLoad++, Yuri Nasretdinov (VKontakte): giunsa pagsal-ot sa VK ang datos sa ClickHouse gikan sa libu-libong mga server

YN: – Предложите, пожалуйста, какие можно было бы очереди использовать?

Z: – Любые, даже без гарантии, что они по порядку идут. Redis какой-нибудь, RMQ…

YN: - Ako adunay usa ka pagbati nga si Redis lagmit dili makahimo sa pagbitad sa ingon nga gidaghanon sa pagsal-ot bisan sa usa ka host (sa diwa sa pipila ka mga server) nga mibira sa Clickhouse. Dili nako kini masuportahan sa bisan unsang ebidensya (wala nako kini gimarkahan), apan ingon nako nga ang Redis dili ang labing kaayo nga solusyon dinhi. Sa prinsipyo, kini nga sistema mahimong isipon nga usa ka improvised nga mensahe nga pila, apan nga gipahaum lamang alang sa "Clickhouse"

Nanguna: – Юрий, спасибо большое. Я предлагаю на этом закончить вопросы и ответы и сказать, кому из задавших вопрос мы подарим книжку.

YN: – Gusto kong mohatag ug libro sa unang tawo nga nangutana.

Nanguna: - Nindot! Nindot! Talagsaon! Salamat kaayo!

Pipila ka mga ad 🙂

Salamat sa pagpabilin kanamo. Ganahan ka ba sa among mga artikulo? Gusto nga makakita og mas makapaikag nga sulod? Suportahi kami pinaagi sa pag-order o pagrekomenda sa mga higala, cloud VPS alang sa mga developers gikan sa $4.99, usa ka talagsaon nga analogue sa mga entry-level server, nga giimbento namo alang kanimo: Ang tibuok kamatuoran bahin sa VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps gikan sa $19 o unsaon pagpaambit sa usa ka server? (anaa sa RAID1 ug RAID10, hangtod sa 24 ka mga core ug hangtod sa 40GB DDR4).

Dell R730xd 2 ka beses nga mas barato sa Equinix Tier IV data center sa Amsterdam? Dinhi lang 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV gikan sa $199 sa Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - gikan sa $99! Basaha ang mahitungod sa Unsaon pagtukod sa infrastructure corp. klase sa paggamit sa Dell R730xd E5-2650 v4 server nga nagkantidad ug 9000 euros sa usa ka sentimos?

Source: www.habr.com

Idugang sa usa ka comment