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 .
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:
- a felhasználó számára elérhető jelentések listájának előzetes rögzítésének szükségessége (tetszőleges jelentés készítésének lehetőségének hiánya);
- a nagyszámú kulccsal vagy nagyszámú kulcsokkal (például URL ) történő előzetes összesítés az ellenkező hatáshoz (adatmennyiség növeléséhez) vezethet;
- A logikai integritás fenntartása nagyszámú különböző aggregáció tárolásakor nehéz.
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 , , Carto, Lifestreet, Infinidat [33] [34] , SemRush [35] stb.
Jegyzetek
- ↑ https://habr.com/ru/company/yandex/blog/303282/ - 2016.
- ↑ https://github.com/ClickHouse/ClickHouse/releases/tag/v22.3.2.2-lts – 2022.
- ↑ https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE
- ↑ Yandex ClickHouse. Gyorsabban sehol. / Filippov Oleg // Rendszergazda. - 2017. - 1-2. - S. 56-58.
- ↑ ClickHouse a statisztikai gyűjtőrendszerekben / Alexander Kalendarev // Rendszergazda. - 2017. - 3. sz. - S. 56-59.
- ↑ ClickHouse – Nemzeti Könyvtár. N. E. Bauman . en.bmstu.wiki. Letöltve: 2018. augusztus 20. Az eredetiből archiválva : 2018. augusztus 20. (Orosz)
- ↑ 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.
- ↑ A ClickHouse elérése JDBC-vel (orosz) . Az eredetiből archiválva : 2018. augusztus 19. Letöltve: 2018. augusztus 19.
- ↑ 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..
- ↑ 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.
- ↑ ClickHouse vs Amazon RedShift Benchmark . www.altinity.com. Letöltve: 2018. augusztus 17. Az eredetiből archiválva : 2018. augusztus 17.
- ↑ SREcon18 Americas – DNS figyelése nyílt forráskódú megoldásokkal a YouTube -on , 8:50-től
- ↑ InfiniDB vs ClickHouse (kínai) . www.verynull.com (2016. augusztus 22.). Letöltve: 2018. augusztus 17. (nem elérhető link)
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.. (határozatlan)
- ↑ 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.
- ↑ 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.. (határozatlan)
- ↑ 1 2 A Yandex megnyitja a ClickHouse-t . Az eredetiből archiválva : 2016. október 21. Letöltve: 2016. október 20.
- ↑ 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.. (határozatlan)
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ ClickHouse Meetup Párizsban . Altinitás. Letöltve: 2018. október 8. Az eredetiből archiválva : 2018. október 8..
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ „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