Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Malgre lefèt ke gen kounye a yon anpil nan done prèske tout kote, baz done analyse yo toujou byen ekzotik. Yo mal li te ye e menm vin pi mal kapab sèvi ak yo efektivman. Anpil moun kontinye "manje kaktis" ak MySQL oswa PostgreSQL, ki fèt pou lòt senaryo, soufri ak NoSQL, oswa peye anplis pou solisyon komèsyal yo. ClickHouse chanje règ yo nan jwèt la ak siyifikativman bese papòt la pou antre nan mond lan nan DBMS analyse.

Rapò ki soti nan BackEnd Conf 2018 epi li pibliye ak pèmisyon oratè a.


Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)
Ki moun mwen ye e poukisa mwen pale de ClickHouse? Mwen se yon direktè devlopman nan LifeStreet, ki itilize ClickHouse. Epitou, mwen se fondatè Altinity. Li se yon patnè Yandex ki fè pwomosyon ClickHouse epi ki ede Yandex fè ClickHouse plis siksè. Epitou pare yo pataje konesans sou ClickHouse.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

E mwen pa frè Petya Zaitsev. Mwen souvan mande sou sa. Non, nou pa frè.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

"Tout moun konnen" ClickHouse:

  • Trè vit,
  • Trè konfòtab
  • Itilize nan Yandex.

Yon ti kras mwens konnen nan ki konpayi yo ak ki jan li itilize.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Mwen pral di w poukisa, ki kote ak ki jan yo itilize ClickHouse, eksepte Yandex.

Mwen pral di w kouman travay espesifik yo rezoud avèk èd nan ClickHouse nan diferan konpayi, ki zouti ClickHouse ou ka itilize pou travay ou, ak ki jan yo te itilize nan diferan konpayi.

Mwen te ranmase twa egzanp ki montre ClickHouse nan diferan ang. Mwen panse ke li pral enteresan.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Premye kesyon an se: "Poukisa nou bezwen ClickHouse?". Li sanble se yon kesyon jistis evidan, men gen plis pase yon repons pou li.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Premye repons lan se pou pèfòmans. ClickHouse trè vit. Analytics sou ClickHouse tou trè vit. Li ka souvan itilize kote yon lòt bagay trè dousman oswa trè move.
  • Dezyèm repons lan se pri. Ak premye a tout, pri a nan dekale. Pou egzanp, Vertica se yon baz done absoliman gwo. Li travay trè byen si ou pa gen anpil terabyte nan done. Men, lè li rive dè santèn de terabytes oswa petabytes, pri a nan yon lisans ak sipò ale nan yon kantite jistis enpòtan. Epi li chè. Epi ClickHouse gratis.
  • Twazyèm repons lan se pri opere. Sa a se yon apwòch yon ti kras diferan. RedShift se yon gwo analòg. Sou RedShift, ou ka pran yon desizyon trè vit. Li pral travay byen, men an menm tan an, chak èdtan, chak jou, ak chak mwa, ou pral peye Amazon byen chè, paske sa a se yon sèvis siyifikativman chè. Google BigQuery tou. Si yon moun itilize li, Lè sa a, li konnen ke gen ou ka kouri demann plizyè epi jwenn yon bòdwo pou dè santèn de dola toudenkou.

ClickHouse pa gen pwoblèm sa yo.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ki kote yo itilize ClickHouse kounye a? Anplis Yandex, ClickHouse yo itilize nan yon pakèt diferan biznis ak konpayi yo.

  • Premye a tout, sa a se analiz aplikasyon entènèt, sa vle di sa a se yon ka itilize ki soti nan Yandex.
  • Anpil konpayi AdTech itilize ClickHouse.
  • Anpil konpayi ki bezwen analize mòso bwa tranzaksyon ki soti nan diferan sous.
  • Plizyè konpayi yo itilize ClickHouse pou kontwole mòso bwa yo. Yo telechaje yo nan ClickHouse, fè rapò, epi jwenn rezilta yo bezwen yo.
  • Konpayi yo ap kòmanse sèvi ak li nan analiz finansye, sa vle di piti piti gwo biznis yo ap apwoche ClickHouse tou.
  • cloudflare. Si yon moun swiv ClickHouse, Lè sa a, yo te pwobableman tande non konpayi sa a. Sa a se youn nan kontribitè esansyèl nan kominote a. Epi yo gen yon enstalasyon ClickHouse grav anpil. Pou egzanp, yo te fè Kafka Engine pou ClickHouse.
  • Konpayi telekominikasyon yo te kòmanse itilize. Plizyè konpayi itilize ClickHouse swa kòm prèv sou konsèp oswa deja nan pwodiksyon.
  • Yon konpayi itilize ClickHouse pou kontwole pwosesis pwodiksyon an. Yo teste microcircuits, ekri yon pakèt paramèt, gen apeprè 2 karakteristik. Apre sa, yo analize si jwèt la bon oswa move.
  • Blockchain analytics. Gen yon konpayi Ris tankou Bloxy.info. Sa a se yon analiz de rezo Ethereum. Yo te fè sa tou sou ClickHouse.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak gwosè a pa gen pwoblèm. Gen anpil konpayi ki sèvi ak yon sèl ti sèvè. Epi li pèmèt yo rezoud pwoblèm yo. Ak menm plis konpayi yo itilize gwo grap nan anpil serveurs oswa plizyè douzèn serveurs.

Men, si ou gade dosye yo, lè sa a:

  • Yandex: 500 + sèvè, yo estoke 25 milya dosye yon jou la.
  • LifeStreet: 60 sèvè, apeprè 75 milya dosye pa jou. Gen mwens serveurs, plis dosye pase nan Yandex.
  • CloudFlare: 36 serveurs, yo sove 200 milya dosye yon jou. Yo gen menm mwens serveurs ak magazen menm plis done.
  • Bloomberg: 102 serveurs, apeprè yon billions antre pa jou. Detantè dosye.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Jeyografikman, sa a se tou anpil. Kat jeyografik sa a montre yon kat chalè kote yo itilize ClickHouse nan mond lan. Larisi, Lachin, Amerik kanpe klèman isit la. Gen kèk peyi Ewopeyen an. E gen 4 grap.

Sa a se yon analiz konparatif, pa gen okenn nesesite pou chèche figi absoli. Sa a se yon analiz de vizitè ki li materyèl lang angle sou sit entènèt la Altinity, paske pa gen youn ki pale Ris la. Ak Larisi, Ikrèn, Byelorisi, sa vle di pati ki pale Ris nan kominote a, sa yo se itilizatè yo ki pi anpil. Lè sa a, vini Etazini ak Kanada. Lachin se anpil pwan moute. Te gen prèske pa gen okenn Lachin gen sis mwa de sa, kounye a Lachin te deja depase Ewòp e li kontinye ap grandi. Old Ewòp se tou pa lwen dèyè, ak lidè nan itilize nan ClickHouse se, etranj ase, Lafrans.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Poukisa mwen di tout bagay sa yo? Pou montre ke ClickHouse ap vin yon solisyon estanda pou analiz gwo done epi li deja itilize nan anpil kote. Si ou sèvi ak li, ou se nan tandans nan dwa. Si w poko sèvi ak li, ou pa ka pè pou w rete poukont ou epi pèsonn p ap ede w, paske anpil moun ap fè sa deja.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Sa yo se egzanp itilizasyon reyèl ClickHouse nan plizyè konpayi.

  • Premye egzanp lan se yon rezo anons: migrasyon soti nan Vertica nan ClickHouse. Apre sa, mwen konnen kèk konpayi ki te fè tranzisyon soti nan Vertica oswa ki nan pwosesis tranzisyon an.
  • Dezyèm egzanp lan se depo tranzaksyon sou ClickHouse. Sa a se yon egzanp bati sou antimodèl. Tout sa ki pa ta dwe fè nan ClickHouse sou konsèy devlopè yo fè isit la. Epi li fè yon fason efikas ke li travay. Epi li travay pi byen pase solisyon tipik tranzaksyon an.
  • Twazyèm egzanp lan distribye informatique sou ClickHouse. Te gen yon kesyon sou ki jan ClickHouse ka entegre nan ekosistèm Hadoop la. Mwen pral montre yon egzanp sou fason yon konpayi te fè yon bagay ki sanble ak yon veso kat jeyografik redwi sou ClickHouse, kenbe tras nan lokalizasyon done, elatriye, pou kalkile yon travay ki pa trivial.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • LifeStreet se yon konpayi Ad Tech ki gen tout teknoloji ki vini ak yon rezo anons.
  • Li angaje nan optimize anons, òf pwogramasyon.
  • Anpil done: apeprè 10 milya evènman chak jou. An menm tan an, evènman yo ka divize an plizyè sub-evènman.
  • Gen anpil kliyan nan done sa a, ak sa yo se pa sèlman moun, plis ankò - sa yo se algoritm divès kalite ki angaje nan òf pwogramasyon.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Konpayi an te vini yon chemen long ak litijyeu. Apre sa, mwen te pale sou li sou HighLoad. Premyèman, LifeStreet te deplase soti nan MySQL (ak yon ti kanpe nan Oracle) nan Vertica. Epi ou ka jwenn yon istwa sou li.

Ak tout bagay te trè bon, men li byen vit te vin klè ke done yo ap grandi ak Vertica se chè. Se poutèt sa, divès kalite altènativ yo te chache. Gen kèk nan yo ki nan lis isit la. Ak an reyalite, nou te fè prèv konsèp oswa pafwa tès pèfòmans nan prèske tout baz done ki te disponib sou mache a soti nan 13yèm ane a 16th epi yo te apeprè apwopriye an tèm de fonctionnalités. Apre sa, mwen te pale tou sou kèk nan yo sou HighLoad.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Travay la se te imigre soti nan Vertica an plas an premye, paske done yo te grandi. Apre sa, yo te grandi eksponansyèlman sou ane yo. Lè sa a, yo te ale sou etajè a, men kanmenm. Ak predi kwasans sa a, kondisyon biznis pou kantite done sou ki gen kèk kalite analytics bezwen fè, li te klè ke petabytes ta byento dwe diskite. Ak peye pou petabytes deja trè chè, kidonk nou t ap chèche yon altènatif kote yo ale.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ki kote pou ale? Ak pou yon tan long li pa t 'ditou klè ki kote yo ale, paske sou yon bò gen baz done komèsyal yo, yo sanble yo travay byen. Gen kèk travay prèske osi byen ke Vertica, kèk pi mal. Men, yo tout chè, pa gen anyen pi bon mache ak pi bon pa t 'kapab jwenn.

Nan lòt men an, gen solisyon sous louvri, ki pa anpil anpil, sa vle di pou analytics, yo ka konte sou dwèt yo. Epi yo gratis oswa bon mache, men ralanti. Epi yo souvan manke fonksyonalite ki nesesè ak itil.

Apre sa, pa te gen anyen yo konbine bon an ki nan baz done komèsyal ak tout gratis ki nan sous louvri.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Pa te gen anyen jiskaske, san atann, Yandex rale ClickHouse, tankou yon majisyen nan yon chapo, tankou yon lapen. Epi li te yon desizyon inatandi, yo toujou poze kesyon an: "Poukisa?", Men, kanmenm.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Epi touswit nan ete 2016 la, nou te kòmanse gade sa ClickHouse ye. Epi li te tounen soti ke pafwa li ka pi vit pase Vertica. Nou teste diferan senaryo sou demann diferan. Men, si rechèch la te itilize yon sèl tab, se sa ki, san okenn rantre (join), Lè sa a, ClickHouse te de fwa pi vit ke Vertica.

Mwen pa t twò parese epi mwen gade tès Yandex lòt jou a. Se menm bagay la tou: ClickHouse se de fwa pi vit ke Vertica, kidonk yo souvan pale sou li.

Men, si gen rantre nan demann yo, Lè sa a, tout bagay vire soti pa trè klè. Ak ClickHouse ka de fwa pi ralanti ke Vertica. Men, si ou yon ti kras korije demann lan epi reekri li, Lè sa a, yo apeprè egal. Pa move. Ak gratis.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Epi li te resevwa rezilta tès yo, epi gade li nan diferan ang, LifeStreet te ale nan ClickHouse.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Sa a se 16yèm ane a, mwen raple nou. Se te tankou yon blag sou sourit ki kriye ak pike tèt yo, men yo kontinye manje kaktis la. Ak sa a te dekri an detay, gen yon videyo sou sa a, elatriye.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Se poutèt sa, mwen pa pral pale sou li an detay, mwen pral sèlman pale sou rezilta yo ak kèk bagay enteresan ke mwen pa t 'pale sou lè sa a.

Rezilta yo se:

  • Migrasyon siksè ak plis pase yon ane sistèm nan deja ap travay nan pwodiksyon an.
  • Pwodiktivite ak fleksibilite te ogmante. Nan 10 milya dosye ke nou te kapab peye pou estoke chak jou epi apre pou yon ti tan, LifeStreet kounye a estoke 75 milya dosye pa jou epi li ka fè sa pou 3 mwa oswa plis. Si ou konte nan pik la, Lè sa a, sa a se jiska yon milyon evènman pou chak segonn. Plis pase yon milyon demann SQL chak jou rive nan sistèm sa a, sitou nan robo diferan.
  • Malgre lefèt ke yo te itilize plis serveurs pou ClickHouse pase pou Vertica, yo te sove tou sou pyès ki nan konpitè, paske yo te itilize disk SAS olye chè nan Vertica. ClickHouse te itilize SATA. E poukisa? Paske nan Vertica insert se synchrone. Ak senkronizasyon mande pou disk yo pa ralanti twòp, epi tou ke rezo a pa ralanti twòp, se sa ki, yon operasyon olye chè. Ak nan ClickHouse insert se asynchrone. Anplis, ou ka toujou ekri tout bagay lokalman, pa gen okenn depans adisyonèl pou sa, kidonk done yo ka antre nan ClickHouse pi vit pase nan Vertika, menm sou kondui pi dousman. Ak lekti se sou menm bagay la. Lekti sou SATA, si yo nan RAID, Lè sa a, sa a se tout vit ase.
  • Pa limite pa lisans, sa vle di 3 petabyte done nan 60 sèvè (20 sèvè se yon sèl kopi) ak 6 billions dosye nan reyalite ak agrégasyon. Pa gen anyen tankou sa a te kapab gen mwayen nan Vertica.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Kounye a mwen ale nan bagay pratik nan egzanp sa a.

  • Premye a se yon konplo efikas. Anpil depann sou chema a.
  • Dezyèm lan se jenerasyon SQL efikas.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yon rekèt OLAP tipik se yon seleksyon. Gen kèk nan kolòn yo ale nan gwoup pa, kèk nan kolòn yo ale nan fonksyon total. Gen kote, ki ka reprezante kòm yon tranch nan yon kib. Gwoup la tout antye pa ka konsidere kòm yon pwojeksyon. Epi se poutèt sa yo rele analiz done miltivarye.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Epi souvan sa a se modle nan fòm lan nan yon etwal-konplo, lè gen yon reyalite santral ak karakteristik nan reyalite sa a sou kote sa yo, ansanm reyon yo.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak an tèm de konsepsyon fizik, ki jan li adapte sou tab la, yo anjeneral fè yon reprezantasyon nòmalize. Ou ka denormalize, men li chè sou disk epi li pa trè efikas sou demann. Se poutèt sa, yo anjeneral fè yon reprezantasyon nòmal, sa vle di yon tablo reyalite ak anpil, anpil tab dimansyon.

Men, li pa travay byen nan ClickHouse. Gen de rezon:

  • Premye a se paske ClickHouse pa gen anpil bon rantre, sa vle di gen rantre, men yo pa bon. Pandan ke move.
  • Dezyèm lan se ke tab yo pa mete ajou. Anjeneral nan plak sa yo, ki alantou sikwi zetwal la, yon bagay bezwen chanje. Pou egzanp, non kliyan, non konpayi, elatriye. Epi li pa travay.

Epi gen yon fason soti nan sa a nan ClickHouse. menm de:

  • Premye a se itilizasyon diksyonè. Diksyonè ekstèn se sa ki ede 99% rezoud pwoblèm nan ak chema zetwal la, ak mizajou ak sou sa.
  • Dezyèm lan se itilize nan etalaj. Arrays ede tou debarase m de rantre ak pwoblèm ak nòmalizasyon.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Pa gen okenn rantre obligatwa.
  • Mizajou. Depi mas 2018, gen yon opòtinite san papye parèt (ou p ap jwenn sa a nan dokiman an) pou ajou diksyonè yo pasyèlman, sa vle di antre sa yo ki te chanje. Pratikman, li se tankou yon tab.
  • Toujou nan memwa, se konsa rantre ak yon diksyonè travay pi vit pase si li te yon tab ki sou disk epi li se pa ankò yon reyalite ke li se nan kachèt la, gen plis chans pa.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Ou pa bezwen rantre tou.
  • Sa a se yon kontra enfòmèl ant 1-a-anpil reprezantasyon.
  • Ak nan opinyon mwen, etalaj yo te fè pou geeks. Sa yo se fonksyon lambda ak sou sa.

Sa a se pa pou mo wouj. Sa a se yon fonksyonalite trè pwisan ki pèmèt ou fè anpil bagay nan yon fason trè senp ak elegant.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Egzanp tipik ki ede rezoud etalaj. Egzanp sa yo senp epi klè ase:

  • Rechèch pa tags. Si ou gen hashtags la epi ou vle jwenn kèk pòs pa hashtag.
  • Rechèch pa pè kle-valè. Genyen tou kèk atribi ki gen yon valè.
  • Sere lis kle ke ou bezwen tradui nan yon lòt bagay.

Tout travay sa yo ka rezoud san etalaj. Tags yo ka mete nan kèk liy epi chwazi ak yon ekspresyon regilye oswa nan yon tab separe, men Lè sa a, ou dwe fè rantre.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak nan ClickHouse, ou pa bezwen fè anyen, li ase yo dekri etalaj la fisèl pou hashtags oswa fè yon estrikti enbrike pou sistèm kle-valè.

Estrikti anbrike pa ka pi bon non an. Sa yo se de etalaj ki gen yon pati komen nan non an ak kèk karakteristik ki gen rapò.

Epi li trè fasil pou chèche pa tag. Gen yon fonksyon has, ki tcheke si etalaj la gen yon eleman. Tout moun, jwenn tout antre ki gen rapò ak konferans nou an.

Rechèch pa subid se yon ti jan pi konplike. Nou bezwen premye jwenn endèks la nan kle a, ak Lè sa a, pran eleman nan ak endèks sa a epi tcheke ke valè sa a se sa nou bezwen. Sepandan, li trè senp ak kontra enfòmèl ant.

Ekspresyon regilye ke ou ta renmen ekri si ou te kenbe li tout nan yon sèl liy, li ta, premyèman, maladwa. Epi, dezyèmman, li te travay pi lontan pase de etalaj.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yon lòt egzanp. Ou gen yon etalaj kote ou estoke ID la. Epi ou ka tradui yo nan non. Fonksyon arrayMap. Sa a se yon fonksyon lambda tipik. Ou pase ekspresyon lambda la. Apre sa, li rale valè non an pou chak ID nan diksyonè a.

Rechèch ka fèt menm jan an. Yo pase yon fonksyon predika ki tcheke sa eleman yo matche.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Bagay sa yo anpil senplifye kous la epi rezoud yon pakèt pwoblèm.

Men, pwochen pwoblèm nou ap fè fas a, epi ki mwen ta renmen mansyone, se demann efikas.

  • ClickHouse pa gen yon planifikatè rechèch. Absoliman pa.
  • Men, demann konplèks toujou bezwen planifye. Nan ki ka?
  • Si gen plizyè rantre nan rechèch la, ou vlope yo nan subselects. Ak lòd nan ki yo egzekite pwoblèm.
  • Ak dezyèm lan - si demann lan distribye. Paske nan yon rechèch distribye, se sèlman subselect ki pi anndan an egzekite distribye, ak tout lòt bagay yo pase nan yon sèl sèvè ke ou konekte ak egzekite la. Se poutèt sa, si ou te distribye demann ak anpil rantre (join), Lè sa a, ou bezwen chwazi lòd la.

E menm nan ka ki pi senp yo, pafwa li nesesè tou pou fè travay orè a ak reekri demann yon ti kras.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Men yon egzanp. Sou bò gòch la se yon rechèch ki montre 5 peyi yo pi wo. Epi li pran 2,5 segonn, nan opinyon mwen. Ak sou bò dwat la, rechèch la menm, men yon ti kras reekri. Olye pou nou gwoupe pa kòd, nou te kòmanse gwoupe pa kle (int). Epi li pi vit. Apre sa, nou konekte yon diksyonè a rezilta a. Olye de 2,5 segonn, demann lan pran 1,5 segonn. Sa bon.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yon egzanp ki sanble ak reekri filtè. Isit la se yon demann pou Larisi. Li kouri pou 5 segonn. Si nou reekri li nan yon fason ke nou konpare ankò pa yon fisèl, men nimewo ak kèk seri kle sa yo ki gen rapò ak Larisi, Lè sa a, li pral pi vit.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Gen anpil ke trik nouvèl sa yo. Apre sa, yo pèmèt ou siyifikativman akselere demann ke ou panse yo deja kouri vit, oswa, Kontrèman, kouri tou dousman. Yo ka fè menm pi vit.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Travay maksimòm nan mòd distribiye.
  • Klase pa kalite minimòm, menm jan mwen te fè pa ints.
  • Si gen nenpòt rantre (join), diksyonè, Lè sa a, li pi bon fè yo kòm yon dènye rekou, lè ou deja gen done omwen pasyèlman gwoupe, Lè sa a, operasyon an rantre oswa apèl diksyonè yo pral rele mwens fwa epi li pral pi vit. .
  • Ranplase filtè yo.

Gen lòt teknik, epi yo pa sèlman sa yo ke mwen te demontre. Ak tout nan yo ka pafwa siyifikativman pi vit ekzekisyon an nan demann.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ann ale nan pwochen egzanp lan. Konpayi X soti nan USA. Ki sa li ap fè?

Te gen yon travay:

  • Offline ki lye ak tranzaksyon piblisite yo.
  • Modèl diferan modèl obligatwa.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ki senaryo a?

Yon vizitè òdinè vini sou sit la, pou egzanp, 20 fwa nan yon mwa soti nan anons diferan, oswa jis tankou sa pafwa vini san okenn anons, paske li sonje sit sa a. Gade kèk pwodwi, mete yo nan panyen an, retire yo nan panyen an. Epi, nan fen a, yon bagay achte.

Kesyon rezonab: "Ki moun ki ta dwe peye pou piblisite, si sa nesesè?" ak "Ki piblisite enfliyanse l ', si genyen?". Sa vle di, poukisa li te achte ak kijan pou fè moun tankou moun sa a achte tou?

Yo nan lòd yo rezoud pwoblèm sa a, ou bezwen konekte evènman yo ki rive sou sit entènèt la nan bon fason, se sa ki, yon jan kanmenm bati yon koneksyon ant yo. Lè sa a, yo voye yo pou analiz nan DWH. Epi baze sou analiz sa a, bati modèl kiyès ak sa ki anons pou montre.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yon tranzaksyon anons se yon seri evènman itilizatè ki gen rapò ki kòmanse nan montre yon anons, Lè sa a, yon bagay k ap pase, Lè sa a, petèt yon acha, ak Lè sa a, ka gen acha nan yon acha. Pou egzanp, si sa a se yon aplikasyon mobil oswa yon jwèt mobil, Lè sa a, anjeneral, enstalasyon aplikasyon an pran plas gratis, epi si yon bagay yo fè la, Lè sa a, lajan ka mande pou sa a. Ak plis yon moun depanse nan aplikasyon an, plis li gen valè. Men, pou sa ou bezwen konekte tout bagay.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Gen anpil modèl obligatwa.

Ki pi popilè yo se:

  • Dènye entèraksyon, kote entèraksyon se swa yon klik oswa yon enpresyon.
  • Premye entèraksyon, sa vle di premye bagay ki mennen yon moun sou sit la.
  • Konbinezon lineyè - tout egalman.
  • Atténuation.
  • Ak sou sa.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak ki jan li tout travay an plas an premye? Te gen Runtime ak Cassandra. Cassandra te itilize kòm depo tranzaksyon, sa vle di tout tranzaksyon ki gen rapò yo te estoke nan li. Men, lè kèk evènman vini nan Runtime, pou egzanp, ki montre kèk paj oswa yon lòt bagay, Lè sa a, yo te fè yon demann bay Cassandra - èske gen yon moun konsa oswa ou pa. Lè sa a, tranzaksyon yo ki gen rapò ak li yo te jwenn. Epi koneksyon an te fèt.

Men, si li nan chans ke demann lan gen yon id tranzaksyon, Lè sa a, li fasil. Men, anjeneral pa gen chans. Se poutèt sa, li te nesesè yo jwenn tranzaksyon an dènye oswa tranzaksyon an ak klike sou dènye a, elatriye.

Epi li tout te travay trè byen osi lontan ke obligatwa a te nan dènye klike la. Paske gen, di, 10 milyon klik pa jou, 300 milyon dola pa mwa, si nou mete yon fenèt pou yon mwa. Epi depi nan Cassandra li dwe tout nan memwa yo nan lòd yo kouri vit, paske Runtime a bezwen reponn byen vit, li te pran apeprè 10-15 serveurs.

Men, lè yo te vle konekte yon tranzaksyon nan ekspozisyon an, li imedyatman te tounen soti pa tèlman plezi. E poukisa? Li ka wè ke 30 fwa plis evènman bezwen yo dwe estoke. Epi, kòmsadwa, ou bezwen 30 fwa plis serveurs. Epi li sanble ke sa a se kèk kalite figi astwonomik. Pou kenbe jiska 500 serveurs yo nan lòd yo fè lyen an, malgre lefèt ke gen siyifikativman mwens serveurs nan Runtime, Lè sa a, sa a se kèk kalite figi mal. Epi yo te kòmanse panse kisa pou yo fè.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Epi nou te ale nan ClickHouse. Ak ki jan fè li sou ClickHouse? Nan premye gade, li sanble ke sa a se yon seri anti-modèl.

  • Tranzaksyon an ap grandi, nou konekte pi plis ak plis evènman nan li, sa vle di li se mutab, ak ClickHouse pa travay trè byen ak objè mutabl.
  • Lè yon vizitè vin jwenn nou, nou bezwen retire tranzaksyon li yo pa kle, pa id vizit li. Sa a se tou yon demann pwen, yo pa fè sa nan ClickHouse. Anjeneral ClickHouse gen gwo...eskanè, men isit la nou bezwen jwenn kèk dosye. Epitou yon antimodèl.
  • Anplis de sa, tranzaksyon an te nan json, men yo pa t 'vle reekri li, kidonk yo te vle magazen json nan yon fason san estrikti, epi si sa nesesè, rale yon bagay soti nan li. Ak sa a se tou yon antimodèl.

Sa vle di, yon seri antimodèl.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Men, kanmenm li te tounen soti nan fè yon sistèm ki te travay trè byen.

Kisa ki te fèt? ClickHouse parèt, nan ki mòso bwa yo te jete, divize an dosye. Yon sèvis atribiye parèt ki te resevwa mòso bwa nan ClickHouse. Apre sa, pou chak antre, pa vizit id, mwen te resevwa tranzaksyon ki ta ka pa te trete ankò ak plis snapshots, sa vle di tranzaksyon ki deja konekte, sètadi rezilta travay anvan yo. Mwen te deja fè lojik nan yo, te chwazi tranzaksyon ki kòrèk la, konekte nouvo evènman yo. Konekte ankò. Log la tounen nan ClickHouse, sa vle di li se yon sistèm ki toujou ap siklik. Epi anplis, mwen te ale nan DWH pou analize li la.

Li te nan fòm sa a ke li pa te travay trè byen. Epi pou rann li pi fasil pou ClickHouse, lè te gen yon demann pa vizit id, yo gwoupe demann sa yo nan blòk 1-000 id vizit ak rale tout tranzaksyon pou 2-000 moun. Lè sa a, li tout te travay.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Si ou gade andedan ClickHouse, Lè sa a, gen sèlman 3 tab prensipal ki sèvi tout bagay sa yo.

Premye tab la nan ki mòso bwa yo Uploaded, ak mòso bwa yo Uploaded prèske san yo pa trete.

Dezyèm tab la. Atravè vi materyalize a, evènman ki poko atribiye, sa vle di, ki pa gen rapò, yo te mòde soti nan mòso bwa sa yo. Ak nan vi a konkretize, tranzaksyon yo te rale soti nan mòso bwa sa yo bati yon snapshot. Sa se, yon View espesyal konkretize bati yon snapshot, sètadi dènye eta a akimile nan tranzaksyon an.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Isit la se tèks la ekri nan SQL. Mwen ta renmen fè kòmantè sou kèk bagay enpòtan nan li.

Premye bagay enpòtan an se kapasite pou rale kolòn ak jaden soti nan json nan ClickHouse. Sa vle di, ClickHouse gen kèk metòd pou travay ak json. Yo trè, trè primitif.

visitParamExtractInt pèmèt ou ekstrè atribi nan json, sa vle di premye frape a ap travay. Epi fason sa a ou ka rale id tranzaksyon oswa vizite id. Fwa sa a.

Dezyèmman, yo itilize yon jaden materyalize difisil isit la. Sa sa vle di? Sa vle di ke ou pa ka mete l nan tab la, sa vle di li pa antre, li kalkile epi estoke lè w mete l. Lè kole, ClickHouse fè travay la pou ou. Ak sa ou bezwen pita deja rale soti nan json.

Nan ka sa a, vi materyalize se pou ranje anvan tout koreksyon. Ak premye tab la ak mòso bwa pratikman anvan tout koreksyon jis itilize. E kisa li fè? Premyèman, li chanje klasman an, sa vle di klasman kounye a ale pa vizit id, paske nou bezwen byen vit rale tranzaksyon li pou yon moun espesifik.

Dezyèm bagay enpòtan an se index_granularity. Si ou te wè MergeTree, anjeneral li se 8 pa default index_granularity. Ki sa li ye? Sa a se paramèt endis endèks la. Nan ClickHouse endèks la se rar, li pa janm endis chak antre. Li fè sa chak 192 8. Ak sa a bon lè yon anpil nan done yo oblije kalkile, men move lè yon ti kras, paske gen yon gwo tèt. Men, si nou redwi granularite endèks la, Lè sa a, nou redwi anlè a. Li pa ka redwi a yon sèl, paske ka pa gen ase memwa. Endèks la toujou estoke nan memwa.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Snapshot tou itilize kèk lòt karakteristik ClickHouse enteresan.

Premyèman, li se AggregatingMergeTree. Ak AggregatingMergeTree magazen argMax, sa vle di sa a se eta a nan tranzaksyon an ki koresponn ak dènye timestamp la. Tranzaksyon yo pwodwi tout tan pou yon vizitè bay yo. Ak nan dènye eta a nan tranzaksyon sa a, nou te ajoute yon evènman epi nou gen yon nouvo eta. Li frape ClickHouse ankò. Ak nan argMax nan vi sa a konkretize, nou ka toujou jwenn eta aktyèl la.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Se obligatwa a "dekouple" soti nan Runtime la.
  • Jiska 3 milya tranzaksyon pa mwa yo estoke ak trete. Sa a se yon lòd nan grandè plis pase sa li te nan Cassandra, sa vle di nan yon sistèm tranzaksyon tipik.
  • Gwoup 2x5 sèvè ClickHouse. 5 serveurs ak chak sèvè gen yon kopi. Sa a se menm mwens pase sa li te nan Cassandra yo nan lòd yo fè klike sou atribisyon ki baze sou, ak isit la nou gen enpresyon ki baze sou. Sa vle di, olye pou yo ogmante kantite serveurs pa 30 fwa, yo jere diminye yo.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak dènye egzanp lan se konpayi finansye Y, ki analize korelasyon chanjman nan pri stock.

Ak travay la te:

  • Gen apeprè 5 aksyon.
  • Quotes chak 100 milisgond yo konnen.
  • Done yo te akimile sou 10 ane. Aparamman, pou kèk konpayi plis, pou kèk mwens.
  • Gen apeprè 100 milya ranje nan total.

Epi li te nesesè yo kalkile korelasyon an nan chanjman.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Isit la yo se de aksyon ak quotes yo. Si youn monte ak lòt la monte, Lè sa a, sa a se yon korelasyon pozitif, sa vle di youn monte ak lòt la monte. Si youn monte, tankou nan fen graf la, ak lòt la desann, Lè sa a, sa a se yon korelasyon negatif, sa vle di lè youn leve, lòt la tonbe.

Analize chanjman sa yo mityèl, yon moun ka fè prediksyon nan mache finansye a.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Men travay la difisil. Kisa yap fè pou sa? Nou gen 100 milya dosye ki genyen: tan, stock, ak pri. Nou bezwen kalkile premye 100 milya fwa Diferans nan kouri soti nan algorithm nan pri. RunningDifference se yon fonksyon nan ClickHouse ki sekans kalkile diferans ki genyen ant de fisèl.

Apre sa, ou bezwen kalkile korelasyon an, epi korelasyon an dwe kalkile pou chak pè. Pou 5 aksyon, pè yo se 000 milyon dola. Ak sa a se yon anpil, sa vle di 12,5 fwa li nesesè yo kalkile jis tankou yon fonksyon korelasyon.

Men, si yon moun bliye, Lè sa a, ͞x ak ͞y se yon echèk. atant echantiyon. Sa vle di, li nesesè pa sèlman kalkile rasin yo ak sòm yo, men tou, yon lòt sòm ankò andedan sòm sa yo. Yon pakèt kalkil bezwen fè 12,5 milyon fwa, e menm gwoupe pa èdtan. Nou menm tou nou gen anpil èdtan. Epi ou dwe fè li nan 60 segonn. Se yon blag.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Li te nesesè pou gen tan omwen yon jan kanmenm, paske tout bagay sa yo te travay trè, trè dousman anvan ClickHouse te vini.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yo te eseye kalkile li sou Hadoop, sou Spark, sou Greenplum. Ak tout bagay sa yo te trè dousman oswa chè. Sa se, li te posib yon jan kanmenm kalkile, men Lè sa a, li te chè.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Apre sa, ClickHouse te vini ak bagay yo te vin pi byen.

Mwen raple nou ke nou gen yon pwoblèm ak lokalite done, paske korelasyon yo pa ka lokalize. Nou pa ka mete kèk nan done yo sou yon sèvè, kèk sou yon lòt epi kalkile, nou dwe gen tout done yo toupatou.

Kisa yo te fè? Okòmansman, done yo lokalize. Chak sèvè estoke done sou pri a nan yon seri sèten nan aksyon. Epi yo pa sipèpoze. Se poutèt sa, li posib yo kalkile logReturn nan paralèl ak poukont yo, tout bagay sa yo rive byen lwen tèlman nan paralèl ak distribye.

Lè sa a, nou deside diminye done sa yo, pandan y ap pa pèdi ekspresyon. Diminye lè l sèvi avèk etalaj, sa vle di pou chak peryòd tan, fè yon etalaj de aksyon ak yon etalaj de pri. Se poutèt sa, li pran anpil mwens espas done. Apre sa, yo se yon ti kras pi fasil yo travay avèk yo. Sa yo se operasyon prèske paralèl, sa vle di nou pasyèlman li nan paralèl ak Lè sa a, ekri nan sèvè a.

Apre sa, li ka repwodui. Lèt "r" la vle di ke nou repwodui done sa yo. Sa vle di, nou gen menm done sou tout twa serveurs - sa yo se etalaj yo.

Lè sa a, ak yon script espesyal ki soti nan seri sa a nan 12,5 milyon dola korelasyon ki bezwen yo dwe kalkile, ou ka fè pakè. Sa vle di, 2 travay ak 500 pè korelasyon. Ak travay sa a dwe kalkile sou yon sèvè ClickHouse espesifik. Li gen tout done yo, paske done yo se menm bagay la epi li ka kalkile yo sekans.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Yon fwa ankò, sa a se sa li sanble. Premyèman, nou gen tout done yo nan estrikti sa a: tan, aksyon, pri. Lè sa a, nou kalkile logReturn, sa vle di done nan menm estrikti a, men olye pou yo pri a nou deja gen logReturn. Lè sa a, yo te refè, sa vle di nou te resevwa tan an ak groupArray pou aksyon ak pri. Sreplike. Apre sa, nou te pwodwi yon pakèt travay epi nou te bay ClickHouse yo manje pou li ta konte yo. Epi li travay.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Sou prèv konsèp, travay la te yon sou-tach, sa vle di, mwens done yo te pran. Ak sèlman twa serveurs.

De premye etap sa yo: kalkile Log_return ak vlope nan etalaj te pran apeprè inèdtan.

Ak kalkil la nan korelasyon an se apeprè 50 èdtan. Men, 50 èdtan pa ase, paske yo te konn travay pou semèn. Se te yon gwo siksè. Men, si ou konte, Lè sa a, 70 fwa pou chak segonn tout bagay te konte sou grap sa a.

Men, bagay ki pi enpòtan an se ke sistèm sa a se pratikman san anbouteyaj, sa vle di, li echèl prèske lineyè. Epi yo tcheke li. Siksè te monte li.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

  • Konplo a dwat se mwatye siksè nan. Ak konplo a dwat se itilizasyon tout teknoloji ClickHouse ki nesesè yo.
  • Summing/AggregatingMergeTrees se teknoloji ki pèmèt ou rasanble oswa konsidere yon snapshot eta kòm yon ka espesyal. Epi li anpil senplifye anpil bagay.
  • Vid materyalize pèmèt ou kontoune limit endèks la. Petèt mwen pa t 'di li trè klè, men lè nou chaje mòso bwa yo, mòso bwa yo anvan tout koreksyon yo te nan tablo a ak yon sèl endèks, ak mòso bwa atribi yo te nan tablo a, sa vle di menm done yo, sèlman filtre, men endèks la te konplètman. lòt moun. Li sanble gen menm done yo, men klasman diferan. Ak Vid materyalize pèmèt ou, si ou bezwen li, kontoune yon limit ClickHouse konsa.
  • Diminye granularite endèks pou demann pwen.
  • Epi distribye done yo entelijan, eseye lokalize done yo nan sèvè a otank posib. Epi eseye asire ke demann yo itilize tou lokalizasyon kote posib otank posib.

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

Ak rezime kout diskou sa a, nou ka di ke ClickHouse te kounye a byen fèm okipe teritwa a nan tou de baz done komèsyal ak baz done sous louvri, sa vle di, espesyalman pou analytics. Li adapte parfe nan jaden flè sa a. Ak sa ki pi plis, li tou dousman kòmanse foule lòt moun, paske lè ou gen ClickHouse, ou pa bezwen InfiniDB. Vertika ka pa bezwen byento si yo fè nòmal sipò SQL. Jwi!

Teyori ak pratik lè l sèvi avèk ClickHouse nan aplikasyon reyèl. Alexander Zaitsev (2018)

-Mèsi pou rapò a! Trè enteresan! Èske te gen nenpòt konparezon ak Apache Phoenix?

Non, mwen pa tande pèsonn konpare. Nou menm ak Yandex eseye kenbe tras de tout konparezon ClickHouse ak baz done diferan. Paske si toudenkou yon bagay vin pi vit pase ClickHouse, Lè sa a, Lesha Milovidov pa ka dòmi nan mitan lannwit epi li kòmanse byen vit akselere li. Mwen pa tande pale de yon konparezon konsa.

  • (Aleksey Milovidov) Apache Phoenix se yon motè SQL patrone pa Hbase. Hbase se sitou pou senaryo travay kle-valè. Gen, nan chak liy, ka gen yon kantite abitrè nan kolòn ak non abitrè. Sa a ka di sou sistèm tankou Hbase, Cassandra. Epi li se jisteman lou demann analyse ki pa pral travay nòmalman pou yo. Oswa ou ta ka panse ke yo travay byen si ou pa te gen okenn eksperyans ak ClickHouse.

  • Mèsi

    • Bon apremidi Mwen deja byen enterese nan sijè sa a, paske mwen gen yon subsistèm analyse. Men, lè mwen gade nan ClickHouse, mwen jwenn santiman ke ClickHouse trè byen adapte pou analiz evènman, mutable. Men, si mwen bezwen analize yon anpil nan done biznis ak yon pakèt moun sou tab gwo, Lè sa a, ClickHouse, osi lwen ke mwen konprann, se pa trè apwopriye pou mwen? Sitou si yo chanje. Èske sa kòrèk oswa èske gen egzanp ki ka demanti sa a?

    • Sa a se dwa. Ak sa a se laverite nan pi fò baz done analyse espesyalize. Yo pwepare pou lefèt ke gen youn oswa plis tab gwo ki ka chanje, ak pou anpil ti ki chanje tou dousman. Sa vle di, ClickHouse se pa tankou Oracle, kote ou ka mete tout bagay epi bati kèk demann trè konplèks. Pou w kapab itilize ClickHouse efektivman, ou bezwen konstwi yon konplo nan yon fason ki travay byen nan ClickHouse. Sa vle di, evite twòp nòmalizasyon, sèvi ak diksyonè, eseye fè mwens lyen long. Men, si se chema a bati nan fason sa a, Lè sa a, travay biznis ki sanble yo ka rezoud sou ClickHouse pi plis efikasite pase sou yon baz done relasyon tradisyonèl yo.

Mèsi pou rapò a! Mwen gen yon kesyon sou dènye ka finansye a. Yo te gen analytics. Li te nesesè yo konpare ki jan yo monte ak desann. Apre sa, mwen konprann ke ou bati sistèm nan espesyalman pou analiz sa a? Si demen, par egzanp, zot bezwen en lot rapor lo sa bann data, eski zot bezwen re-konstrir scheme e upload bann done? Sa se, fè kèk kalite preprocessing jwenn demann lan?

Natirèlman, sa a se itilize nan ClickHouse pou yon travay trè espesifik. Li te kapab plis tradisyonèlman rezoud nan Hadoop. Pou Hadoop, sa a se yon travay ideyal. Men, sou Hadoop li trè dousman. Ak objektif mwen se demontre ke ClickHouse ka rezoud travay ki anjeneral rezoud pa mwayen konplètman diferan, men an menm tan fè li pi plis efikasite. Sa a se pwepare pou yon travay espesifik. Li klè ke si gen yon pwoblèm ak yon bagay ki sanble, Lè sa a, li ka rezoud nan yon fason ki sanble.

Li klè. Ou te di ke 50 èdtan yo te trete. Èske se depi nan konmansman an, ki lè ou te chaje done yo oswa jwenn rezilta yo?

Wi Wi.

OK mèsi anpil.

Sa a se sou yon gwoup 3 sèvè.

Bonjou! Mèsi pou rapò a! Tout bagay trè enteresan. Mwen pa pral mande yon ti kras sou fonksyonalite a, men sou itilizasyon ClickHouse an tèm de estabilite. Sa vle di, èske ou te gen nenpòt, ou te oblije retabli? Ki jan ClickHouse konpòte nan ka sa a? Epi èske sa rive ou te gen yon kopi tou? Pou egzanp, nou te rankontre yon pwoblèm ak ClickHouse lè li toujou soti nan limit li yo ak tonbe.

Natirèlman, pa gen okenn sistèm ideyal. Ak ClickHouse tou gen pwoblèm pwòp li yo. Men, èske w tande pale de Yandex.Metrica pa travay pou yon tan long? Pwobableman pa. Li te travay seryezman depi 2012-2013 sou ClickHouse. Mwen ka di menm bagay la sou eksperyans mwen. Nou pa janm gen echèk konplè. Kèk bagay pasyèl te ka rive, men yo pa t janm kritik ase pou seryezman afekte biznis la. Li pa janm rive. ClickHouse se byen serye epi li pa aksidan owaza. Ou pa bezwen enkyete sou li. Se pa yon bagay kri. Sa a te pwouve pa anpil konpayi.

Bonjou! Ou te di ke ou bezwen reflechi sou chema done a touswit. E si li te rive? Done mwen yo ap vide ak vide. Sis mwa pase, e mwen konprann ke li enposib viv tankou sa a, mwen bezwen re-upload done yo epi fè yon bagay ak yo.

Sa a depann nan kou sou sistèm ou an. Gen plizyè fason pou fè sa ak nòmalman pa sispann. Pou egzanp, ou ka kreye yon View Materialize nan ki fè yon estrikti done diferan si li ka inikman kat. Sa vle di, si li pèmèt kat lè l sèvi avèk ClickHouse, sa vle di ekstrè kèk bagay, chanje kle prensipal la, chanje patisyon, Lè sa a, ou ka fè yon View materyalize. Ranplase ansyen done ou yo la, nouvo yo pral ekri otomatikman. Lè sa a, jis chanje nan lè l sèvi avèk View nan materyalize, Lè sa a, chanje dosye a epi touye ansyen tab la. Sa a se jeneralman yon metòd ki pa sispann.

Mèsi poutèt ou.

Sous: www.habr.com

Add nouvo kòmantè