Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ngakhale kuti tsopano pali zambiri zambiri pafupifupi kulikonse, ma analytic databases akadali achilendo. Sadziwika bwino ndipo sangathe kuzigwiritsa ntchito bwino. Ambiri akupitiriza "kudya cactus" ndi MySQL kapena PostgreSQL, zomwe zimapangidwira zochitika zina, kulimbana ndi NoSQL, kapena kulipira ndalama zambiri pazamalonda. ClickHouse ndiwosintha masewera ndipo amachepetsa kwambiri chotchinga kuti alowe mdziko la analytical DBMS.

Lipotilo likuchokera ku BackEnd Conf 2018 ndipo limasindikizidwa ndi chilolezo cha wokamba nkhani.


Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)
Ndine ndani ndipo chifukwa chiyani ndikulankhula za ClickHouse? Ndine Mtsogoleri Wachitukuko ku LifeStreet, yemwe amagwiritsa ntchito ClickHouse. Ndinenso woyambitsa Altinity. Uyu ndi mnzake wa Yandex yemwe amalimbikitsa ClickHouse ndikuthandizira Yandex kuti ClickHouse ikhale yopambana. Ndine wokonzekanso kugawana nzeru za ClickHouse.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo inenso sindine mchimwene wake wa Petya Zaitsev. Nthawi zambiri ndimafunsidwa za izi. Ayi, sitiri abale.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

"Aliyense amadziwa" kuti ClickHouse:

  • Mwachangu kwambiri,
  • Zothandiza kwambiri,
  • Amagwiritsidwa ntchito mu Yandex.

Ndizodziwika pang'ono momwe makampani ndi momwe amagwiritsidwira ntchito.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndikuuzani chifukwa chake, komwe ndi momwe ClickHouse imagwiritsidwira ntchito, pambali pa Yandex.

Ndikuuzani momwe mavuto enieni amathetsedwera pogwiritsa ntchito ClickHouse m'makampani osiyanasiyana, ndi zida ziti za ClickHouse zomwe mungagwiritse ntchito pa ntchito zanu, ndi momwe zinagwiritsidwira ntchito m'makampani osiyanasiyana.

Ndasankha zitsanzo zitatu zomwe zikuwonetsa ClickHouse kuchokera mbali zosiyanasiyana. Ndikuganiza kuti zikhala zosangalatsa.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Funso loyamba ndilakuti: "Chifukwa chiyani mukufuna ClickHouse?" Zikuoneka kuti funso ndi lodziwikiratu, koma pali mayankho oposa limodzi.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Yankho loyamba ndi chifukwa cha magwiridwe antchito. ClickHouse ndi yachangu kwambiri. Analytics pa ClickHouse imakhalanso yachangu kwambiri. Nthawi zambiri angagwiritsidwe ntchito pamene chinthu china chikugwira ntchito pang'onopang'ono kapena movutikira kwambiri.
  • Yankho lachiwiri ndi mtengo. Ndipo choyamba, mtengo wa makulitsidwe. Mwachitsanzo, Vertica ndi database yabwino kwambiri. Zimagwira ntchito bwino ngati mulibe ma terabytes ambiri a data. Koma tikamanena za mazana a ma terabytes kapena ma petabytes, mtengo wa chiphaso ndi chithandizo ndi wofunika kwambiri. Ndipo ndi okwera mtengo. Ndipo ClickHouse ndi yaulere.
  • Yankho lachitatu ndi mtengo wogwira ntchito. Iyi ndi njira yosiyana pang'ono. RedShift ndi analogue yabwino. Ndi RedShift mutha kupanga chisankho mwachangu kwambiri. Zidzagwira ntchito bwino, koma nthawi yomweyo, ola lililonse, tsiku lililonse komanso mwezi uliwonse mudzalipira zambiri ku Amazon, chifukwa ndi ntchito yodula kwambiri. Google BigQuery nayonso. Ngati wina wagwiritsa ntchito, ndiye kuti amadziwa kuti mutha kufunsa mafunso angapo pamenepo ndipo mwadzidzidzi mulandire invoice yamazana a madola.

ClickHouse ilibe zovuta izi.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Kodi ClickHouse ikugwiritsidwa ntchito kuti? Kuphatikiza pa Yandex, ClickHouse imagwiritsidwa ntchito pamabizinesi ndi makampani osiyanasiyana.

  • Choyamba, iyi ndi ma analytics a intaneti, i.e. iyi ndi nkhani yogwiritsa ntchito yomwe idachokera ku Yandex.
  • Makampani ambiri a AdTech amagwiritsa ntchito ClickHouse.
  • Makampani ambiri omwe amafunikira kusanthula zipika zogwirira ntchito kuchokera kumagwero osiyanasiyana.
  • Makampani angapo amagwiritsa ntchito ClickHouse kuyang'anira zipika zachitetezo. Amawayika ku ClickHouse, amapanga malipoti, ndikupeza zotsatira zomwe akufuna.
  • Makampani akuyamba kuzigwiritsa ntchito pofufuza zachuma, mwachitsanzo, pang'onopang'ono mabizinesi akuluakulu akuyandikira ClickHouse.
  • CloudFlare. Ngati wina atsatira ClickHouse, mwina mwamvapo dzina la kampaniyi. Ichi ndi chimodzi mwazothandiza kwambiri m'deralo. Ndipo ali ndi kukhazikitsa kwakukulu kwa ClickHouse. Mwachitsanzo, adapanga Kafka Injini ya ClickHouse.
  • Makampani opanga ma telecommunication ayamba kugwiritsa ntchito. Makampani angapo amagwiritsa ntchito ClickHouse ngati umboni pamalingaliro kapena akupangidwa kale.
  • Kampani imodzi imagwiritsa ntchito ClickHouse kuyang'anira njira zopangira. Amayesa ma microcircuits, amalemba magawo angapo, pali pafupifupi 2. Kenako amasanthula ngati gululo ndi labwino kapena loipa.
  • Blockchain analytics. Pali kampani yaku Russia yotchedwa Bloxy.info. Uku ndikuwunika kwa intaneti ya Ethereum. Adachitanso izi pa ClickHouse.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Komanso, kukula zilibe kanthu. Pali makampani ambiri omwe amagwiritsa ntchito seva imodzi yaying'ono. Ndipo amawalola kuthetsa mavuto awo. Ndipo makampani ochulukirapo amagwiritsa ntchito magulu akuluakulu a ma seva ambiri kapena ma seva ambiri.

Ndipo ngati muyang'ana zolemba, ndiye:

  • Yandex: Ma seva 500+, amasunga zolemba 25 biliyoni patsiku kumeneko.
  • LifeStreet: Ma seva 60, pafupifupi 75 biliyoni mbiri patsiku. Pali ma seva ochepa komanso zolemba zambiri kuposa mu Yandex.
  • CloudFlare: Ma seva 36, ​​amasunga ma rekodi 200 biliyoni patsiku. Ali ndi ma seva ocheperako ndipo amasunga zambiri.
  • Bloomberg: maseva 102, pafupifupi thililiyoni mbiri patsiku. Chosungira.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Malinga ndi malo, izi nazonso zambiri. Mapuwa akuwonetsa kutentha komwe ClickHouse imagwiritsidwa ntchito padziko lapansi. Apa Russia, China, ndi America zikuwonekera bwino lomwe. Pali mayiko ochepa a ku Ulaya. Ndipo masango 4 akhoza kusiyanitsidwa.

Uku ndikuyerekeza koyerekeza, palibe chifukwa choyang'ana manambala mtheradi. Uku ndikuwunika kwa alendo omwe amawerenga zida za chilankhulo cha Chingerezi patsamba la Altinity, chifukwa palibe olankhula Chirasha kumeneko. Ndipo Russia, Ukraine, Belarus, i.e. gawo la anthu olankhula Chirasha, ndiwo ogwiritsa ntchito ambiri. Kenako pakubwera USA ndi Canada. China ikukula kwambiri. Panalibe pafupifupi China kumeneko miyezi isanu ndi umodzi yapitayo; tsopano China yadutsa kale ku Ulaya ndipo ikupitiriza kukula. Old Europe nawonso satsalira m'mbuyo, ndipo mtsogoleri pakugwiritsa ntchito ClickHouse ndi, zodabwitsa, France.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Chifukwa chiyani ndikuwuza zonsezi? Kuwonetsa kuti ClickHouse ikukhala njira yothetsera kusanthula kwakukulu kwa deta ndipo imagwiritsidwa ntchito kale m'malo ambiri. Ngati mugwiritsa ntchito, muli panjira yoyenera. Ngati simukugwiritsabe ntchito, ndiye kuti simukuyenera kuchita mantha kuti mudzasiyidwa nokha ndipo palibe amene angakuthandizeni, chifukwa ambiri akuchita kale izi.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Izi ndi zitsanzo za kugwiritsidwa ntchito kwenikweni kwa ClickHouse m'makampani angapo.

  • Chitsanzo choyamba ndi maukonde otsatsa: kusamuka kuchokera ku Vertica kupita ku ClickHouse. Ndipo ndikudziwa makampani angapo omwe asintha kuchokera ku Vertica kapena akusintha.
  • Chitsanzo chachiwiri ndikusungirako zinthu pa ClickHouse. Ichi ndi chitsanzo chomangidwa pa antipatterns. Chilichonse chomwe sichiyenera kuchitidwa ku ClickHouse malinga ndi upangiri wa omwe akutukula achita apa. Ndipo panthawi imodzimodziyo imachitidwa bwino kwambiri kuti igwire ntchito. Ndipo imagwira ntchito bwino kwambiri kuposa njira wamba yolumikizirana.
  • Chitsanzo chachitatu ndikugawidwa kwa makompyuta pa ClickHouse. Panali funso la momwe ClickHouse ingaphatikizidwire mu chilengedwe cha Hadoop. Ndiwonetsa chitsanzo cha momwe kampani inachitira zofanana ndi mapu ochepetsera chidebe pa ClickHouse, kuyang'anira kumasulira kwa deta, ndi zina zotero, kuti muwerenge ntchito yosakhala yaing'ono.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • LifeStreet ndi kampani ya Ad Tech yomwe ili ndi ukadaulo wonse wolumikizidwa ndi netiweki yotsatsa.
  • Akuchita kukhathamiritsa zotsatsa komanso kuyitanitsa mwadongosolo.
  • Zambiri: pafupifupi 10 biliyoni zochitika patsiku. Kuphatikiza apo, zochitika zitha kugawidwa m'magulu angapo.
  • Pali makasitomala ambiri a datayi, ndipo awa si anthu okha, enanso ambiri ndi ma aligorivimu osiyanasiyana omwe amachita kuyitanitsa mwadongosolo.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Kampaniyo yabwera njira yayitali komanso yaminga. Ndipo ndidalankhula pa HighLoad. Choyamba, LifeStreet inasamuka kuchokera ku MySQL (ndi kuyima mwachidule ku Oracle) kupita ku Vertica. Ndipo mukhoza kupeza nkhani ya izo.

Ndipo chirichonse chinali chabwino kwambiri, koma mwamsanga zinaonekeratu kuti deta ikukula ndipo Vertica inali yokwera mtengo. Choncho, anafufuza njira zosiyanasiyana. Zina mwa izo zalembedwa apa. Ndipo m'malo mwake, tidachita umboni wamalingaliro kapena nthawi zina kuyesa magwiridwe antchito pafupifupi ma database onse omwe analipo pamsika kuyambira 13 mpaka 16 ndipo anali oyenerera magwiridwe antchito. Ndipo ndinalankhulanso za ena a iwo pa HighLoad.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ntchitoyi inali kusamukira ku Vertica poyamba, chifukwa deta ikukula. Ndipo iwo anakula kwambiri kwa zaka zingapo. Kenako anapita pa alumali, komabe. Ndipo kulosera za kukula uku, zofunikira zamalonda za kuchuluka kwa deta yomwe mtundu wina wa analytics uyenera kuchitidwa, zinali zoonekeratu kuti posachedwa padzakhala nkhani za petabytes. Ndipo ndizokwera mtengo kwambiri kulipira ma petabytes, kotero tinali kufunafuna njira ina yopitira.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

kupita kuti? Ndipo kwa nthawi yayitali sizikudziwika bwino komwe mungapite, chifukwa kumbali imodzi pali zolemba zamalonda, zikuwoneka kuti zikugwira ntchito bwino. Ena amagwira ntchito mofanana ndi Vertica, ena oipitsitsa. Koma onse ndi okwera mtengo, palibe chotsika mtengo kapena chabwinopo chomwe chingapezeke.

Kumbali inayi, pali mayankho otseguka, omwe sali ochuluka kwambiri, mwachitsanzo, ku analytics akhoza kuwerengedwa pa dzanja limodzi. Ndipo ndi zaulere kapena zotsika mtengo, koma zimagwira ntchito pang'onopang'ono. Ndipo nthawi zambiri alibe zofunikira komanso zothandiza.

Ndipo panalibe chilichonse chophatikiza zinthu zabwino zomwe zili muzolemba zamalonda ndi zinthu zonse zaulere zomwe zili mugwero lotseguka.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Palibe chomwe chidachitika mpaka Yandex adatulutsa mwadzidzidzi ClickHouse pachipewa ngati kalulu wamatsenga. Ndipo ichi chinali chisankho chosayembekezereka, anthu amafunsabe funso: "Chifukwa?", Komabe.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo nthawi yomweyo m'chilimwe cha 2016, tinayamba kuyang'ana zomwe ClickHouse ndi. Ndipo zidapezeka kuti nthawi zina zimatha kukhala mwachangu kuposa Vertica. Tinayesa zochitika zosiyanasiyana pazopempha zosiyanasiyana. Ndipo ngati funsolo limagwiritsa ntchito tebulo limodzi lokha, mwachitsanzo, popanda kujowina, ndiye kuti ClickHouse inali yofulumira kawiri kuposa Vertica.

Sindinali waulesi kwambiri ndipo ndinayang'ana mayesero ambiri a Yandex tsiku lina. Ndizofanana pamenepo: ClickHouse imathamanga kawiri kuposa Vertica, kotero nthawi zambiri amalankhula za izo.

Koma ngati mafunso ali ndi zolumikizana, ndiye kuti zonse sizikhala zomveka bwino. Ndipo ClickHouse imatha kukhala pang'onopang'ono ngati Vertica. Ndipo ngati mungakonze ndikulembanso pempho pang'ono, ndiye kuti adzakhala ofanana. Osayipa kwenikweni. Ndipo ndi mfulu.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo atalandira zotsatira zoyesa, ndikuyang'ana kuchokera kumbali zosiyanasiyana, LifeStreet anapita ku ClickHouse.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ichi ndi chaka cha 16, ndikukumbutsani. Zinali ngati nthabwala za mbewa zomwe zinkalira ndi kudzibaya jekeseni, koma anapitiriza kudya nkhatayo. Ndipo izi zidakambidwa mwatsatanetsatane, pali kanema wa izi, ndi zina.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Chifukwa chake, sindilankhula za izi mwatsatanetsatane, ndingolankhula za zotsatira zake komanso zinthu zingapo zosangalatsa zomwe sindinalankhulepo pamenepo.

Zotsatira zake ndi:

  • Kusamuka kopambana ndi dongosolo lakhala likupanga kwa nthawi yoposa chaka.
  • Kuchita bwino ndi kusinthasintha kwawonjezeka. Kuchokera pa zolemba mabiliyoni 10 zomwe tingakwanitse kusunga tsiku kwa nthawi yochepa chabe, LifeStreet tsopano imasunga zolemba mabiliyoni 75 patsiku ndipo ikhoza kutero kwa miyezi 3 kapena kuposerapo. Ngati muwerengera pachimake, ndiye kuti izi zimasungidwa mpaka miliyoni miliyoni pamphindikati. Mafunso opitilira miliyoni miliyoni a SQL patsiku amatumizidwa ku dongosololi, makamaka kuchokera ku maloboti osiyanasiyana.
  • Ngakhale kuti ClickHouse idayamba kugwiritsa ntchito ma seva ambiri kuposa Vertica, ndalama zidapangidwanso pa Hardware, chifukwa Vertica idagwiritsa ntchito ma disks okwera mtengo kwambiri a SAS. ClickHouse adagwiritsa ntchito SATA. Ndipo chifukwa chiyani? Chifukwa mu Vertica Ikani ndi synchronous. Ndipo kuyanjanitsa kumafuna kuti ma disks asachedwe kwambiri, komanso kuti maukondewo asachedwe kwambiri, mwachitsanzo, ntchito yodula kwambiri. Ndipo kulowa kwa ClickHouse ndikosavuta. Komanso, mutha kulemba chilichonse kwanuko, palibe ndalama zowonjezera pa izi, kotero kuti data ikhoza kuyikidwa mu ClickHouse mwachangu kwambiri kuposa ku Vertika, ngakhale pama disks othamanga kwambiri. Ndipo kuwerenga kuli pafupi chimodzimodzi. Kuwerenga pa SATA, ngati ali mu RAID, ndiye kuti zonse zimathamanga mokwanira.
  • Zopanda malire ndi laisensi, i.e. ma petabytes a 3 a data mu ma seva 60 (maseva 20 ndi chithunzi chimodzi) ndi zolemba 6 thililiyoni pazowona ndi zophatikiza. Vertica sakanatha kugula chilichonse chonga ichi.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Tsopano ndikufika kuzinthu zothandiza mu chitsanzo ichi.

  • Choyamba ndi chiwembu chothandiza. Zambiri zimatengera dongosolo.
  • Yachiwiri ndikupanga SQL yogwira mtima.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Funso lodziwika bwino la OLAP limasankhidwa. Zigawo zina zimapita kumagulu, zina zimapita kumagulu amagulu. Ndiko komwe, komwe kumatha kuganiziridwa ngati kagawo ka cube. Gulu lonselo likhoza kuganiziridwa ngati zongoyerekeza. Ndicho chifukwa chake amatchedwa multivariate data analysis.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo nthawi zambiri izi zimatsatiridwa ngati chithunzi cha nyenyezi, pamene pali mfundo yapakati ndi zizindikiro za izi pambali, pambali pa cheza.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo potengera mawonekedwe a thupi, momwe zimakhalira patebulo, nthawi zambiri amapanga chiwonetsero chokhazikika. Mutha kusintha, koma ndizokwera mtengo pa diski ndipo sizothandiza kwambiri pamafunso. Chifukwa chake, nthawi zambiri amapanga mawonekedwe okhazikika, mwachitsanzo, tebulo lazowona ndi matebulo ambiri ambiri.

Koma izi sizikugwira ntchito bwino mu ClickHouse. Pali zifukwa ziwiri:

  • Choyamba ndi chifukwa ClickHouse ilibe zolumikizira zabwino kwambiri, mwachitsanzo, pali zolumikizira, koma ndizoyipa. Mpaka pano iwo ndi oipa.
  • Chachiwiri ndi chakuti matebulo sasinthidwa. Kawirikawiri mu zizindikiro izi zomwe zili pafupi ndi chithunzi cha nyenyezi, chinachake chiyenera kusinthidwa. Mwachitsanzo, dzina la kasitomala, dzina la kampani, ndi zina. Ndipo sizikugwira ntchito.

Ndipo pali njira yotulukira mu ClickHouse. ngakhale ziwiri:

  • Choyamba ndi kugwiritsa ntchito madikishonale. Madikishonale Akunja ndi omwe amathandiza 99% kuthetsa vutoli ndi dongosolo la nyenyezi, ndi zosintha ndi zina zotero.
  • Chachiwiri ndi kugwiritsa ntchito masanjidwe. Ma Arrays amathandizanso kuchotsa zolumikizirana ndi zovuta za normalization.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Palibe chifukwa cholumikizira.
  • Zosinthidwa. Kuyambira Marichi 2018, mwayi wosalembedwa wawonekera (simupeza izi pazolembedwa) kuti musinthe madikishonale pang'ono, mwachitsanzo, zolembedwa zomwe zasintha. Pochita, zimakhala ngati tebulo.
  • Nthawi zonse mumakumbukira, kotero kujowina ndi mtanthauzira mawu kumagwira ntchito mwachangu kuposa ngati tebulo lomwe lili pa disk ndipo sizowona kuti ili mu cache, mwina ayi.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Simufunikanso majowina.
  • Ichi ndi compact 1 kwa oyimira ambiri.
  • Ndipo m'malingaliro anga, magulu amapangidwira ma geek. Izi ndi ntchito za lambda ndi zina.

Izi sichifukwa cha mawu. Ichi ndi ntchito yamphamvu kwambiri yomwe imakupatsani mwayi wochita zinthu zambiri mophweka komanso mokongola.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Zitsanzo zenizeni zomwe zimathandiza kuthetsa masanjidwe. Zitsanzo izi ndi zosavuta komanso zomveka bwino:

  • Sakani ndi ma tag. Ngati muli ndi ma hashtag pamenepo ndipo mukufuna kupeza zolemba ndi hashtag.
  • Sakani ndi makiyi awiriawiri. Palinso mikhalidwe ina yokhala ndi tanthauzo.
  • Kusunga mindandanda yamakiyi omwe mukufunikira kuti mutanthauzire muzinthu zina.

Mavuto onsewa angathe kuthetsedwa popanda masanjidwe. Ma tag atha kuyikidwa pamzere wina ndikusankhidwa pogwiritsa ntchito mawu okhazikika, kapena patebulo losiyana, koma ndiye muyenera kujowina.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Koma mu ClickHouse simuyenera kuchita chilichonse, ingofotokozani mndandanda wama hashtag kapena pangani chisa cha makina amtengo wapatali.

Chisa chokhazikika sichingakhale dzina labwino kwambiri. Awa ndi magulu awiri omwe ali ndi gawo lofanana mu dzina ndi zina zofananira.

Ndipo ndikosavuta kusaka ndi tag. Pali ntchito has, yomwe imayang'ana ngati gululo lili ndi chinthu. Aliyense, tapeza zolemba zonse zokhudzana ndi msonkhano wathu.

Kusaka ndi subid ndikovuta kwambiri. Choyamba tiyenera kupeza mlozera wa fungulo, ndiyeno tengani chinthucho ndi ndondomekoyi ndikuwonetsetsa kuti mtengowu ndi umene tikufuna. Koma komabe yosavuta komanso yaying'ono.

Mawu okhazikika omwe mungafune kulemba, ngati mutasunga zonse mumzere umodzi, zingakhale, choyamba, zosamveka. Ndipo, chachiwiri, idagwira ntchito yayitali kwambiri kuposa mitundu iwiri.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Chitsanzo china. Muli ndi gulu lomwe mumasungira ma ID. Ndipo inu mukhoza kuwamasulira iwo mu mayina. Ntchito arrayMap. Ichi ndi ntchito yodziwika bwino ya lambda. Mumadutsa mawu a lambda pamenepo. Ndipo amatulutsa mtengo wa dzina la ID iliyonse kuchokera mumtanthauzira mawu.

Mutha kusaka mwanjira yomweyo. Ntchito ya predicate imadutsa, yomwe imayang'ana zomwe zimagwirizana.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Zinthu izi zimachepetsa kwambiri kuzungulira ndikuthetsa mavuto ambiri.

Koma vuto lotsatira lomwe tidakumana nalo ndipo ndikufuna kutchula ndi mafunso ogwira mtima.

  • ClickHouse ilibe query planner. Ayi ndithu.
  • Komabe, mafunso ovuta akufunikabe kukonzekera. Muzochitika ziti?
  • Ngati pempho lili ndi zolumikizira zingapo, zomwe mumazikulunga pazosankha. Ndipo ndondomeko yomwe amachitira ndi yofunika.
  • Ndipo chachiwiri, ngati pempho likugawidwa. Chifukwa pafunso logawidwa, chosankhidwa chamkati chokha chimaperekedwa mogawidwa, ndipo china chirichonse chimatumizidwa ku seva imodzi yomwe mudagwirizanitsa ndi kuchitidwa kumeneko. Chifukwa chake, ngati mwagawa mafunso ndi majowina ambiri, ndiye kuti muyenera kusankha dongosolo.

Ndipo ngakhale muzochitika zosavuta, nthawi zina mumafunikanso kugwira ntchito ya scheduler ndikulembanso mafunso pang'ono.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Nachi chitsanzo. Kumanzere kuli funso lomwe likuwonetsa mayiko 5 apamwamba. Ndipo imayenda mumasekondi a 2,5, ndikuganiza. Ndipo kumanja ndi pempho lomwelo, koma lolembedwanso pang'ono. M'malo mopanga magulu ndi chingwe, tinayamba kupanga magulu ndi makiyi (int). Ndipo ndi mofulumira. Kenako tidalumikiza dikishonale ku zotsatira zake. M'malo masekondi 2,5, pempho amatenga 1,5 masekondi. Izi ndi zabwino.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Chitsanzo chofanana ndi zosefera zolemberanso. Nali pempho la Russia. Imathamanga kwa 5 masekondi. Ngati tilembanso m'njira yoti tisafanizirenso chingwe, koma manambala omwe ali ndi makiyi ena omwe akugwirizana ndi Russia, ndiye kuti adzakhala mofulumira kwambiri.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Pali zambiri zamatsenga zoterezi. Ndipo amakulolani kufulumizitsa kwambiri mafunso omwe mukuganiza kuti akuthamanga kale, kapena, mosiyana, akuthamanga pang'onopang'ono. Iwo akhoza kupangidwa ngakhale mofulumira.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Ntchito yochuluka mumayendedwe ogawidwa.
  • Kusanja motengera mitundu yochepa, monga ndidachitira ndi ints.
  • Ngati pali majowina kapena otanthauzira mawu, ndiye kuti ndi bwino kuzichita momaliza, mukakhala kale ndi deta osachepera pang'ono, ndiye kuti ntchito yojowina kapena kuyitana dikishonale idzatchedwa nthawi zochepa ndipo idzakhala yachangu.
  • Kusintha zosefera.

Palinso njira zina, osati zomwe ndidawonetsa. Ndipo onse nthawi zina amakulolani kuti mufulumire kuyankha mafunso.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Tiyeni tipitirire ku chitsanzo chotsatira. Kampani X yochokera ku USA. Kodi iye akuchita chiyani?

Panali ntchito:

  • Kulumikizana kwapaintaneti pazotsatsa.
  • Kuyerekezera kwamitundu yosiyanasiyana yomangira.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Kodi pali zochitika zotani?

Mlendo wamba amayendera malowa, mwachitsanzo, ka 20 pamwezi kuchokera ku zotsatsa zosiyanasiyana, kapena nthawi zina amangobwera popanda zotsatsa, chifukwa amakumbukira tsambali. Amayang'ana zinthu zina, kuziyika mudengu, kuzichotsa mudengu. Ndipo pamapeto pake amagula kanthu.

Mafunso omveka: "Ndani ayenera kulipira zotsatsa, ngati kuli kofunikira?" ndiponso β€œKodi ndi malonda ati amene anamulimbikitsa?” Ndiko kuti, chifukwa chiyani adagula komanso momwe angatsimikizire kuti anthu ofanana ndi munthuyu amagulanso?

Kuti muthetse vutoli, muyenera kugwirizanitsa zochitika zomwe zimachitika pa webusaitiyi m'njira yolondola, ndiko kuti, mwanjira ina kumanga mgwirizano pakati pawo. Kenako amasamutsidwa kuti akawunike ku DWH. Ndipo potengera kusanthula uku, pangani zitsanzo za omwe angawonetse zotsatsa.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Kutsatsa ndi gulu la zochitika zokhudzana ndi ogwiritsa ntchito zomwe zimayamba ndi malonda akuwonetsedwa, kenaka kenakake kachitika, mwina kugula, ndiyeno pangakhale kugula mkati mwa kugula. Mwachitsanzo, ngati iyi ndi pulogalamu yam'manja kapena masewera am'manja, ndiye kuti nthawi zambiri kuyika pulogalamuyi ndi yaulere, koma ngati china chake chachitika pamenepo, chingafunike ndalama. Ndipo munthu akamawononga kwambiri pulogalamuyo, imakhala yamtengo wapatali. Koma kwa ichi muyenera kugwirizanitsa chirichonse.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Pali zitsanzo zambiri zomangira.

Odziwika kwambiri ndi awa:

  • Kuyanjana Komaliza, komwe kuyanjana kumakhala kudina kapena kungowona.
  • Kuyanjana koyamba, i.e. chinthu choyamba chomwe chinabweretsa munthu pamalopo.
  • Kuphatikizika kwa mzere - gawo lofanana kwa aliyense.
  • Kuchepetsa.
  • Ndi zina zotero.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo kodi zonsezi zinagwira bwanji poyamba? Panali Runtime ndi Cassandra. Cassandra idagwiritsidwa ntchito ngati malo osungiramo zinthu, mwachitsanzo, zochitika zonse zokhudzana nazo zidasungidwa momwemo. Ndipo pamene chochitika china chikuchitika mu Runtime, mwachitsanzo, kuwonetsera kwa tsamba kapena chinachake, pempho limaperekedwa kwa Cassandra ngati pali munthu woteroyo kapena ayi. Kenako ntchito zomwe zikugwirizana nazo zidalandiridwa. Ndipo kumangako kudachitika.

Ndipo ngati muli ndi mwayi kuti pempholi lili ndi id yogulitsira, ndiye kuti izi ndizosavuta. Koma nthawi zambiri mulibe mwayi. Chifukwa chake, kunali kofunikira kupeza kugulitsa komaliza kapena kugulitsako ndikudina komaliza, ndi zina.

Ndipo zonse zidayenda bwino kwambiri mpaka kulumikizana kunali komaliza. Chifukwa pali, tinene, kudina 10 miliyoni patsiku, 300 miliyoni pamwezi, ngati muyika zenera kwa mwezi umodzi. Ndipo popeza ku Cassandra zonse ziyenera kukumbukira kuti zigwire ntchito mwachangu, chifukwa Runtime ikufunika kuyankha mwachangu, ma seva pafupifupi 10-15 adafunikira.

Ndipo pamene iwo ankafuna kulumikiza kugulitsa ndi chiwonetsero, nthawi yomweyo sizinali zosangalatsa. Ndipo chifukwa chiyani? Zitha kuwoneka kuti nthawi 30 zochitika zambiri ziyenera kusungidwa. Ndipo, motero, mufunika ma seva ochulukirapo ka 30. Ndipo zikuwonekeratu kuti uwu ndi mtundu wina wa zakuthambo. Kusunga ma seva a 500 kuti mulumikizane, ngakhale pali ma seva ocheperako mu Runtime, ndi mtundu wina wolakwika. Ndipo anayamba kuganizira zochita.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo tinapita ku ClickHouse. Momwe mungachitire izi pa ClickHouse? Poyamba, zikuwoneka kuti iyi ndi gulu la antipatterns.

  • Kugulitsaku kukukulirakulira, tikumangirira zochitika zochulukirachulukira, mwachitsanzo, imatha kusintha, ndipo ClickHouse siigwira ntchito bwino ndi zinthu zosinthika.
  • Mlendo akabwera kwa ife, tiyenera kubweza zomwe wachita ndi kiyi, ndi id yake yochezera. Ilinso ndi funso; ClickHouse sachita zimenezo. Nthawi zambiri ClickHouse imakhala ndi…masikidwe akulu, koma apa tifunika kupeza zolemba zingapo. Komanso antipattern.
  • Kuonjezera apo, ntchitoyo inali mu json, koma sanafune kuilembanso, kotero iwo ankafuna kusunga json osakonzekera, ndipo ngati kuli kofunikira, tulutsani chinachake. Ndipo ichi ndi antipattern.

Ndiko kuti, gulu la antipatterns.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Komabe, tinakwanitsa kupanga dongosolo lomwe linagwira ntchito bwino kwambiri.

Kodi chinachitidwa chiyani? ClickHouse adawonekera, momwe zipika, zogawidwa m'marekodi, zidaponyedwa. Ntchito yodziwika idawoneka yomwe idalandira zipika kuchokera ku ClickHouse. Pambuyo pake, pakulowa kulikonse ndi id yoyendera, ndidalandira zochitika zomwe sizikanatha kukonzedwabe komanso zithunzithunzi, mwachitsanzo, zolumikizidwa kale, zomwe ndi zotsatira za ntchito yam'mbuyomu. Ndidawapanga kale malingaliro awo, ndidasankha kusintha koyenera, ndikulumikiza zatsopano. Adalowanso. chipikacho chinabwerera ku ClickHouse, mwachitsanzo, ndi dongosolo lozungulira nthawi zonse. Kupatula apo, ndidapita ku DWH kukasanthula kumeneko.

Izi sizinagwire bwino ntchito. Ndipo kuti zikhale zosavuta kwa ClickHouse, pakakhala pempho la id yoyendera, adayika zopemphazi kukhala midadada ya ma ID oyendera 1-000 ndikutulutsa zochitika zonse za anthu 2-000. Ndiyeno zonse zinagwira ntchito.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Mukayang'ana mkati mwa ClickHouse, pali matebulo akuluakulu atatu okha omwe amatumikira zonsezi.

Gome loyamba lomwe zipika zimakwezedwa, ndipo zipika zimakwezedwa popanda kukonzedwa.

Gome lachiwiri. Kupyolera mu maonekedwe a thupi, zochitika zomwe sizinatchulidwepo, mwachitsanzo, zosagwirizana, zinachotsedwa pazipikazi. Ndipo kudzera m'mawonekedwe owoneka bwino, zogulitsa zidatulutsidwa kuchokera pamitengo iyi kuti apange chithunzithunzi. Ndiko kuti, chithunzithunzi chinapangidwa ndi mawonekedwe apadera opangidwa ndi thupi, omwe ndi malo omaliza omwe anasonkhanitsa pazochitikazo.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Apa malemba alembedwa mu SQL. Ndikufuna kuyankhapo pazinthu zingapo zofunika momwemo.

Chofunikira choyamba ndikuthekera kwa ClickHouse kuchotsa mizati ndi minda kuchokera ku json. Ndiye kuti, ClickHouse ili ndi njira zina zogwirira ntchito ndi json. Iwo ndi achikale kwambiri.

visitParamExtractInt imakupatsani mwayi kuti mutenge mawonekedwe kuchokera ku json, mwachitsanzo, kugunda koyamba kumayambitsidwa. Ndipo mwanjira iyi mutha kutulutsa id yogulitsira kapena kuchezera id. Nthawiyi.

Kachiwiri, gawo lachinyengo lakuthupi likugwiritsidwa ntchito pano. Zikutanthauza chiyani? Izi zikutanthauza kuti simungathe kuziyika patebulo, mwachitsanzo, sizinalowetsedwe, zimawerengedwa ndikusungidwa pamene zilowetsedwa. Mukayika, ClickHouse imakugwirirani ntchito. Ndipo zomwe mungafune pambuyo pake zimachotsedwa ku json.

Munthawi imeneyi, mawonekedwe owoneka bwino amapangidwa ndi zingwe zakuda. Ndipo tebulo loyamba lomwe lili ndi mitengo pafupifupi yaiwisi limagwiritsidwa ntchito. Ndipo chimachita chiyani? Choyamba, zimasintha masanjidwe, mwachitsanzo, kusanja tsopano kwachitika ndi id yoyendera, chifukwa tifunika kutulutsa mwachangu zomwe akuchita makamaka kwa munthu wina.

Chinthu chachiwiri chofunikira ndi index_granularity. Ngati mwawona MergeTree, ndiye kuti nthawi zambiri mtengo wokhazikika ndi 8 index_granularity. Ndi chiyani? Ichi ndi index sparsity parameter. Mu ClickHouse, index ndi yochepa; sichimawonetsa mbiri iliyonse. Zimachita izi 192 8 iliyonse. Ndipo izi ndi zabwino pamene mukufunikira kuwerengera zambiri, koma ndizoipa pamene mukufunikira kuwerengera pang'ono, chifukwa pali zambiri. Ndipo ngati tichepetsa index granularity, ndiye kuti timachepetsa pamwamba. Simungachichepetse kukhala chimodzi, chifukwa pangakhale palibe kukumbukira kokwanira. Mndandanda umasungidwa mu kukumbukira nthawi zonse.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo chithunzithunzichi chimagwiritsa ntchito zina zosangalatsa za ClickHouse.

Choyamba ndi AggregatingMergeTree. Ndipo AggregatingMergeTree store argMax, i.e. ili ndi vuto lomwe likugwirizana ndi sitampu yomaliza. Zatsopano nthawi zonse zimapangidwira mlendo uyu. Ndipo pomaliza kwambiri pakuchita izi, tawonjezera chochitika ndipo tinali ndi dziko latsopano. Idagundanso ClickHouse kachiwiri. Ndipo kudzera mu argMax mumawonedwe owoneka bwino awa titha kupeza momwe zilili pano.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Kumanga ndi "kosatha" kuchokera ku Runtime.
  • Zogulitsa zokwana 3 biliyoni pamwezi zimasungidwa ndikukonzedwa. Ili ndi dongosolo la kukula kwakukulu kuposa ku Cassandra, mwachitsanzo, mumayendedwe wamba.
  • Gulu la maseva a 2x5 ClickHouse. Ma seva 5 ndipo seva iliyonse ili ndi choyimira. Izi ndizocheperako kuposa momwe zinalili ku Cassandra kuti muthe kudina, koma apa tili ndi zotengera. Ndiko kuti, m'malo mowonjezera kuchuluka kwa ma seva ndi nthawi 30, adachepetsedwa.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo chitsanzo chomaliza ndi kampani yazachuma Y, yomwe idasanthula kulumikizana kwakusintha kwamitengo yamitengo.

Ndipo ntchito inali iyi:

  • Pali magawo pafupifupi 5.
  • Quotes aliyense 100 milliseconds amadziwika.
  • Zambiri zasonkhanitsidwa pazaka 10. Mwachiwonekere, kwa makampani ena ndizowonjezereka, kwa ena ndizochepa.
  • Pali mizere pafupifupi 100 biliyoni yonse.

Ndipo kunali koyenera kuwerengera mgwirizano wa zosintha.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Nawa masheya awiri ndi zolemba zawo. Ngati wina apita mmwamba ndipo winayo akukwera mmwamba, ndiye kuti ichi ndi chiyanjano chenicheni, mwachitsanzo, wina amapita mmwamba ndipo wina amapita mmwamba. Ngati wina apita mmwamba, monga kumapeto kwa graph, ndipo winayo akupita pansi, ndiye kuti izi ndizogwirizanitsa zolakwika, mwachitsanzo, pamene wina akukwera, wina amatsika.

Posanthula kusintha kumeneku, munthu akhoza kulosera pamsika wachuma.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Koma ntchitoyi ndi yovuta. Kodi chikuchitika ndi chiyani pa izi? Tili ndi zolemba mabiliyoni 100 zomwe zili ndi: nthawi, katundu ndi mtengo. Choyamba tiyenera kuwerengera 100 biliyoni nthawi ya runningDifference kuchokera ku algorithm yamtengo. RunningDifference ndi ntchito mu ClickHouse yomwe imawerengera motsatizana kusiyana pakati pa mizere iwiri.

Ndipo pambuyo pake tiyenera kuwerengera mgwirizano, ndipo mgwirizano uyenera kuwerengedwa kwa gulu lirilonse. Kwa magawo 5, awiriwa ndi 000 miliyoni. Ndipo izi ndizochuluka, mwachitsanzo, nthawi 12,5 muyenera kuwerengera ntchitoyi.

Ndipo ngati wina wayiwala, ͞x ndi ͞y ndi checkmate. chiyembekezo chachitsanzo. Ndiko kuti, simuyenera kuwerengera mizu ndi ziwerengero zokha, komanso ndalama zina mkati mwa ndalamazi. Zowerengera zambiri ziyenera kuchitidwa nthawi 12,5 miliyoni, komanso ziyenera kuikidwa m'magulu ndi ola. Ndipo tilinso ndi maola ambiri. Ndipo muyenera kuchita mu masekondi 60. Ndi nthabwala.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Tidayenera kupanga mwanjira ina, chifukwa zonse zidagwira ntchito pang'onopang'ono ClickHouse isanafike.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Adayesa kuwerengera izi pa Hadoop, pa Spark, pa Greenplum. Ndipo zonsezi zinali zochedwa kapena zodula. Ndiko kuti, zinali zotheka kuwerengera mwanjira ina, koma ndiye zinali zodula.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Kenako ClickHouse idabwera ndipo zonse zidakhala bwino.

Ndiroleni ndikukumbutseni kuti tili ndi vuto ndi malo a data, kotero kuti kulumikizana sikungatchulidwe komweko. Sitingathe kuwonjezera deta ku seva imodzi, ina kwa ina ndikuwerengera; tiyenera kukhala ndi deta kulikonse.

Kodi iwo anachita chiyani? Poyamba, deta imayikidwa m'malo. Seva iliyonse imasunga deta yamitengo yamagawo enaake. Ndipo iwo samadutsana. Chifukwa chake, ndizotheka kuwerengera logReturn molumikizana komanso modziyimira pawokha; zonsezi zimachitika mofanana ndikugawidwa.

Kenaka tinaganiza zochepetsera detayi popanda kutaya kufotokoza. Chepetsani kugwiritsa ntchito masanjidwe, i.e. pa nthawi iliyonse pangani magawo angapo ndi mitengo yamitengo. Chifukwa chake zimatengera malo ochepa kwambiri a data. Ndipo ndizosavuta kugwiritsa ntchito. Izi ndi ntchito zofananira, mwachitsanzo, timawerengera pang'ono mofananira kenako ndikulembera seva.

Izi zitha kubwerezedwanso. Chilembo "r" chimatanthawuza kuti tinabwereza deta iyi. Ndiko kuti, tili ndi deta yofanana pa ma seva onse atatu - awa ndi magulu.

Ndiyeno, pogwiritsa ntchito script yapadera, mukhoza kupanga mapaketi kuchokera pamagulu awa a 12,5 miliyoni ogwirizana omwe akuyenera kuwerengedwa. Ndiye kuti, ntchito 2 zokhala ndi ma 500 awiriawiri olumikizana. Ndipo ntchitoyi iyenera kuwerengedwa pa seva inayake ya ClickHouse. Ali ndi deta yonse chifukwa deta ndi yofanana ndipo amatha kuwerengera motsatizana.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Izi ndi zomwe zikuwoneka kachiwiri. Choyamba, tili ndi zonse zomwe zili mu dongosolo ili: nthawi, magawo, mtengo. Kenako tinawerengera logReturn, i.e. data yamapangidwe omwewo, kokha m'malo mwa mtengo tili ndi logReturn. Kenako adakonzedwanso, mwachitsanzo, tinali ndi nthawi ndi guluArray potsatsa ndi mindandanda yamitengo. Zobwerezedwa. Ndipo zitatha izi, adapanga ntchito zambiri ndikuzidyetsa ku ClickHouse kuti izitha kuziwerengera. Ndipo zimagwira ntchito.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Pa umboni wa lingaliro, ntchitoyi inali yaing'ono, i.e. anatenga deta yochepa. Ndipo pa ma seva atatu okha.

Magawo awiri oyambilira awa: kuwerengera Log_return ndikukulunga motsatizana kudatenga pafupifupi ola limodzi chilichonse.

Ndipo kuwerengera kulumikizana kumatenga pafupifupi maola 50. Koma maola 50 sikokwanira, chifukwa m'mbuyomu adawagwirira ntchito kwa milungu ingapo. Zinali zopambana kwambiri. Ndipo ngati muwerenga, ndiye kuti zonse zidawerengedwa nthawi 70 pamphindi pagulu ili.

Koma chofunika kwambiri ndi chakuti dongosololi liribe zolepheretsa, mwachitsanzo, limakula pafupifupi mzere. Ndipo iwo anazifufuza izo. Idakwezedwa bwino.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

  • Chiwembu choyenera ndi theka la kupambana. Ndipo chiwembu cholondola ndikugwiritsa ntchito matekinoloje onse ofunikira a ClickHouse.
  • Summing/AggregatingMergeTrees ndi matekinoloje omwe amakulolani kuti muphatikize kapena kuwerengera chithunzithunzi cha boma ngati chochitika chapadera. Ndipo izi zimachepetsa kwambiri zinthu zambiri.
  • Mawonedwe Azinthu Amakupatsani mwayi wopitilira malire a index imodzi. Mwina sindinanene izi momveka bwino, koma titanyamula zipikazo, mitengo yaiwisi inali patebulo yokhala ndi cholozera chimodzi, ndipo pamalingaliro matabwawo anali patebulo, mwachitsanzo, deta yomweyi, yosefedwa, koma indexyo inali patebulo. kwathunthu kwa ena. Zikuwoneka kuti ndi data yofanana, koma kusanja kosiyana. Ndipo Mawonedwe Opangidwa Ndi Zinthu Amakulolani, ngati mukufuna, kuti mudutse malire a ClickHouse awa.
  • Chepetsani kuchuluka kwa index pamafunso.
  • Ndipo kugawa deta mwanzeru, yesetsani kuyika deta mkati mwa seva momwe mungathere. Ndipo yesani kuwonetsetsa kuti zopempha zikugwiritsanso ntchito kumasulira komwe kuli kotheka momwe mungathere.

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

Ndipo kuti tifotokoze mwachidule mawu achidule awa, titha kunena kuti ClickHouse tsopano yatenga gawo lazosungirako zamalonda ndi ma database otseguka, mwachitsanzo, makamaka pakuwunika. Iye akukwanira bwino mu malo awa. Ndipo kuwonjezera apo, ikuyamba kuthamangitsa ena pang'onopang'ono, chifukwa pamene ClickHouse ilipo, simukusowa InfiniDB. Oyimirira sangafunike posachedwa ngati apereka chithandizo chanthawi zonse cha SQL. Gwiritsani ntchito!

Malingaliro ndi machitidwe ogwiritsira ntchito ClickHouse muzogwiritsa ntchito zenizeni. Alexander Zaitsev (2018)

-Zikomo chifukwa cha lipoti! Zosangalatsa kwambiri! Kodi pali zofananira zilizonse ndi Apache Phoenix?

-Ayi, sindinamvepo wina akufanizira. Ife ndi Yandex timayesa kuyang'anira kufananitsa konse kwa ClickHouse ndi nkhokwe zosiyanasiyana. Chifukwa ngati mwadzidzidzi china chake chikhala chofulumira kuposa ClickHouse, ndiye Lesha Milovidov sangathe kugona usiku ndikuyamba kufulumizitsa. Sindinamvepo za kufanana kotereku.

  • (Alexey Milovidov) Apache Phoenix ndi injini ya SQL yochokera ku Hbase. Hbase idapangidwa makamaka kuti ikhale yamtundu wamtundu wamtengo wapatali. Kumeneko, mzere uliwonse ukhoza kukhala ndi chiwerengero chosiyana cha mizati yokhala ndi mayina osasintha. Izi zitha kunenedwa za machitidwe monga Hbase ndi Cassandra. Ndipo ndi mafunso ovuta kwambiri omwe sangawathandize bwino. Kapena mungaganize kuti amagwira ntchito bwino ngati simunakhalepo ndi ClickHouse.

  • Бпасибо

    • Masana abwino Ndine wokondweretsedwa kale ndi mutuwu, chifukwa ndili ndi kachitidwe kakang'ono ka analytical. Koma ndikayang'ana ClickHouse, ndimamva kuti ClickHouse ndiyoyenera kusanthula zochitika, zosinthika. Ndipo ngati ndikufunika kusanthula zambiri zamabizinesi ndi gulu la matebulo akulu, ndiye ClickHouse, momwe ndikumvetsetsa, sizoyenera kwa ine? Makamaka ngati asintha. Kodi izi ndi zolondola kapena pali zitsanzo zomwe zingatsutse izi?

    • Izi ndi zolondola. Ndipo izi ndi zoona pazambiri zapadera zowunikira. Amapangidwa mogwirizana ndi mfundo yakuti pali tebulo limodzi kapena angapo akuluakulu omwe amatha kusintha, ndipo ambiri ang'onoang'ono amasintha pang'onopang'ono. Ndiye kuti, ClickHouse siili ngati Oracle, komwe mutha kuyika chilichonse ndikupanga mafunso ovuta kwambiri. Kuti mugwiritse ntchito ClickHouse moyenera, muyenera kupanga chiwembucho mwanjira yomwe imagwira ntchito bwino mu ClickHouse. Ndiko kuti, pewani kukhazikika kwambiri, gwiritsani ntchito otanthauzira mawu, yesetsani kulumikiza maulalo ochepa. Ndipo ngati chiwembucho chimamangidwa motere, ndiye kuti mavuto amabizinesi ofananawo amatha kuthetsedwa pa ClickHouse bwino kwambiri kuposa pazosungira zachikhalidwe.

Zikomo chifukwa cha lipoti! Ndili ndi funso lokhudza nkhani yazachuma yaposachedwa. Iwo anali ndi analytics. Zinali zofunikira kufananiza momwe amakwerera ndi kutsika. Ndipo ndikumvetsa kuti mudapanga dongosolo la analytics iyi? Ngati mawa, tinene, akufunika lipoti lina pazambiri izi, kodi akufunikanso kupanga chithunzicho ndikuyikanso deta? Ndiko kuti, kodi mtundu wina wa preprocessing kulandira pempho?

Zachidziwikire, izi zikugwiritsa ntchito ClickHouse pa ntchito yapadera. Itha kuthetsedwa mwachikhalidwe mkati mwa Hadoop. Kwa Hadoop iyi ndi ntchito yabwino. Koma pa Hadoop ndiyochedwa kwambiri. Ndipo cholinga changa ndikuwonetsa kuti ClickHouse imatha kuthetsa mavuto omwe nthawi zambiri amathetsedwa ndi njira zosiyanasiyana, koma nthawi yomweyo azichita bwino kwambiri. Izi zimapangidwira ntchito inayake. N’zoonekeratu kuti ngati pali vuto lofanana pang’ono, ndiye kuti lingathe kuthetsedwanso mofananamo.

Zikumveka. Munati zidatenga maola 50 kuti zitheke. Kodi ndi kuyambira pachiyambi pomwe, pamene mudakweza deta kapena kulandira zotsatira?

Inde Inde.

OK zikomo kwambiri.

Izi zili pagulu la ma seva atatu.

Moni! Zikomo chifukwa cha lipoti! Zonse ndi zosangalatsa kwambiri. Sindikufunsa pang'ono za magwiridwe antchito, koma za kugwiritsa ntchito ClickHouse kuchokera pakuwona kukhazikika. Ndiko kuti, kodi munali ndi vuto lililonse ndipo munayenera kuwabwezeretsa? Kodi ClickHouse imachita bwanji? Ndipo zidachitikapo kuti chofananira chanu chidagwa? Mwachitsanzo, tidakumana ndi vuto ndi ClickHouse pomwe idapitilira malire ake ndikugwa.

Inde, palibe machitidwe abwino. Ndipo ClickHouse ilinso ndi zovuta zake. Koma kodi mudamvapo za Yandex.Metrica osagwira ntchito kwa nthawi yayitali? Mwina ayi. Yakhala ikugwira ntchito modalirika kuyambira 2012-2013 pa ClickHouse. Ndikhoza kunena chimodzimodzi za zomwe zandichitikira. Sitinakhalepo ndi zolephera zonse. Zinthu zina zapang'onopang'ono zitha kuchitika, koma sizinali zovuta kwambiri kuti zikhudze bizinesiyo. Izi sizinachitikepo. ClickHouse ndiyodalirika ndipo simawonongeka mwachisawawa. Simuyenera kudandaula nazo. Si chinthu chakuda. Izi zatsimikiziridwa ndi makampani ambiri.

Moni! Mwanena kuti muyenera kuganizira mwachangu za schema ya data. Bwanji ngati zimenezi zitachitika? Deta yanga ikutuluka ndikutuluka. Miyezi isanu ndi umodzi ikupita, ndipo ndikumvetsa kuti sindingathe kukhala motere, ndikufunika kuyikanso deta ndikuchitapo kanthu.

Izi zimadalira, ndithudi, pa dongosolo lanu. Pali njira zingapo zochitira izi pafupifupi osayimitsa. Mwachitsanzo, mutha kupanga Mawonekedwe Owoneka bwino momwe mungapangire deta yosiyana ngati ingapangidwe mwapadera. Ndiko kuti, ngati ilola kupanga mapu pogwiritsa ntchito ClickHouse, mwachitsanzo, kuchotsa zinthu zina, kusintha kiyi yoyamba, kusintha magawo, ndiye kuti mutha kupanga Mawonekedwe Owoneka. Kumeneko deta yanu yakale idzalembedwanso, zatsopano zidzalembedwa zokha. Kenako ingosinthani kugwiritsa ntchito Materialized View, kenako sinthani mbiriyo ndikupha tebulo lakale. Iyi ndi njira yosayima.

Zikomo.

Source: www.habr.com

Kuwonjezera ndemanga