Clickhouse

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. április 24-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
clickhouse
Típusú adatbázis-kezelő rendszer , oszlopos tárolás és nyílt forráskódú szoftver
Fejlesztő Yandex
Beírva C++
Operációs rendszer GNU/Linux
Első kiadás 2016. június 15. [1]
legújabb verzió
Engedély Apache licenc [3]
Weboldal clickhouse.com

A ClickHouse egy nyílt forráskódú  oszlop alapú analitikus DBMS , amely lehetővé teszi valós idejű analitikai lekérdezések végrehajtását strukturált big data -on , amelyet a Yandex fejlesztett ki [4] [5] [6] .

A ClickHouse a saját SQL dialektusát használja, amely közel áll a szabványhoz, de különféle kiterjesztéseket tartalmaz: tömbök és beágyazott adatstruktúrák, magasabb rendű függvények, valószínűségi struktúrák, URI -kkal való munkavégzésre szolgáló függvények, külső kulcsérték tárolókkal való munkaképesség ("szótárak" "), speciális összesítő függvények, mintavételi funkciók , közelítő számítások, tárolt nézetek létrehozásának képessége összesítéssel, táblázat feltöltése Apache Kafka üzenetfolyamból stb.

Vannak azonban korlátozások is - nincs tranzakció , nincs azonnali UPDATE / DELETE (kötegelt UPDATE / DELETE 2018 júniusában került bevezetésre), korlátozott támogatás a JOIN szintaxishoz, szigorú típusok, amelyek kifejezett öntést igényelnek, egyes műveletekhez köztes adatoknak kell lenniük. RAM-ba helyezhető, ablakfunkciók hiánya, teljes értékű lekérdezés-optimalizáló hiánya, pontolvasás, korlátozások jelenléte a ClickHouse Yandexben való használatának sajátosságaihoz kapcsolódó egyes funkciók megvalósításában stb.

A rendszer merevlemezeken való adattárolásra van optimalizálva (kihasználják a lineáris olvasás, adattömörítés előnyeit). A hibatűrés és a méretezhetőség biztosítása érdekében a ClickHouse egy klaszteren telepíthető ( a replikációs folyamat koordinálására az Apache ZooKeeper szolgál ) [7] . Az adatbázissal való együttműködéshez van egy konzolkliens, egy webkliens, egy HTTP -felület, ODBC- és JDBC - illesztőprogramok [8] , valamint kész könyvtárak számos népszerű programozási nyelvvel és könyvtárral [9] való integrációhoz .

A ClickHouse számos tesztben nagyon magas teljesítményt mutat, olyan versenytársakat felülmúlva ebben, mint a Greenplum , Vertica [10] , Amazon Redshift [11] , Druid [12] , InfiniDB /MariaDB ColumnStore [13] , Apache Spark [14] [15 ] indikátor ] , Presto , Elasticsearch [16] .

Történelem

 A ClickHouse-t a világ harmadik legnépszerűbb webelemző rendszerének, a Yandex.Metricának a webelemzési feladatainak megoldására fejlesztették ki [17] .

Kezdetben a Yandex.Metrica előre összesített adatokat használt a jelentések elkészítéséhez [18] .

Ez a megközelítés lehetővé tette a tárolt adatok méretének csökkentését, de számos korlátja és hátránya volt:

Alternatív megoldás a "nyers" nem összesített adatok tárolása, a felhasználó kérésének időpontjában minden szükséges számítás elvégzése. Ehhez egy olyan DBMS -re volt szükség , amely a nem összesített Yandex.Metrica adatokat (petabájtnyi adatot) képes nagyon nagy hatékonysággal és valós időben feldolgozni, ugyanakkor elfogadható költséggel. Mivel abban az időben nem voltak ilyen megoldások a piacon, a Yandex elkezdte saját DBMS -ét fejleszteni .

Az első ClickHouse prototípus 2009-ben jelent meg [19] . 2014 végére megjelent a Metrica 2.0, amelyet a ClickHouse hajtott végre, amely lehetővé tette a felhasználók számára, hogy egyéni jelentéseket készítsenek.

2016 júniusában a rendszer forráskódja nyílt forráskódú , Apache 2.0 licenc alatt [20] .

Elosztás

2016-ban a Yandex.Metrica mellett a ClickHouse-t számos különböző projektben használták a Yandexen belül , például a nyílt forráskódú Yandex.Tank projektben a telemetriai adatok tárolására [20] , a Yandex.Market pedig a számítógép állapotának figyelésére. a szolgáltatás [21] , illetve külső projektekben például a CERN -i LHCb kísérlet [22] eseményeinek metaadatainak elemzésére (egymilliárd esemény és eseményenként 1000 paraméter nagyságrendjében).

Jelenleg sok cég használja sikeresen a ClickHouse-t, többek között: Cloudflare , Bloomberg [23] , VKontakte [24] , Rambler [25] , Tinkoff Bank [26] , NIC Labs Chile [27] , Amadeus [28] , Avito. ru [29 ] ] , Criteo , ContentSquare [30] , Media2 [31] , ivi.ru [32] , Mail.ru , Adtelligent , Carto, Lifestreet, Infinidat [33] [34] , SemRush [35] stb.

Jegyzetek

  1. https://habr.com/ru/company/yandex/blog/303282/ - 2016.
  2. https://github.com/ClickHouse/ClickHouse/releases/tag/v22.3.2.2-lts – 2022.
  3. https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE
  4. Yandex ClickHouse. Gyorsabban sehol. / Filippov Oleg // Rendszergazda. - 2017. - 1-2. - S. 56-58.
  5. ClickHouse a statisztikai gyűjtőrendszerekben / Alexander Kalendarev // Rendszergazda. - 2017. - 3. sz. - S. 56-59.
  6. ClickHouse – Nemzeti Könyvtár. N. E. Bauman . en.bmstu.wiki. Letöltve: 2018. augusztus 20. Az eredetiből archiválva : 2018. augusztus 20.
  7. Afanasiev G.I., Belonogov I.B., Bulatova I.G., Tonoyan S.A. Klaszterek szervezése adatfeldolgozáshoz a YANDEX CLICKHOUSE DBMS-en és az elosztott alkalmazások elosztott koordinációs szolgáltatásán alapuló APACHE ZOOKEEPER  // Alley of Science. - 2018. - V. 3 , 1. sz . - S. 850-860 . — ISSN 2587-6244 . Az eredetiből archiválva : 2018. augusztus 20.
  8. A ClickHouse elérése JDBC-vel  (orosz) . Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.
  9. Interfészek  . _ Kattintson a Ház dokumentációjára . clickhouse.yandex. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 8..
  10. Az analitikai DBMS  teljesítményének összehasonlítása . clickhouse.yandex. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2016. október 20.
  11. ClickHouse vs Amazon RedShift  Benchmark . www.altinity.com. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
  12. SREcon18 Americas – DNS figyelése nyílt forráskódú megoldásokkal a YouTube -on , 8:50-től
  13. InfiniDB vs ClickHouse  (kínai) . www.verynull.com (2016. augusztus 22.). Letöltve: 2018. augusztus 17.  (nem elérhető link)
  14. Oszloptáradatbázis-benchmarkok: MariaDB ColumnStore vs. ClickHouse vs.  Apache Spark . www.percona.com (2017. március 15.). Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
  15. Egy pillantás a ClickHouse-ra: Új nyílt forráskódú oszlopos adatbázis – DZone  Database , dzone.com . Az eredetiből archiválva : 2018. augusztus 20. Letöltve: 2018. augusztus 20.
  16. Mark Litwintschik. Az 1,1 milliárd taxizás  összefoglalója . tech.marksblogg.com. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
  17. A webhelyek forgalmi elemző eszközeinek használati statisztikái és piaci részesedése, 2019. április . w3techs.com. Letöltve: 2019. április 18. Az eredetiből archiválva : 2014. január 21..
  18. ↑ A Yandex.Metrica (orosz) adatstruktúrák evolúciója  , Yandex Blog , habr.com (2015. december 17.). Az eredetiből archiválva : 2018. augusztus 17. Letöltve: 2018. augusztus 17.
  19. ClickHouse: Nagy teljesítményű elosztott DBMS az Analytics számára | Percona Live Amsterdam - Open Source Database Conference 2016 . www.percona.com. Letöltve: 2016. október 20. Az eredetiből archiválva : 2016. október 21..
  20. ↑ 1 2 A Yandex megnyitja a ClickHouse-t . Az eredetiből archiválva : 2016. október 21. Letöltve: 2016. október 20.
  21. Piac állapota: hogyan alakítjuk át a naplókat grafikonokká, Dmitrij Andrejev (Yandex) - Yandex események . events.yandex.ru. Letöltve: 2016. október 20. Az eredetiből archiválva : 2017. augusztus 30..
  22. A Yandex-Yandex elindítja az LHC-események keresőeszközét a CERN -ben, a Yandex . Az eredetiből archiválva: 2016. október 20. Letöltve: 2016. október 20.
  23. Alex Bocharov . HTTP Analytics másodpercenként 6 millió kéréshez a ClickHouse segítségével , The Cloudflare Blog  (2018. március 6.). Az eredetiből archiválva : 2018. augusztus 17. Letöltve: 2018. augusztus 17.
  24. Egy kicsit a VK  (orosz) kulisszák mögé , habr.com (2018. június 22.). Az eredetiből archiválva : 2018. augusztus 20. Letöltve: 2018. augusztus 20.
  25. Demyan Kudrjavcev . A ClickHouse API fejlesztése Ramblerhez / top 100  (orosz) , Rambler Group Blog , habr.com (2018. május 17.). Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.
  26. M. Belousov, D. Nyemcsin, G. Bezrukih, D. Pavlov . Analitikus memórián belüli adatbázisok összehasonlítása  (orosz) , IT's Tinkoff.ru Blog , Habr (2016. november 11.). Az eredetiből archiválva : 2018. augusztus 17. Letöltve: 2018. augusztus 17.
  27. Felipe Espinoza és Javier Bustos. DNS figyelése nyílt forráskódú megoldásokkal | USENIX  (angol) . SREcon18 Amerika . www.usenix.org (2018. március 29.). Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
  28. Az Amadeus Technologies elindítja a gépi tanuláson és stratégiai algoritmusokon alapuló befektetési és betekintési eszközt , Kodiak Data  (2018. március 27.). Archiválva az eredetiből 2018. augusztus 21-én. Letöltve: 2018. augusztus 21.
  29. Vlagyimir Kolobaev . A mutatók tárolása: hogyan váltottunk Graphite + Whisperről Graphite + ClickHouse -ra  (orosz) , Avito cég blogja , habr.com. Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.
  30. ClickHouse Meetup  Párizsban . Altinitás. Letöltve: 2018. október 8. Az eredetiből archiválva : 2018. október 8..
  31. Igor Stryhar . Hogyan indítsd el egyedül a ClickHouse-t és nyerd meg a jackpotot  (oroszul) , Az SMI2 cég blogja , habr.com (2016. november 7.). Az eredetiből archiválva : 2018. augusztus 18. Letöltve: 2018. augusztus 18.
  32. Andrej Konjajev . Hogyan írtuk át az etl-t az ivi-ben: Flink+Kafka+ClickHouse  (orosz) , ivi Online Cinema cég blogja , habr.com (2018. január 24.). Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.
  33. Alekszandr Zajcev . Ki és miért használja a ClickHouse  -t , Altinity (  2017. augusztus 10.). Az eredetiből archiválva : 2018. augusztus 17. Letöltve: 2018. augusztus 17.
  34. ClickHouse Meetup Berlinben  (angolul)  (a hivatkozás nem elérhető) . yandex.github.io. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
  35. „Néha bele kell nézni a Spark kódba”: Alekszandr Morozov (SEMrush) a Scala, a Spark és a ClickHouse  (orosz) használatáról , JUG.ru Group Blog , habr.ru (2017. október 30.). Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.

Linkek