Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Trotz der Tatsaach, datt et elo bal iwwerall vill Daten gëtt, sinn analytesch Datenbanken nach ëmmer zimlech exotesch. Si sinn schlecht bekannt an nach méi schlëmm fäeg se effektiv ze benotzen. Vill weider "Kaktus iessen" mat MySQL oder PostgreSQL, déi fir aner Szenarie entworf sinn, leiden mat NoSQL, oder iwwerbezuelt fir kommerziell Léisungen. ClickHouse ännert d'Regele vum Spill a reduzéiert d'Schwell wesentlech fir an d'Welt vun analyteschen DBMS anzeginn.

Bericht vum BackEnd Conf 2018 an et gëtt mat der Erlaabnis vum Spriecher publizéiert.


Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)
Wien sinn ech a firwat schwätzen ech iwwer ClickHouse? Ech sinn Entwécklungsdirekter bei LifeStreet, déi ClickHouse benotzt. Och sinn ech de Grënner vun Altinity. Et ass e Yandex Partner deen ClickHouse fördert an hëlleft Yandex ClickHouse méi erfollegräich ze maachen. Och prett Wëssen iwwer ClickHouse ze deelen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An ech sinn net de Brudder vum Petya Zaitsev. Ech ginn dacks doriwwer gefrot. Nee, mir si keng Bridder.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

"Jidderee weess" datt ClickHouse:

  • Ganz séier,
  • Ganz bequem
  • Benotzt an Yandex.

E bësse manner ass bekannt a wéi enge Firmen a wéi et benotzt gëtt.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Ech soen Iech firwat, wou a wéi ClickHouse benotzt gëtt, ausser Yandex.

Ech soen Iech wéi spezifesch Aufgaben mat der Hëllef vu ClickHouse a verschiddene Firmen geléist ginn, wéi eng ClickHouse Tools Dir fir Är Aufgaben benotze kënnt a wéi se a verschiddene Firmen benotzt goufen.

Ech hunn dräi Beispiller opgeholl déi ClickHouse aus verschiddene Winkelen weisen. Ech mengen et wäert interessant sinn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Déi éischt Fro ass: "Firwat brauche mir ClickHouse?". Et schéngt eng zimlech offensichtlech Fro ze sinn, awer et gi méi wéi eng Äntwert drop.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • Déi éischt Äntwert ass fir Leeschtung. ClickHouse ass ganz séier. Analytics op ClickHouse ass och ganz séier. Et kann dacks benotzt ginn, wou soss eppes ganz lues oder ganz schlecht ass.
  • Déi zweet Äntwert ass Käschten. An als éischt d'Käschte vun der Skala. Zum Beispill, Vertica ass eng absolut super Datebank. Et funktionnéiert ganz gutt wann Dir net vill Terabytes vun Daten hutt. Awer wann et ëm Honnerte vun Terabytes oder Petabytes kënnt, ginn d'Käschte vun enger Lizenz an Ënnerstëtzung an e relativ bedeitende Betrag. An et ass deier. A ClickHouse ass gratis.
  • Déi drëtt Äntwert ass Operatiounskäschte. Dëst ass eng liicht aner Approche. RedShift ass e super Analog. Op RedShift kënnt Dir ganz séier eng Entscheedung treffen. Et wäert gutt funktionnéieren, awer gläichzäiteg all Stonn, all Dag an all Mount wäert Dir Amazon relativ deier bezuelen, well dëst e wesentlech deiere Service ass. Google BigQuery och. Wann een et benotzt huet, da weess hien datt Dir do e puer Ufroe maache kënnt an op eemol eng Rechnung fir Honnerte vun Dollar kréien.

ClickHouse huet dës Problemer net.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Wou gëtt ClickHouse elo benotzt? Zousätzlech zu Yandex gëtt ClickHouse an enger Rëtsch vu verschiddene Geschäfter a Firmen benotzt.

  • Als éischt ass dëst Webapplikatiounsanalyse, dh dëst ass e Benotzungsfall dee vu Yandex koum.
  • Vill AdTech Firmen benotzen ClickHouse.
  • Vill Firmen déi Transaktiounsprotokoller aus verschiddene Quellen analyséiere mussen.
  • Verschidde Firmen benotzen ClickHouse fir Sécherheetsprotokoller ze iwwerwaachen. Si lueden se op ClickHouse erop, maachen Berichter a kréien d'Resultater déi se brauchen.
  • Firmen fänken un et an der Finanzanalyse ze benotzen, also lues a lues kommen och grouss Entreprisen op ClickHouse.
  • cloudflare. Wann een ClickHouse verfollegt, dann hu se wahrscheinlech den Numm vun dëser Firma héieren. Dëst ass ee vun de wesentleche Bäiträg aus der Gemeinschaft. A si hunn eng ganz sérieux ClickHouse Installatioun. Zum Beispill hunn se Kafka Engine fir ClickHouse gemaach.
  • Telekommunikatiounsfirmen hunn ugefaang ze benotzen. Verschidde Firmen benotzen ClickHouse entweder als Beweis op Konzept oder schonn an der Produktioun.
  • Eng Firma benotzt ClickHouse fir Produktiounsprozesser ze iwwerwaachen. Si testen Mikrokreesser, schreiwen eng Rëtsch Parameteren, et ginn ongeféier 2 Charakteristiken. An dann analyséieren se ob d'Spill gutt oder schlecht ass.
  • Blockchain Analyse. Et gëtt esou eng russesch Firma wéi Bloxy.info. Dëst ass eng Analyse vum Ethereum Netzwierk. Si hunn dat och op ClickHouse gemaach.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An d'Gréisst ass egal. Et gi vill Firmen déi ee klenge Server benotzen. An hien erlaabt hinnen hir Problemer ze léisen. An nach méi Firmen benotzen grouss Cluster vu ville Serveren oder Dosende vu Serveren.

A wann Dir d'Rekord kuckt, dann:

  • Yandex: 500+ Serveren, si späicheren 25 Milliarden records pro Dag do.
  • LifeStreet: 60 Serveren, ongeféier 75 Milliarde records pro Dag. Et gi manner Serveren, méi records wéi am Yandex.
  • CloudFlare: 36 Serveren, si spueren 200 Milliarden records pro Dag. Si hunn nach manner Serveren a späicheren nach méi Daten.
  • Bloomberg: 102 Serveren, ongeféier eng Billioun Entréen pro Dag. Rekordhalter.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Geographesch ass dat och vill. Dës Kaart hei weist eng Hëtztkaart vu wou ClickHouse op der Welt benotzt gëtt. Russland, China, Amerika stinn hei kloer eraus. Et gi wéineg europäesch Länner. An et gi 4 Cluster.

Dëst ass eng komparativ Analyse, et ass net néideg fir absolut Zuelen ze sichen. Dëst ass eng Analyse vu Besucher déi engleschsproocheg Materialien op der Altinity Websäit liesen, well et keng russeschsproocheg do sinn. A Russland, Ukraine, Belarus, also de russesch-allgemengen Deel vun der Communautéit, dat sinn déi meescht Benotzer. Da kommen d'USA a Kanada. China ass ganz vill ophalen. Et war viru sechs Méint bal kee China do, elo huet China Europa schonn iwwerholl a wiisst weider. Alt Europa ass och net wäit hannendrun, an de Leader am Gebrauch vu ClickHouse ass komesch genuch Frankräich.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Firwat erzielen ech dat alles? Fir ze weisen datt ClickHouse eng Standardléisung fir Big Data Analyse gëtt a scho op ville Plazen benotzt gëtt. Wann Dir et benotzt, sidd Dir am richtegen Trend. Wann Dir et nach net benotzt, da kënnt Dir keng Angscht hunn datt Dir eleng gelooss gëtt a kee wäert Iech hëllefen, well vill maachen dat schonn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Dëst sinn Beispiller vu richtege ClickHouse Notzung a verschiddene Firmen.

  • Dat éischt Beispill ass en Annoncenetz: Migratioun vu Vertica op ClickHouse. An ech kennen e puer Firmen, déi aus Vertica iwwergaang sinn oder am Iwwergangsprozess sinn.
  • Dat zweet Beispill ass Transaktiounsspeicherung op ClickHouse. Dëst ass e Beispill op Antimuster gebaut. Alles wat net am ClickHouse op Berodung vun den Entwéckler soll gemaach ginn ass hei gemaach. An et ass sou effektiv gemaach datt et funktionnéiert. An et funktionnéiert vill besser wéi déi typesch Transaktiounsléisung.
  • Dat drëtt Beispill ass verdeelt Informatik op ClickHouse. Et war eng Fro iwwer wéi ClickHouse an den Hadoop Ökosystem integréiert ka ginn. Ech weisen e Beispill wéi eng Firma eppes ähnlech wéi eng Kaart Reduzéierungscontainer op ClickHouse gemaach huet, d'Datelokaliséierung behalen, etc., fir eng ganz net trivial Aufgab ze berechnen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • LifeStreet ass eng Ad Tech Firma déi all Technologie huet déi mat engem Annoncenetz kënnt.
  • Si beschäftegt sech mat der Annonceoptimiséierung, programmatesch Offeren.
  • Vill Daten: ongeféier 10 Milliarden Eventer pro Dag. Zur selwechter Zäit kënnen d'Evenementer do an e puer Ënnerevenementer opgedeelt ginn.
  • Et gi vill Cliente vun dësen Donnéeën, an dëst sinn net nëmme Leit, vill méi - dat si verschidde Algorithmen déi mat programmateschen Offeren engagéiert sinn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

D'Firma ass e laangen an thorny Wee komm. An ech hunn doriwwer op HighLoad geschwat. Als éischt ass LifeStreet vu MySQL (mat engem kuerzen Arrêt bei Oracle) op Vertica geplënnert. An Dir kënnt eng Geschicht doriwwer fannen.

An alles war ganz gutt, awer et gouf séier kloer datt d'Daten wuessen an d'Vertica deier ass. Dofir goufe verschidden Alternative gesicht. E puer vun hinnen sinn hei opgezielt. An tatsächlech hu mir Konzept vum Konzept oder heiansdo Performance Tester vu bal all Datenbanken gemaach, déi vum 13. bis 16. Joer um Maart verfügbar waren a wat d'Funktionalitéit ugeet, ongeféier gëeegent waren. An ech hunn och iwwer e puer vun hinnen op HighLoad geschwat.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

D'Aufgab war iwwerhaapt aus Vertica ze migréieren, well d'Donnéeë gewuess sinn. A si sinn exponentiell iwwer d'Jore gewuess. Duerno sinn se op d'Regal gaangen, awer trotzdem. A virauszesoen dëse Wuesstem, Affär Ufuerderunge fir d'Quantitéit vun Donnéeën op déi eng Zort vun Analyse gemaach gin muss, et war kloer, datt Petabytes geschwënn diskutéiert ginn. A fir Petabytes ze bezuelen ass scho ganz deier, also hu mir no enger Alternativ gesicht wou se higoen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Wou goen? A laang war et guer net kloer, wou een hi soll, well op der enger Säit gëtt et kommerziell Datenbanken, déi schéngen gutt ze schaffen. E puer funktionnéieren bal sou gutt wéi Vertica, e puer méi schlëmm. Awer si sinn all deier, näischt méi bëlleg a besser konnt net fonnt ginn.

Op der anerer Säit ginn et Open Source Léisungen, déi net ganz vill sinn, dh fir d'Analyse kënnen se op de Fanger gezielt ginn. A si gratis oder bëlleg, awer lues. A si feelen dacks déi néideg an nëtzlech Funktionalitéit.

An et war näischt fir dat Gutt ze kombinéieren dat a kommerziellen Datenbanken ass an all déi gratis déi an der Open Source ass.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Et war näischt bis onerwaart Yandex ClickHouse erausgezunn huet, wéi e Magier aus engem Hutt, wéi e Kanéngchen. An et war eng onerwaart Entscheedung, si stellen ëmmer nach d'Fro: "Firwat?", Awer trotzdem.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A direkt am Summer 2016 hu mir ugefaang ze kucken wat ClickHouse ass. An et huet sech erausgestallt datt et heiansdo méi séier ka sinn wéi Vertica. Mir hunn verschidden Szenarien op verschidden Ufroen getest. A wann d'Ufro nëmmen een Dësch benotzt, dat heescht ouni Join (join), dann war ClickHouse duebel sou séier wéi Vertica.

Ech war net ze faul an hunn den aneren Dag Yandex Tester gekuckt. Et ass d'selwecht do: ClickHouse ass duebel sou séier wéi Vertica, sou datt se dacks doriwwer schwätzen.

Awer wann et Join an den Ufroe gëtt, da stellt sech alles net ganz eendeiteg eraus. A ClickHouse kann zweemol sou lues wéi Vertica sinn. A wann Dir d'Ufro liicht korrigéiert an se iwwerschreift, da si se ongeféier gläich. Net schlecht. A gratis.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A nodeems se d'Testresultater kritt hunn, a se aus verschiddene Wénkelen gekuckt hunn, ass LifeStreet op ClickHouse gaang.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Dëst ass dat 16. Joer, erënneren ech Iech. Et war wéi e Witz iwwer Mais, déi sech gekrasch a gepickt hunn, awer weider de Kaktus iessen. An dëst gouf am Detail beschriwwen, et gëtt e Video iwwer dëst, asw.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Dofir wäert ech net am Detail doriwwer schwätzen, ech wäert nëmmen iwwer d'Resultater schwätzen an e puer interessant Saachen, iwwer déi ech deemools net geschwat hunn.

D'Resultater sinn:

  • Erfollegräich Migratioun a méi wéi engem Joer de System schafft schonn an der Produktioun.
  • Produktivitéit a Flexibilitéit sinn eropgaang. Vun den 10 Milliarden Opzeechnungen, déi mir et leeschte konnten pro Dag ze späicheren an duerno fir eng kuerz Zäit, späichert LifeStreet elo 75 Milliarde Rekorder pro Dag a kann dat fir 3 Méint oder méi maachen. Wann Dir um Héichpunkt zielt, dann ass dëst bis zu enger Millioun Eventer pro Sekonn. Méi wéi eng Millioun SQL Ufroen pro Dag kommen an dësem System, meeschtens vu verschiddene Roboteren.
  • Trotz der Tatsaach, datt méi Servere fir ClickHouse benotzt goufen wéi fir Vertica, hunn se och op Hardware gespuert, well éischter deier SAS-Discs an Vertica benotzt goufen. ClickHouse benotzt SATA. A firwat? Well am Vertica Insert synchron ass. An d'Synchroniséierung erfuerdert datt d'Disken net ze vill verlangsamen, an och datt d'Netzwierk net ze vill verlangsamt, dat heescht eng zimlech deier Operatioun. An am ClickHouse Insert ass asynchron. Ausserdeem kënnt Dir ëmmer alles lokal schreiwen, et gi keng zousätzlech Käschten dofir, sou datt d'Donnéeën vill méi séier a ClickHouse agesat kënne ginn wéi an Vertika, och op méi luesen Drive. A liesen ass ongeféier d'selwecht. Liesen op SATA, wa se an RAID sinn, dann ass dëst alles séier genuch.
  • Net limitéiert duerch Lizenz, dh 3 Petabytes vun Daten op 60 Serveren (20 Server ass eng Replika) a 6 Billioun Rekorder a Fakten an Aggregatiounen. Näischt wéi dëst konnt sech bei Vertica leeschten.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Ech ginn elo op praktesch Saachen an dësem Beispill.

  • Déi éischt ass en efficace Schema. Vill hänkt vum Schema of.
  • Déi zweet ass effizient SQL Generatioun.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Eng typesch OLAP Ufro ass eng Auswiel. E puer vun de Kolonnen ginn op Gruppéierung duerch, e puer vun de Kolonnen ginn op aggregéiert Funktiounen. Et gëtt wou, wat kann als Slice vun engem Wierfel duergestallt ginn. De ganze Grupp vu kann als Projektioun geduecht ginn. An dofir gëtt et multivariate Datenanalyse genannt.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An dacks gëtt dëst an der Form vun engem Stäreschema modelléiert, wann et en zentrale Fakt an d'Charakteristike vun dëser Tatsaach laanscht d'Säiten, laanscht d'Strahlen ass.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A wat de kierperlechen Design ugeet, wéi et op den Dësch passt, maachen se normalerweis eng normaliséiert Representatioun. Dir kënnt denormaliséieren, awer et ass deier op Disk an net ganz effizient op Ufroen. Dofir maachen se normalerweis eng normaliséiert Representatioun, dh eng Fakttabell a vill, vill Dimensiounstabellen.

Awer et funktionnéiert net gutt am ClickHouse. Et ginn zwee Grënn:

  • Déi éischt ass well ClickHouse net ganz gutt Bäiträg huet, dh et gi Bäitrëtter, awer si si schlecht. Iwwerdeems schlecht.
  • Déi zweet ass datt d'Dëscher net aktualiséiert ginn. Normalerweis an dëse Placke, déi ronderëm de Stärekrees sinn, muss eppes geännert ginn. Zum Beispill, Client Numm, Firma Numm, etc. An et geet net.

An et gëtt e Wee aus dësem am ClickHouse. souguer zwee:

  • Déi éischt ass d'Benotzung vun Dictionnairen. Extern Dictionnairen ass wat hëlleft 99% de Problem mam Star-Schema ze léisen, mat Updates a sou weider.
  • Déi zweet ass d'Benotzung vun Arrays. Arrays hëllefen och d'Joints a Problemer mat der Normaliséierung lass ze ginn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • Kee Bäitrëtt erfuerderlech.
  • Upgradéierbar. Zënter Mäerz 2018 ass eng ondokumentéiert Geleeënheet opgetaucht (Dir fannt dat net an der Dokumentatioun) fir Dictionnairen deelweis ze aktualiséieren, dat heescht déi Entréen déi geännert hunn. Praktesch ass et wéi en Dësch.
  • Ëmmer an der Erënnerung, also schléisst mat engem Wierderbuch méi séier wéi wann et en Dësch wier deen op Disk ass an et ass nach net e Fakt datt et am Cache ass, wahrscheinlech net.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • Dir braucht och keng Joints.
  • Dëst ass eng kompakt 1-zu-vill Representatioun.
  • An menger Meenung no sinn Arrays fir Geeks gemaach. Dëst sinn Lambda Funktiounen a sou weider.

Dëst ass net fir rout Wierder. Dëst ass eng ganz mächteg Funktionalitéit déi Iech erlaabt vill Saachen op eng ganz einfach an elegant Manéier ze maachen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Typesch Beispiller déi hëllefen Arrays ze léisen. Dës Beispiller sinn einfach a kloer genuch:

  • Sich no Tags. Wann Dir hashtags do hutt a wëllt e puer posts vun hashtag ze fannen.
  • Sich no Schlëssel-Wäertpairen. Et ginn och e puer Attributer mat engem Wäert.
  • Späichere Lëschte vu Schlësselen déi Dir braucht fir eppes anescht ze iwwersetzen.

All dës Aufgaben kënnen ouni Arrays geléist ginn. Tags kënnen an e puer Zeil gesat ginn a mat engem reguläre Ausdrock oder an enger separater Tabell ausgewielt ginn, awer da musst Dir Joint maachen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An am ClickHouse braucht Dir näischt ze maachen, et ass genuch fir d'String-Array fir Hashtag ze beschreiwen oder eng nestéiert Struktur fir Schlësselwäertsystemer ze maachen.

Nested Struktur ass vläicht net dee beschten Numm. Dëst sinn zwee Arrays déi e gemeinsamen Deel am Numm hunn an e puer verwandte Charakteristiken.

An et ass ganz einfach no Tag ze sichen. Hutt eng Funktioun has, déi kontrolléiert datt d'Array en Element enthält. Jiddereen, fonnt all Entréen, déi op eis Konferenz bezéien.

Sich no Subid ass e bësse méi komplizéiert. Mir mussen als éischt den Index vum Schlëssel fannen, an dann d'Element mat dësem Index huelen a kucken ob dëse Wäert ass wat mir brauchen. Allerdéngs ass et ganz einfach a kompakt.

De reguläre Ausdrock, deen Dir gäre géift schreiwen, wann Dir alles an enger Zeil hält, et wier éischtens knaschteg. An zweetens huet et vill méi laang geschafft wéi zwee Arrays.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

En anert Beispill. Dir hutt eng Array wou Dir d'ID späichert. An Dir kënnt se an Nimm iwwersetzen. Funktioun arrayMap. Dëst ass eng typesch Lambda Funktioun. Dir passt do Lambda Ausdréck. A si zitt de Wäert vum Numm fir all ID aus dem Wierderbuch eraus.

Sich kann an déi selwecht Manéier gemaach ginn. Eng Prädikatfunktioun gëtt passéiert déi iwwerpréift wat d'Elementer passen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Dës Saache vereinfachen de Circuit immens a léisen eng Rëtsch Problemer.

Awer den nächste Problem, dee mir konfrontéiert hunn, an deen ech gären ernimmen, ass effizient Ufroen.

  • ClickHouse huet keen Ufroplaner. Absolut net.
  • Trotzdem musse komplex Ufroen nach geplangt ginn. A wéi enge Fäll?
  • Wann et e puer Joint an der Ufro sinn, wéckelt Dir se an Ënnerselektiounen. An d'Uerdnung an där se ausgefouert ginn ass wichteg.
  • An déi zweet - wann d'Demande verdeelt ass. Well an enger verdeelerer Ufro gëtt nëmmen déi bannescht Ënnerselektioun verdeelt ausgefouert, an alles anescht gëtt op ee Server weiderginn, mat deem Dir ugeschloss hutt an do ausgefouert hutt. Dofir, wann Dir Ufroe mat ville Join (join) verdeelt hutt, da musst Dir d'Bestellung wielen.

An och a méi einfache Fäll ass et heiansdo och néideg fir d'Aarbecht vum Scheduler ze maachen an d'Ufroen e bëssen ëmzeschreiwen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Hei ass e Beispill. Op der lénker Säit ass eng Ufro déi déi Top 5 Länner weist. An et dauert 2,5 Sekonnen, menger Meenung no. An op der rietser Säit, déi selwecht Ufro, awer liicht ëmgeschriwwen. Amplaz vu String ze gruppéieren, hu mir ugefaang mam Schlëssel (int) ze gruppéieren. An et ass méi séier. An dann hu mir e Wierderbuch mam Resultat verbonnen. Amplaz 2,5 Sekonnen dauert d'Ufro 1,5 Sekonnen. Dëst ass gutt.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

En ähnlecht Beispill mat Rewriting Filteren. Hei ass eng Demande fir Russland. Et leeft fir 5 Sekonnen. Wa mir et sou schreiwen, datt mir erëm net eng String vergläichen, awer Zuelen mat e puer Set vun de Schlësselen, déi op Russland bezéien, da wäert et vill méi séier sinn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Et gi vill esou Tricken. A si erlaben Iech Ufroen wesentlech ze beschleunegen, déi Dir mengt, scho séier lafen, oder, ëmgekéiert, lues lafen. Si kënnen nach méi séier gemaach ginn.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • Maximal Aarbecht am verdeelt Modus.
  • Sortéieren no Minimum Typen, wéi ech duerch Ints gemaach hunn.
  • Wann et Join (join), Dictionnairen, dann ass et besser se als leschten Auswee ze maachen, wann Dir schonn Daten op d'mannst deelweis gruppéiert hutt, da gëtt d'Join-Operatioun oder Dictionnaire-Uruff manner Mol genannt an et wäert méi séier sinn .
  • Filteren ersetzen.

Et ginn aner Techniken, an net nëmmen déi, déi ech bewisen hunn. An all vun hinnen kënnen heiansdo d'Ausféierung vun Ufroen däitlech beschleunegen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Loosst eis op dat nächst Beispill goen. Firma X aus USA. Wat mécht hatt?

Et gouf eng Aufgab:

  • Offline Verknëppung vu Reklammtransaktiounen.
  • Modelléiere verschidde Bindungsmodeller.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Wat ass den Szenario?

En gewéinleche Besucher kënnt zum Beispill 20 Mol am Mount aus verschiddene Annoncen op de Site, oder just esou kënnt heiansdo ouni Reklammen, well hien sech un dësem Site erënnert. Kuckt e puer Produkter, setzt se an de Kuerf, hëlt se aus dem Kuerf. An um Enn keeft eppes.

Raisonnabel Froen: "Wie soll fir Reklammen bezuelen, wann néideg?" an "Wéi eng Reklamm huet hien beaflosst, wann iwwerhaapt?". Dat ass, firwat huet hien kaaft a wéi Leit wéi dës Persoun och ze kafen?

Fir dëse Problem ze léisen, musst Dir d'Evenementer, déi op der Websäit geschéien, op déi richteg Manéier verbannen, dat heescht, iergendwéi eng Verbindung tëscht hinnen bauen. Da gi se fir Analyse op DWH geschéckt. A baséiert op dëser Analyse, bauen Modeller vu wien a wéi eng Annoncen ze weisen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Eng Annoncetransaktioun ass eng Rei vu verwandte Benotzerevenementer déi ufänken vun enger Annonce ze weisen, da geschitt eppes, da vläicht e Kaf, an da kënnen et Akeef bannent engem Akaf sinn. Zum Beispill, wann dëst eng mobil Applikatioun oder e mobilt Spill ass, da gëtt normalerweis d'Installatioun vun der Applikatioun gratis stattfonnt, a wann eppes do gemaach gëtt, da kënne Sue fir dëst erfuerderlech sinn. A wat méi eng Persoun an der Applikatioun verbréngt, dest méi wäertvoll ass et. Awer dofir musst Dir alles verbannen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Et gi vill bindend Modeller.

Déi populärste sinn:

  • Lescht Interaktioun, wou Interaktioun entweder e Klick oder en Androck ass.
  • Éischt Interaktioun, dh déi éischt Saach déi eng Persoun op de Site bruecht huet.
  • Linear Kombinatioun - all gläich.
  • Dämpfung.
  • A sou weider.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A wéi huet dat iwwerhaapt alles geschafft? Et war Runtime a Cassandra. Cassandra gouf als Transaktiounsspeicher benotzt, dh all verbonne Transaktioune goufen dran gespäichert. A wann en Event am Runtime kënnt, zum Beispill, eng Säit ze weisen oder soss eppes, da gouf eng Ufro un d'Cassandra gemaach - gëtt et esou eng Persoun oder net. Duerno goufen d'Transaktioune kritt, déi domat bezéien. An d'Verbindung gouf gemaach.

A wann et Gléck ass datt d'Ufro eng Transaktiouns-ID huet, dann ass et einfach. Mee normalerweis kee Gléck. Dofir war et néideg déi lescht Transaktioun oder d'Transaktioun mam leschte Klick ze fannen, etc.

An et huet alles ganz gutt geschafft soulaang d'Bindung bis de leschte Klick war. Well et ginn, soen, 10 Millioune Klicks pro Dag, 300 Millioune pro Mount, wa mir eng Fënster fir e Mount setzen. A well et zu Cassandra alles an der Erënnerung muss sinn fir séier ze lafen, well de Runtime séier muss reagéieren, huet et ongeféier 10-15 Server gedauert.

A wann se eng Transaktioun un den Ecran wollten verbannen, huet et direkt net sou lëschteg erausgestallt. A firwat? Et kann gesi ginn datt 30 Mol méi Eventer musse gespäichert ginn. An deementspriechend braucht Dir 30 Mol méi Serveren. An et stellt sech eraus datt dëst eng Aart vun astronomescher Figur ass. Fir bis zu 500 Serveren ze halen fir de Link ze maachen, trotz der Tatsaach datt et wesentlech manner Serveren am Runtime sinn, dann ass dëst eng Aart falsch Figur. A si hunn ugefaang ze denken wat ze maachen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A mir sinn op ClickHouse gaang. A wéi maachen ech et op ClickHouse? Op den éischte Bléck schéngt et datt dëst eng Rei vun Anti-Muster ass.

  • D'Transaktioun wiisst, mir ukoppelen ëmmer méi Eventer un et, dh et ass mutéierbar, a ClickHouse funktionnéiert net ganz gutt mat mutablen Objeten.
  • Wann e Besucher bei eis kënnt, musse mir seng Transaktioune mam Schlëssel erauszéien, duerch seng Visite ID. Dëst ass och eng Punktufro, si maachen dat net am ClickHouse. Normalerweis huet ClickHouse grouss ... Scans, awer hei musse mir e puer Rekorder kréien. Och en Antimuster.
  • Zousätzlech war d'Transaktioun am json, awer si wollten se net ëmschreiwen, also wollten se json op eng onstrukturéiert Manéier späicheren, a wann néideg, eppes draus zéien. An dëst ass och en Antimuster.

Dat ass, eng Rei vun antipatterns.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Awer trotzdem huet et sech erausgestallt, e System ze maachen dee ganz gutt funktionnéiert.

Wat gouf gemaach? ClickHouse erschéngt, an déi Logbicher geworf goufen, opgedeelt op records. En zougeschriwwe Service erschéngt deen Logbicher vum ClickHouse kritt huet. Duerno, fir all Entrée, duerch Visite-ID, krut ech Transaktiounen déi nach net veraarbecht goufen a plus Schnappschëss, dh Transaktiounen déi scho verbonne sinn, nämlech d'Resultat vu fréierer Aarbecht. Ech hu scho Logik aus hinnen gemaach, déi richteg Transaktioun gewielt, nei Eventer verbonnen. Nach eng Kéier ageloggt. De Log ass zréck op ClickHouse, dat heescht et ass e konstant zyklesch System. An ausserdeem sinn ech bei DWH gaangen fir et do ze analyséieren.

Et war an dëser Form datt et net ganz gutt geschafft huet. A fir et méi einfach fir ClickHouse ze maachen, wann et eng Ufro per Besuchs-ID gouf, hunn se dës Ufroen a Blocke vun 1-000 Visite-ID'en gruppéiert an all Transaktioune fir 2-000 Leit erausgezunn. An dunn huet alles geschafft.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Wann Dir am ClickHouse kuckt, da ginn et nëmmen 3 Haaptdëscher déi all dëst déngen.

Déi éischt Tabell, an déi Logbicher eropgeluede ginn, an d'Logbicher si bal ouni Veraarbechtung eropgelueden.

Zweeten Dësch. Duerch d'materialiséierter Vue, Evenementer, déi nach net zougeschriwwen goufen, dh net verbonnen, goufen aus dëse Logbicher gebass. An duerch déi materialiséierter Vue goufen Transaktiounen aus dëse Logbicher erausgezunn fir e Snapshot ze bauen. Dat ass, eng speziell materialiséierter Vue gebaut engem Snapshot, nämlech de leschten cumuléierten Zoustand vun der Transaktioun.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Hei ass den Text geschriwwen an SQL. Ech géif gären e puer wichteg Saachen do kommentéieren.

Déi éischt wichteg Saach ass d'Fäegkeet fir Spalten a Felder aus json am ClickHouse erauszezéien. Dat ass, ClickHouse huet e puer Methoden fir mat json ze schaffen. Si si ganz, ganz primitiv.

visitParamExtractInt erlaabt Iech Attributer aus json ze extrahieren, dh den éischten Hit funktionnéiert. An dës Manéier kënnt Dir Transaktiouns-ID erauszéien oder ID besichen. Dës Kéier.

Zweetens gëtt hei e komplizéiert materialiséiert Feld benotzt. Wat heescht dat? Dëst bedeit datt Dir et net an d'Tabell kënnt setzen, dh et gëtt net agefouert, et gëtt berechent a gespäichert beim Asetzen. Beim Paste mécht ClickHouse d'Aarbecht fir Iech. A wat Dir méi spéit braucht ass scho vum json erausgezunn.

An dësem Fall ass materialiséierter Vue fir Matière Reihen. An den éischten Dësch mat praktesch rau Logbicher gëtt just benotzt. A wat mécht hien? Als éischt ännert et d'Sortéierung, dh d'Sortéierung geet elo duerch Visite-ID, well mir musse séier seng Transaktioun fir eng spezifesch Persoun erauszéien.

Déi zweet wichteg Saach ass index_granularity. Wann Dir MergeTree gesinn hutt, ass et normalerweis 8 par défaut index_granularity. Wat ass et? Dëst ass den Index Sparseness Parameter. Am ClickHouse ass den Index schaarf, et indexéiert ni all Entrée. Et mécht dat all 192 8. An dat ass gutt wann vill Donnéeën berechent musse ginn, awer schlecht wann e bëssen, well et e groussen Overhead ass. A wa mir d'Indexgranularitéit reduzéieren, da reduzéieren mir den Overhead. Et kann net zu engem reduzéiert ginn, well et vläicht net genuch Erënnerung ginn. Den Index gëtt ëmmer an der Erënnerung gespäichert.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Snapshot benotzt och e puer aner interessant ClickHouse Features.

Als éischt ass et AggregatingMergeTree. An AggregatingMergeTree späichert argMax, dh dat ass den Zoustand vun der Transaktioun entsprécht dem leschten Zäitstempel. Transaktioune ginn déi ganzen Zäit fir e bestëmmte Besucher generéiert. An am allerleschte Staat vun dëser Transaktioun hu mir en Event bäigefüügt a mir hunn en neie Staat. Et huet ClickHouse erëm geschloen. An duerch argMax an dëser materialiséierter Vue kënne mir ëmmer den aktuellen Zoustand kréien.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • D'Verbindung ass vun der Runtime "entkoppelt".
  • Bis zu 3 Milliarde Transaktioune pro Mount ginn gespäichert a veraarbecht. Dëst ass eng Uerdnung vun der Gréisst méi wéi et an der Cassandra war, dh an engem typesche Transaktiounssystem.
  • Cluster vun 2x5 ClickHouse Serveren. 5 Serveren an all Server huet eng Replika. Dëst ass nach manner wéi et an der Cassandra war fir Klickbaséiert Attributioun ze maachen, an hei hu mir Impressioun baséiert. Dat ass, amplaz d'Zuel vun de Serveren ëm 30 Mol ze erhéijen, hu se et fäerdeg bruecht se ze reduzéieren.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An dat lescht Beispill ass d'Finanzfirma Y, déi d'Korrelatioune vun den Aktienpräisser analyséiert huet.

An d'Aufgab war:

  • Et gi ronn 5 Aktien.
  • Zitater all 100 Millisekonnen sinn bekannt.
  • D'Donnéeën goufen iwwer 10 Joer gesammelt. Anscheinend, fir e puer Firmen méi, fir e puer manner.
  • Et gi ongeféier 100 Milliarde Reihen am Ganzen.

An et war néideg d'Korrelatioun vun Ännerungen ze berechnen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Hei sinn zwee Aktien an hir Zitater. Wann een eropgeet an deen aneren eropgeet, dann ass dat eng positiv Korrelatioun, dat heescht dat eent geet erop an deen aneren geet erop. Wann een erop geet, wéi um Enn vun der Grafik, an deen aneren erof geet, dann ass dat eng negativ Korrelatioun, dat heescht wann een eropgeet, da fällt deen aneren.

Wann Dir dës géigesäiteg Ännerungen analyséiert, kann ee Prognosen am Finanzmaart maachen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Awer d'Aufgab ass schwéier. Wat gëtt dofir gemaach? Mir hunn 100 Milliarde Rekorder déi hunn: Zäit, Aktie a Präis. Mir mussen déi éischt 100 Milliarde Mol de lafenDifferenz vum Präisalgorithmus berechnen. RunningDifference ass eng Funktioun am ClickHouse déi sequenziell den Ënnerscheed tëscht zwee Saiten berechent.

An duerno musst Dir d'Korrelatioun berechnen, an d'Korrelatioun muss fir all Paar berechent ginn. Fir 5 Aktien, Pairen sinn 000 Milliounen. An dat ass vill, dh 12,5 Mol ass et néideg just esou eng Korrelatioun Funktioun ze berechnen.

A wann een et vergiess huet, dann ass ͞x an ͞y e Scheckmatt. Prouf Erwaardung. Dat ass, et ass néideg net nëmmen d'Wuerzelen an Zommen ze berechnen, awer och nach eng Zomme bannent dësen Zommen. Eng Rëtsch Berechnunge musse 12,5 Millioune mol gemaach ginn, a souguer no Stonnen gruppéiert ginn. Mir hunn och vill Stonnen. An Dir musst et an 60 Sekonnen maachen. Et ass e Witz.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Et war néideg op d'mannst iergendwéi Zäit ze hunn, well dat alles huet ganz, ganz lues geschafft ier ClickHouse koum.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Si hu probéiert et op Hadoop, um Spark, op Greenplum ze berechnen. An dat alles war ganz lues oder deier. Dat ass, et war méiglech iergendwéi ze berechnen, awer dann war et deier.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

An dunn koum ClickHouse an et ass vill besser ginn.

Ech erënneren Iech, datt mir e Problem mat daten Uertschaft hunn, well Korrelatiounen kënnen net lokaliséiert ginn. Mir kënnen e puer vun den Donnéeën net op engem Server setzen, e puer op engem aneren a berechnen, mir mussen all d'Donnéeën iwwerall hunn.

Wat hunn se gemaach? Am Ufank sinn d'Donnéeën lokaliséiert. All Server späichert Daten iwwer d'Präisser vun engem bestëmmte Set vun Aktien. A si iwwerlappen net. Dofir ass et méiglech de LogReturn parallel an onofhängeg ze berechnen, all dat geschitt bis elo parallel a verdeelt.

Dunn hu mir décidéiert dës Donnéeën ze reduzéieren, ouni d'Expressivitéit ze verléieren. Reduzéieren mat Arrays, dh fir all Zäitperiod, eng Array vun Aktien an eng Array vu Präisser maachen. Dofir hëlt et vill manner Dateraum op. A si sinn e bësse méi einfach mat ze schaffen. Dëst si bal parallel Operatiounen, dh mir liesen deelweis parallel an schreiwen dann op de Server.

Duerno kann et replizéiert ginn. De Bréif "r" bedeit datt mir dës Donnéeën replizéiert hunn. Dat ass, mir hunn déiselwecht Daten op allen dräi Serveren - dat sinn d'Arrays.

An dann mat engem spezielle Skript aus dësem Set vun 12,5 Millioune Korrelatiounen, déi berechent musse ginn, kënnt Dir Pakete maachen. Dat ass, 2 Aufgaben mat 500 Puer Korrelatiounen. An dës Aufgab soll op engem spezifesche ClickHouse Server berechent ginn. Hien huet all d'Donnéeën, well d'Donnéeën déiselwecht sinn an hie kann se sequentiell berechnen.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Nach eng Kéier, esou gesäit et aus. Als éischt hu mir all d'Donnéeën an dëser Struktur: Zäit, Aktien, Präis. Da berechent mir logReturn, dh Daten vun der selwechter Struktur, mä amplaz vum Präis hu mir schonn LogReturn. Duerno goufen se nei gemaach, dh mir hunn d'Zäit a groupArray fir Aktien a Präisser kritt. Replizéiert. An duerno hu mir eng Rëtsch Aufgaben generéiert an se op ClickHouse gefüttert fir datt se se zielen. An et funktionnéiert.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

Op Beweis vum Konzept war d'Aufgab eng Ënnertask, dh manner Daten goufen geholl. An nëmmen dräi Serveren.

Dës éischt zwou Etappe: d'Berechnung vu Log_return an d'Verpakung an Arrays huet ongeféier eng Stonn gedauert.

An d'Berechnung vun der Korrelatioun ass ongeféier 50 Stonnen. Mee 50 Stonnen geet net duer, well se fréier Woche geschafft hunn. Et war e grousse Succès. A wann Dir zielt, da gouf 70 Mol pro Sekonn alles op dësem Stärekoup gezielt.

Awer déi wichtegst Saach ass datt dëse System praktesch ouni Flaschenhals ass, dh et skaléiert bal linear. A si hunn et iwwerpréift. Erfollegräich et opgebaut.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

  • De richtege Schema ass d'Halschent vun der Schluecht. An déi richteg Schema ass d'Benotzung vun all néideg ClickHouse Technologien.
  • Summing / AggregatingMergeTrees sinn Technologien déi Iech erlaben e Staatssnapshot als e spezielle Fall ze aggregéieren oder ze betruechten. An et vereinfacht vill Saachen immens.
  • Materialiséiert Meenungen erlaben Iech déi eenzeg Indexlimit ze ëmgoen. Vläicht hunn ech et net ganz kloer gesot, awer wa mir d'Logbicher gelueden hunn, waren déi rau Logbicher an der Tabell mat engem Index, an d'Attribut-Logbicher waren an der Tabell, dat heescht déiselwecht Daten, nëmme gefiltert, awer den Index war komplett anerer. Et schéngt déiselwecht Donnéeën ze sinn, awer eng aner Sortéierung. A Materialized Views erlaabt Iech, wann Dir et braucht, sou eng ClickHouse-Limitatioun ëmzegoen.
  • Reduzéieren Indexgranularitéit fir Punktufroen.
  • A verdeelt d'Donnéeën intelligent, probéiert d'Donnéeën am Server sou vill wéi méiglech ze lokaliséieren. A probéiert dofir ze suergen datt Ufroen och d'Lokalisatioun benotzen, wa méiglech sou vill wéi méiglech.

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

A resuméiert dës kuerz Ried, kënne mir soen datt ClickHouse elo fest den Territoire vu kommerziellen Datenbanken an Open Source Datenbanken besat huet, dh speziell fir Analyse. Hie passt perfekt an dës Landschaft. A wat méi ass, et fänkt lues a lues anerer aus, well wann Dir ClickHouse hutt, brauch Dir InfiniDB net. Vertika kann net geschwënn gebraucht ginn wa se normal SQL Ënnerstëtzung maachen. Genéisst!

Theorie a Praxis fir ClickHouse an realen Uwendungen ze benotzen. Alexander Zaitsev (2018)

-Merci fir de Bericht! Ganz interessant! Ginn et Vergläicher mat Apache Phoenix?

Neen, ech hunn nach kee vergläicht héieren. Mir an Yandex probéieren all ClickHouse Vergläicher mat verschiddenen Datenbanken ze halen. Well wann op eemol eppes méi séier ass wéi ClickHouse, da kann d'Lesha Milovidov net an der Nuecht schlofen a fänkt séier un ze beschleunegen. Ech hunn net vun esou engem Verglach héieren.

  • (Aleksey Milovidov) Apache Phoenix ass e SQL-Motor ugedriwwen vun Hbase. Hbase ass haaptsächlech fir Schlëssel-Wäert Aarbecht Szenario. Do, an all Zeil, kann et eng arbiträr Zuel vu Kolonnen mat arbiträr Nimm ginn. Dëst kann iwwer esou Systemer wéi Hbase, Cassandra gesot ginn. An et si präzis schwéier analytesch Ufroen déi fir si normalerweis net funktionnéieren. Oder Dir mengt vläicht datt se gutt funktionnéieren wann Dir keng Erfahrung mat ClickHouse hutt.

  • Spass

    • Gudde Mëtteg Ech sinn scho ganz interesséiert fir dëst Thema, well ech en analyteschen Subsystem hunn. Awer wann ech ClickHouse kucken, kréien ech d'Gefill datt ClickHouse ganz gutt ass fir Eventanalyse, mutéierbar. A wann ech vill Geschäftsdaten mat enger Rëtsch grouss Dëscher analyséiere muss, dann ass ClickHouse, souwäit ech verstinn, net ganz gëeegent fir mech? Besonnesch wann se änneren. Ass dat richteg oder ginn et Beispiller déi dat widderleeë kënnen?

    • Dëst ass richteg. An dat gëllt fir déi meescht spezialiséiert analytesch Datenbanken. Si sinn fir d'Tatsaach ugepasst, datt et een oder méi grouss Dëscher sinn, datt mutable sinn, a fir vill kleng déi lues änneren. Dat ass, ClickHouse ass net wéi Oracle, wou Dir alles kënnt setzen an e puer ganz komplex Ufroen bauen. Fir ClickHouse effektiv ze benotzen, musst Dir e Schema bauen op eng Manéier déi gutt am ClickHouse funktionnéiert. Dat ass, exzessiv Normaliséierung vermeiden, Dictionnairen benotzen, probéiert manner laang Linken ze maachen. A wann de Schema op dës Manéier gebaut ass, da kënnen ähnlech Geschäftsaufgaben op ClickHouse vill méi effizient geléist ginn wéi op enger traditioneller relationaler Datebank.

Merci fir de Bericht! Ech hunn eng Fro iwwer déi lescht finanziell Fall. Si haten Analyse. Et war néideg ze vergläichen wéi se erop an erof goen. An ech verstinn datt Dir de System speziell fir dës Analyse gebaut hutt? Wa muer, zum Beispill, e puer aner Bericht iwwer dës Donnéeën brauchen, musse se de Schema nei opbauen an d'Donnéeën eroplueden? Dat ass, eng Aart vu Virveraarbechtung ze maachen fir d'Ufro ze kréien?

Natierlech ass dëst d'Benotzung vu ClickHouse fir eng ganz spezifesch Aufgab. Et kéint méi traditionell bannent Hadoop geléist ginn. Fir Hadoop ass dëst eng ideal Aufgab. Awer op Hadoop ass et ganz lues. A mäin Zil ass et ze weisen datt ClickHouse Aufgaben léise kann, déi normalerweis mat ganz anere Mëttelen geléist ginn, awer gläichzäiteg vill méi effizient maachen. Et ass fir eng spezifesch Aufgab ugepasst. Et ass kloer datt wann et e Problem mat eppes ähnleches ass, da kann et op eng ähnlech Manéier geléist ginn.

Et ass kloer. Dir sot, datt 50 Stonnen veraarbecht goufen. Ass et vun Ufank un, wéini hutt Dir d'Donnéeë gelueden oder d'Resultater kritt?

Jo Jo.

OK villmools Merci.

Dëst ass op engem 3 Servercluster.

Gréiss! Merci fir de Bericht! Alles ass ganz interessant. Ech wäert net e bëssen iwwer d'Funktionalitéit froen, mee iwwer d'Benotzung vu ClickHouse a punkto Stabilitéit. Dat ass, hutt Dir eng, musst Dir restauréieren? Wéi verhält sech ClickHouse an dësem Fall? An ass et geschitt, datt Dir och eng Replik hat? Zum Beispill hu mir e Problem mat ClickHouse begéint wann et nach ëmmer aus senger Limit erauskënnt a fällt.

Natierlech ginn et keng ideal Systemer. A ClickHouse huet och seng eege Problemer. Awer hutt Dir iwwer Yandex héieren.Metrica funktionnéiert net laang? Wahrscheinlech net. Et schafft zouverlässeg zënter 2012-2013 op ClickHouse. Ech kann datselwecht iwwer meng Erfahrung soen. Mir hunn ni komplett Feeler haten. E puer deelweis Saache kéinte geschéien, awer si waren ni kritesch genuch fir d'Geschäft eescht ze beaflossen. Et ass ni geschitt. ClickHouse ass zimmlech zouverlässeg a crasht net zoufälleg. Dir musst Iech keng Suergen doriwwer maachen. Et ass keng raw Saach. Dëst gouf vu ville Firmen bewisen.

Hallo! Dir sot, Dir musst direkt iwwer d'Dateschema denken. Wat wann et geschitt ass? Meng Donnéeën schenken a schloen. Sechs Méint passéieren, an ech verstinn datt et onméiglech ass sou ze liewen, ech muss d'Donnéeën nei eroplueden an eppes mat hinnen maachen.

Dëst hänkt natierlech vun Ärem System of. Et gi verschidde Weeër fir dëst ze maachen mat quasi ouni Stopp. Zum Beispill kënnt Dir eng Materialiséierter Vue erstellen an där Dir eng aner Datestruktur maache kënnt wann et eenzegaarteg ka kartéiert ginn. Dat ass, wann et d'Mapping mat ClickHouse erlaabt, dh e puer Saachen extrahéieren, de primäre Schlëssel änneren, d'Partitionéierung änneren, da kënnt Dir eng Materialiséierter Vue maachen. Iwwerschreiwe Är al Donnéeën do, nei ginn automatesch geschriwwe. An da schalt just op d'Materialiséierter Vue ze benotzen, schalt dann de Rekord an ëmbréngt den alen Dësch. Dëst ass allgemeng eng non-stop Method.

Spass.

Source: will.com

Setzt e Commentaire