ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Би танд Игорь Стрихарын 2017 оны тайлангийн хуулбарыг уншихыг санал болгож байна "ClickHouse - Табикс дахь визуал байдлаар хурдан бөгөөд тодорхой өгөгдөлд дүн шинжилгээ хийх."

Tabix төслийн ClickHouse-д зориулсан вэб интерфэйс.
Гол давуу талууд:

  • Нэмэлт програм суулгах шаардлагагүйгээр шууд хөтөч дээрээс ClickHouse-тэй ажиллах;
  • Синтакс тодруулсан асуулгын засварлагч;
  • Командуудыг автоматаар бөглөх;
  • Асуулгын гүйцэтгэлд график дүн шинжилгээ хийх хэрэгслүүд;
  • Сонгох өнгөний схемүүд.
    ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар


ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Би SMI2-ийн техникийн захирал. Бид мэдээ солилцох мэдээ нэгтгэгч юм. Бид түншүүдээсээ хүлээн авсан маш олон өгөгдлийг хадгалж, ClickHouse-д бүртгүүлдэг - секундэд 30 орчим хүсэлт.

Энэ нь дараах өгөгдөл юм:

  • Мэдээн дээр дарна уу.
  • Мэдээг нэгтгэгч дээр харуулна.
  • Манай сүлжээнд байгаа баннерууд.
  • Мөн бид Yandex.Metrica-тай төстэй үйл явдлуудыг өөрсдийн тоолуураас бүртгэдэг. Энэ бол бидний өөрсдийн бичил аналитик юм.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

ClickHouse-аас өмнө бид маш завгүй амьдралтай байсан. Бид энэ өгөгдлийг хаа нэгтээ хадгалж, ямар нэгэн байдлаар дүн шинжилгээ хийх гэж маш их зовж шаналж байсан.

ClickHouse-аас өмнөх амьдрал – infiniDB

Бидэнд байсан хамгийн эхний зүйл бол infiniDB байсан. Тэр бидэнтэй 4 жил амьдарсан. Бид үүнийг хэцүүхэн эхлүүлсэн.

  • Энэ нь бөөгнөрөл эсвэл хуваахыг дэмждэггүй. Анхдагч байдлаар хайрцагнаас ийм ухаалаг зүйл гарч ирдэггүй.
  • Тэр өгөгдөл ачаалахад бэрхшээлтэй байна. Зөвхөн CSV файлуудыг ачаалах боломжтой, зөвхөн тодорхой бус аргаар л тусгай консолын хэрэгсэл.
  • Өгөгдлийн сан нь нэг урсгалтай. Та уншиж эсвэл бичиж болно. Гэхдээ энэ нь их хэмжээний өгөгдлийг боловсруулах боломжтой болсон.
  • Тэр бас сонирхолтой таягтай байсан. Орой бүр серверийг дахин ачаалах шаардлагатай байсан, тэгэхгүй бол ажиллахгүй.

Тэр 2016 оныг дуустал манайд ажилласан ба бид ClickHouse руу бүрэн шилжсэн.

ClickHouse-аас өмнөх амьдрал - Кассандра

InfiniDB нь дан урсгалтай байсан тул бид нэгэн зэрэг олон хэлхээ бичих боломжтой олон урсгалтай мэдээллийн сан хэрэгтэй гэж шийдсэн.

Бид маш олон сонирхолтой зүйлийг туршиж үзсэн. Дараа нь бид Кассандраг туршиж үзэхээр шийдсэн. Кассандратай бүх зүйл сайхан байсан. Нэг тендерт секундэд 10 хүсэлт. Хаа нэгтээ унших 000 хүсэлт.

Гэхдээ тэр бас өөрийн гэсэн сонирхолтой байсан. Сард нэг удаа эсвэл хоёр сард нэг удаа тэрээр мэдээллийн баазын синхрончлолыг мэдэрсэн. Тэгээд би сэрээд Кассандраг засахаар гүйх хэрэгтэй болсон. Серверүүдийг нэг нэгээр нь дахин эхлүүлэв. Тэгээд бүх зүйл жигд, үзэсгэлэнтэй болсон.

ClickHouse-аас өмнөх амьдрал – Друид

Дараа нь бид илүү их өгөгдөл бичих хэрэгтэй гэдгийг ойлгосон. 2016 онд бид Druid-г үзэж эхэлсэн.

Druid бол Java хэл дээр бичигдсэн нээлттэй эхийн програм хангамж юм. Маш тодорхой. Энэ нь ямар нэгэн үйл явдлын урсгалыг хадгалах, дараа нь тэдгээрийг нэгтгэх эсвэл аналитик тайлан гаргах шаардлагатай үед clickstream-д тохиромжтой байсан.

Druid 0.9.X хувилбартай байсан.

Өгөгдлийн сан нь өөрөө байршуулахад маш хэцүү байдаг. Энэ бол дэд бүтцийн нарийн төвөгтэй байдал юм. Үүнийг байрлуулахын тулд маш их төмөр суурилуулах шаардлагатай байв. Мөн тоног төхөөрөмж бүр өөрийн гэсэн үүргийг хариуцдаг байв.

Түүнд өгөгдөл оруулахын тулд ямар нэгэн бөө мөргөлийг ашиглах шаардлагатай байв. OpenSource төсөл байдаг - Tranquility, энэ нь урсгалаар биднээс өгөгдлийг алдаж байсан. Бид түүн рүү өгөгдөл оруулахад энэ нь алга болсон.

Гэтэл яаж ийгээд хэрэгжүүлж эхэлсэн. Хар тамхи хэрэглэсэн хэрнээ кактус идсээр байсан зараа шиг бид үүнийг нэвтрүүлж эхэлсэн. Үүнд зориулж бүх дэд бүтцийг нь бэлдэхэд сар орчим хугацаа зарцуулсан. Өөрөөр хэлбэл, серверүүдийг захиалж, үүргийг тохируулах, байршуулалтыг бүрэн автоматжуулах. Өөрөөр хэлбэл, кластер бүтэлгүйтсэн тохиолдолд хоёр дахь кластер автоматаар тавигдах болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Гэвч дараа нь гайхамшиг тохиолдов. Би амралттай байсан бөгөөд манай хамт олон надад линк илгээсэн хабр, энэ нь Yandex ClickHouse-ийг нээхээр шийдсэн гэж хэлдэг. Оролдоод үзье л гэж байна.

Тэгээд шууд утгаараа 2 хоногийн дотор бид ClickHouse тестийн кластерийг байрлуулсан. Бид үүнд өгөгдөл ачаалж эхэлсэн. InfiniDB-тэй харьцуулахад энэ нь энгийн, Druid-тай харьцуулахад энэ нь энгийн зүйл юм. Кассандратай харьцуулахад энэ нь бас энгийн зүйл юм. Учир нь хэрэв та PHP-ээс Кассандра руу өгөгдөл ачаалах юм бол энэ нь энгийн зүйл биш юм.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Бид юу авсан бэ? Хурдны гүйцэтгэл. Мэдээллийн хадгалалтын гүйцэтгэл. Өөрөөр хэлбэл, дискний зай бага ашиглагддаг. ClickHouse хурдан, бусад бүтээгдэхүүнтэй харьцуулахад маш хурдан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Yandex програмыг нээх үед ClickHouse-ийг OpenSource дээр нийтлэх үед зөвхөн консол үйлчлүүлэгч байсан. Манай SMI2 компанийн хувьд бид маш олон хүсэлт бичиж эхэлсэн тул вэб хөтөчөөс хуудас нээж, хүсэлт бичиж, үр дүнг нь авахын тулд вэбэд зориулсан уугуул клиент хийхээр шийдсэн. Консол дээр бичих нь хэцүү байдаг. Тэгээд бид анхны хувилбараа хийсэн.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Өнгөрсөн жилийн өвөл ойртох тусам ClickHouse-тэй ажиллах гуравдагч талын хэрэгслүүд гарч ирэв. Эдгээр нь дараахь хэрэгслүүд юм.

Би эдгээр хэрэгслүүдийн заримыг, өөрөөр хэлбэл миний ажиллаж байсан хэрэгслүүдийг авч үзэх болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Сайн хэрэгсэл, гэхдээ Druid-д зориулсан. Druid хэрэгжиж байх үед би SuperSet-ийг туршиж байсан. Би түүнд таалагдсан. Друидын хувьд энэ нь маш хурдан юм.

Энэ нь ClickHouse-д тохиромжгүй. Өөрөөр хэлбэл, энэ нь таарч, эхэлдэг, гэхдээ SELECT үйл явдал, GROUP BY үйл явдал гэх мэт энгийн асуултуудыг боловсруулахад бэлэн байна. Энэ нь илүү төвөгтэй ClickHouse синтаксийг дэмждэггүй.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн хэрэгсэл бол Apache Zeppelin юм. Энэ бол сайн бөгөөд сонирхолтой зүйл юм. Ажилладаг. Энэ нь дэвтэр, хяналтын самбар, хувьсагчдыг дэмждэг. ClickHouse нийгэмлэгийн хэн нэгэн үүнийг ашигладаг гэдгийг би мэднэ.

Гэхдээ ClickHouse синтаксыг дэмждэггүй, өөрөөр хэлбэл та консол эсвэл өөр газар асуулга бичих шаардлагатай болно. Дараа нь бүх зүйл ажиллаж байгаа эсэхийг шалгана уу. Энэ нь зүгээр л эвгүй юм. Гэхдээ энэ нь хяналтын самбарын сайн дэмжлэгтэй.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн хэрэгсэл бол Redash.IO юм. Редаш нь интернетэд байрладаг. Энэ нь өмнөх хэрэгслүүдээс ялгаатай нь үүнийг суулгах шаардлагагүй юм. Энэ бол өөр өөр мэдээллийн эх сурвалжаас өгөгдлийг нэгтгэх чадвартай хяналтын самбар юм. Өөрөөр хэлбэл, та ClickHouse, MySQL, PostgreSQL болон бусад мэдээллийн сангаас татаж авах боломжтой.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Сарын өмнө (2017 оны XNUMX-р сар) дэмжлэг Grafana-д гарч ирэв. Жишээлбэл, та Grafana-д өөрийн техник хангамжийн төлөв байдал эсвэл зарим хэмжүүр дээр тайлан гаргахдаа одоо ClickHouse-ийн өгөгдлөөс ижил график эсвэл ямар нэгэн төрлийн самбарыг шууд үүсгэж болно. Энэ нь маш тохиромжтой бөгөөд бид үүнийг өөрсдөө ашигладаг. Энэ нь танд гажиг олох боломжийг олгодог. Өөрөөр хэлбэл, ямар нэг зүйл тохиолдож, зарим техник хангамж унасан эсвэл эвдэрсэн бол энэ өгөгдөл нь ClickHouse руу нэвтэрч чадсан эсэхийг шалгаж болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Эдгээр хэрэгслүүд эсвэл консол дээр бичих нь надад маш эвгүй санагдсан. Тэгээд би анхны интерфэйсээ сайжруулахаар шийдсэн. Би энэ санааг EventSQL, SeperSet, Zeppelin-ээс авсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та юу хүссэн бэ? Би график, сайжруулсан засварлагчийг авч, зөвлөгөө толь бичигт дэмжлэг үзүүлэхийг хүссэн. Учир нь ClickHouse нь толь бичгүүд гэсэн гайхалтай боломжуудтай. Гэхдээ толь бичгүүдтэй ажиллахад хэцүү байдаг, учир нь та хадгалагдсан утгуудын форматыг санах хэрэгтэй, өөрөөр хэлбэл энэ нь тоо эсвэл мөр юм уу гэх мэт. Мөн бид толь бичгүүдийг янз бүрийн хувилбараар нь ихэвчлэн ашигладаг тул асуулга бичихэд нэлээд хэцүү байсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Манай анхны хувилбар гарснаас хойш 3 сар өнгөрчээ. Би хувийн салбарт 330 орчим амлалт өгсөн бөгөөд энэ нь Табикс болсон.

ClickHouse-Frontend нэртэй өмнөх хувилбараас ялгаатай нь би үүнийг энгийн нэрээр өөрчлөхөөр шийдсэн. Тэгээд Табикс гарч ирэв.

Юу гарч ирэв?

График зурдаг. ClickHouse SQL синтаксийг дэмждэг. Функцийн талаар зөвлөгөө өгч, олон сонирхолтой зүйлийг хийж чадна.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Tabix-ийн ерөнхий схем иймэрхүү харагдаж байна. Зүүн талд нь мод байна. Төв хэсэгт асуулгын засварлагч байна. Мөн энэ хүсэлтийн үр дүнг доор харуулав.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараа нь би асуулга засварлагч хэрхэн ажилладагийг харуулах болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Энд автоматаар бөглөх нь хүснэгтэд автоматаар ажилладаг бөгөөд үүний дагуу талбаруудыг автоматаар бөглөх хүсэлтийг өгдөг. Мөн функцүүдийн талаархи зөвлөмжүүд. Хэрэв та ctrl enter товчийг дарвал хүсэлтийг гүйцэтгэх эсвэл алдаа гарах болно. Хамгийн энгийн хүсэлтийг Tabix руу илгээж, үр дүн нь гарна, өөрөөр хэлбэл та ClickHouse-тэй хурдан ажиллах боломжтой болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Миний хэлсэнчлэн толь бичиг бол бидний маш их ажилладаг маш сонирхолтой зүйл юм. Энэ нь бидэнд олон зүйлийг хийх боломжийг олгосон. Бид бүх хотыг толь бичигт хадгалдаг гэж бодъё. Бид хотын танигч, хотын нэр, түүний өргөрөг, уртрагыг хадгалдаг. Мөн мэдээллийн санд бид зөвхөн хотын танигчийг хадгалдаг. Үүний дагуу бид өгөгдлийг маш хүчтэй шахдаг.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Энэ нь энгийн зүйл мэт боловч ClickHouse-д маш сонирхолтой байдлаар тусалдаг. ClickHouse нь зөвхөн үүрлэсэн холболтыг дэмждэг тул асуулга доошоо ургаж, хангалттай өргөн болно. Мөн хаалт нээгдэж, урт илэрхийлэл гарч ирэх үед асуулгатай ажиллахад хялбар болгодог. Учир нь асуулга нь 200-300 мөр урт, маш том өргөнтэй үед хайлтыг нурааж, дараа нь ямар нэг газар олох эсвэл ямар нэгэн байдлаар нутагшуулах нь маш их тустай байдаг.

Объектын мод, олон асуулга, таб (Видео 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараа нь би танд мод, хавчааруудын талаар харуулах болно. Зүүн талд мод, дээр нь та хэд хэдэн таб үүсгэж болно. Таб нь ажлын талбартай адил юм. Та хэд хэдэн таб үүсгэж, тус бүрийг өөр өөрөөр нэрлэж болно. Энэ нь тайлан гаргах мини системтэй адил юм.

Цонхнууд автоматаар хадгалагдана. Хэрэв та хөтчөө дахин эхлүүлж эсвэл Tabix-г хааж эсвэл нээвэл энэ бүхэн хадгалагдах болно.

Халуун товч - тохиромжтой (Видео 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Халуун товчлуурууд байдаг бөгөөд тэдгээр нь нэлээд олон байдаг. Би тэдний заримыг жишээ болгон эндээс авсан. Энэ нь табуудыг солих, хүсэлтийг гүйцэтгэх эсвэл хэд хэдэн хүсэлтийг гүйцэтгэх явдал юм.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Үр дүнд нь хэрхэн ажиллахыг би танд үзүүлэх болно. Бид хүсэлт илгээдэг. Энд би sin, cos, tg зурж байна. Та үр дүнг тодруулж болно, өөрөөр хэлбэл баганын ердийн газрын зургийг зурж болно. Та эерэг эсвэл сөрөг утгыг онцолж болно. Эсвэл зүгээр л хүснэгтийн тодорхой элементийг өнгөөр ​​будна уу. Хүснэгт асар том байх үед энэ нь тохиромжтой бөгөөд та нүдээрээ ямар нэгэн гажиг олох хэрэгтэй. Би гажуудлыг хайж байхдаа зарим зураас, зарим элементүүдийг ногоон эсвэл улаан өнгөөр ​​тодруулсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Тэнд маш олон сонирхолтой зүйл байдаг. Жишээлбэл, Redmine Markdown руу хэрхэн хуулах талаар. Хэрэв та үр дүнг хаа нэгтээ хуулах шаардлагатай бол энэ нь маш тохиромжтой. Та зүгээр л нэг хэсгийг сонгоод "Redmine-д хуулах" гэж хэлснээр Redmine Markdown руу хуулах эсвэл хаана хайлт үүсгэх болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараа нь асуулгын оновчлол. Би нэг удаа "огноо" талбарыг зааж өгөхөө мартсан байна. ClickHouse дахь миний хүсэлтийг маш хурдан боловсруулаагүй, гэхдээ маш хурдан, өөрөөр хэлбэл нэг секундээс бага хугацаа зарцуулсан. Хэдэн мөр гүйж байгааг хараад би айж эхлэв. Бид өдөрт ийм олон мөр бичдэггүй. Би хүсэлтэд дүн шинжилгээ хийж эхэлсэн бөгөөд би нэг газар болзоонд хоцорсон байна. Өөрөөр хэлбэл, би бүхэл бүтэн хүснэгтэд өгөгдөл хэрэггүй, харин тодорхой хугацаанд хэрэгтэй гэдгийг хэлэхээ мартсан байна.

Tabix нь илгээсэн хүсэлтийн түүхийг бүхэлд нь хадгалдаг "Статистик" табтай, өөрөөр хэлбэл, та энэ хүсэлтийг хэдэн мөр уншсан, хэр удаан гүйцэтгэсэн болохыг харах боломжтой. Энэ нь оновчтой болгох боломжийг олгодог.

Та асуулгын үр дүн дээр пивот хүснэгт үүсгэж болно. Та ClickHouse руу хүсэлт илгээж, зарим мэдээлэл хүлээн авсан. Дараа нь та энэ өгөгдлийг хулганаараа зөөж, ямар нэгэн пивот хүснэгт үүсгэж болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн сонирхолтой зүйл бол хуйвалдаан юм. Бидэнд дараах хүсэлт байна гэж бодъё: нүгэл, cos 0-ээс 299 хүртэл. Мөн үүнийг зурахын тулд "Draw" табыг сонгох хэрэгтэй бөгөөд та өөрийн нүгэл болон cos-ийн графикийг авах болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та үүнийг өөр тэнхлэгт хувааж болно, өөрөөр хэлбэл та хоёр графикийг зэрэгцүүлэн зурж болно. Нэг тушаал, хоёр дахь команд бич.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та гистограм зурж болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та үүнийг график матриц болгон хувааж болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та дулааны зураглал хийж болно.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Та дулааны хуанли барьж болно. Дашрамд хэлэхэд, та нэг жилийн хугацаанд хэвийн бус байдлыг шинжлэх шаардлагатай бол энэ нь маш тохиромжтой зүйл юм. Энэ өгөгдлийн дүрслэл надад үүнд тусалсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийнх нь Treemap.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Sankeys бол сонирхолтой график юм. Тэр бол Streamgrahps эсвэл River юм. Гэхдээ би үүнийг гол гэж нэрлэдэг. Энэ нь танд ямар нэгэн гажиг хайх боломжийг олгодог. Энэ нь маш тухтай. Би үүнийг хайлтанд ашиглахыг зөвлөж байна.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн сонирхолтой зүйл бол динамик газрын зураг зурах явдал юм. Хэрэв та өргөрөг, уртрагыг мэдээллийн сандаа хадгалж, очих газраа хадгалдаг бол, жишээлбэл, ачааны машин эсвэл онгоц нисдэг бол та очих газрын замыг зурж болно. Мөн тэнд та эдгээр объектуудын нисэх хурд, хэмжээг тохируулах боломжтой.

Гэхдээ энэ газрын зургийн асуудал нь зөвхөн дэлхийн газрын зургийг зурдаг, нарийн ширийн зүйл байхгүй.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараа нь би Google газрын зургийг нэмсэн. Хэрэв та өргөрөг, уртрагыг хадгалдаг бол үр дүнг Google газрын зураг дээр зурж болно, гэхдээ онгоцны дэмжлэггүйгээр.

Бид Tabix-д үр дүн, асуулгатай ажиллах үндсэн функцүүдийн талаар ярилцсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийнх нь таны ClickHouse серверийн шинжилгээ юм. Тусдаа "Хэмжүүр" таб байдаг бөгөөд та багана бүрийн хадгалсан өгөгдлийн хэмжээг харах боломжтой. Дэлгэцийн зургаас харахад энэ "реферрер" талбар нь 730 Гб орчим эзэлдэг. Хэрэв бид энэ талбарыг орхих юм бол бид тус бүрдээ 700 ГБ хэмжээтэй гурван ширхэг, өөрөөр хэлбэл бидэнд хэрэггүй 2 ТБ-ыг хэмнэх болно.

Мөн бид мөрөнд хадгалдаг "request_id" талбартай. Гэхдээ бид үүнийг тоон хэлбэрээр хадгалж эхэлбэл энэ талбар асар их багасах болно.

Энэ нь мөн серверийн тохиргоо болон таны кластер дахь зангилааны жагсаалтыг харуулдаг.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн таб бол хэмжүүр юм. Тэд ClickHouse-тэй бодит цаг хугацаанд нэвтэрч, серверийн төлөв байдалд дүн шинжилгээ хийж, түүнд юу болж байгааг ойлгох боломжийг танд олгоно. Энэ нь бүрэн Grafana-г орлуулах зүйл биш юм. Энэ нь хурдан дүн шинжилгээ хийхэд зайлшгүй шаардлагатай.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Дараагийн таб нь процессууд юм. Тэдгээрээс та сервер дээр юу болж байгааг ойлгох боломжтой. Тэнд юу болоод байгааг ойлгоорой. Би унших бүрт 200 ГБ зарцуулдаг хүсэлт байсан. Энэ интерфейсийн ачаар би үүнийг харсан. Би түүнийг барьж аваад зассан. Энэ нь ойролцоогоор 30 ГБ, өөрөөр хэлбэл заримдаа гүйцэтгэлтэй байсан.

ClickHouse – Tabix дахь визуал байдлаар хурдан бөгөөд ойлгомжтой мэдээллийн дүн шинжилгээ. Игорь Стрихар

Баярлалаа! Мөн энэ нь OpenSource-д байдаг

Би дууссан. Дашрамд хэлэхэд энэ нь OpenSource бөгөөд үнэ төлбөргүй бөгөөд та үүнийг татаж авах шаардлагагүй. Үүнийг хөтөч дээр нээвэл бүх зүйл ажиллах болно.

Асуултууд

Игорь, дараа нь яах вэ? Та энэ хэрэгслийг хаана хөгжүүлэх вэ?

Дараа нь хяналтын самбарууд гарч ирэх болно, өөрөөр хэлбэл хяналтын самбарууд гарч ирэх болно. Бусад мэдээллийн сантай нэгтгэх. Би үүнийг хийсэн боловч OpenSource дээр хараахан нийтлээгүй байна. Энэ бол MySQL, магадгүй PostgreSQL юм. Өөрөөр хэлбэл, Tabix-аас зөвхөн ClickHouse руу төдийгүй бусад хэрэгслүүд рүү хүсэлт илгээх боломжтой болно.

Асар их ажил хийсэн нь ойлгомжтой. Энэ нь нэлээд бүрэн гүйцэд санаа болж хувирсан. Бүх төрлийн тэнхлэг дээрх таягуудыг арилгаж, бүх зүйлийг хурдан хаяхын тулд үүнийг хөтөч дээр хийсэн бололтой. Таныг байгаа гэж сонссон PHP ажиллах тул хөтөч дээр бичих нь хамгийн хялбар арга бөгөөд энэ нь хаа сайгүй ажиллах болно. Энэ талаар асуух зүйл алга. Асуулт нь ийм байна. Тэнд үнэхээр их зүйл хийсэн. Үүнд хэдэн хүн ажилласан бэ? Тэгээд энэ бүхэн хэр удаан үргэлжилсэн бэ? Учир нь захиалгат хэрэгслүүд нь ихэвчлэн тийм их ажиллагаатай байдаггүй.

Манай багийн нэг хүн зун намар хүртэл ажилласан. Энэ бол анхны хувилбар байсан. Дараа нь би ганцаараа 330 амлалт хийсэн. Таны харж байгаагаар манай хамт олон бид хоёр үүнийг хагас хийсэн. Эхний хувилбараас эхлээд сүүлчийнх хүртэл 3 сарын хугацаанд би ихэнхдээ ганцаараа хийсэн. Гэхдээ би Javascript сайн мэдэхгүй байна. Энэ бол миний хамтран ажилласан цорын ганц бөгөөд миний хамгийн сүүлийн Javascript төсөл байсан гэж найдаж байна. Би ойлголоо, би харлаа - өө, аймшиг. Гэхдээ би бүтээгдэхүүнээ дуусгахыг үнэхээр хүсч байсан бөгөөд ийм зүйл болсон.

Мэдээлэл өгсөнд маш их баярлалаа! Энэ бол гайхалтай хэрэгсэл юм. ХАМТ хүснэгт Та харьцуулж үзсэн үү?

Баярлалаа. Тийм учраас эхний үсэг нь адилхан болохоор Табикс гэж нэрлэсэн.

Та өрсөлддөг учраас?

Маш их хөрөнгө оруулалт орж ирнэ, бид өрсөлдөнө.

Энэ хэрэгслийг бүрэн орлуулах дотоод шинжээчдэд хэрхэн зарахыг санал болгож чадах вэ? *Хүснэгт*? Ямар маргаан гарах вэ?

ClickHouse-тэй хамт ажилладаг. Би Tableau-г туршиж үзсэн, гэхдээ та тэнд толь бичиг гэх мэт дэмжлэг бичиж чадахгүй. Хүмүүс Tabix-тэй хэрхэн ажилладагийг би мэднэ. Тэд асуулга бичиж, CSV-д байршуулж, BI-д байршуулдаг. Мөн тэд аль хэдийн тэнд ямар нэгэн зүйл хийж байна. Гэхдээ энэ нь график хэрэгсэл учраас тэд үүнийг яаж хийхийг төсөөлөхөд хэцүү байдаг. Энэ нь 5 мөр, хамгийн ихдээ 000 мөрийг буулгах боломжтой, гэхдээ үүнээс илүүгүй, эс тэгвээс хөтөч үүнийг даван туулахгүй.

Өөрөөр хэлбэл, өгөгдлийн хэмжээнд ноцтой хязгаарлалтууд байдаг, тийм үү?

Тиймээ. Таныг хүснэгтэд 10 мөрийг хөтчийнхөө дэлгэц дээр байршуулахыг хүсч байна гэж би төсөөлж ч чадахгүй байна. Юуны төлөө?

Энэ нь өгөгдлийг хурдан үзэх интерфэйс гэсэн үг үү? Жаахан мушгих уу, мушгих уу?

Тийм ээ, энэ нь хэрхэн ажилладагийг хурдан харж, зүгээр л хураангуй графикийг байгуул. Тэгээд хаа нэгтээ өгчих. Бид өөрсдийн тайлангийн системтэй бөгөөд би энэ хүсэлтийг эндээс авдаг. Би Tabix дээр зурж, манай сурвалжлага руу илгээдэг.

Бас өөр асуулт. Когортын шинжилгээ?

Хэрэв ямар нэгэн хүсэлт байвал бид нэмэх болно.

Та хэзээ дөнгөж хэрэглэж эхэлсэн бэ? ClickHouse, хэрэгжилт хэр удаан үргэлжилсэн бэ? clickhouse болон авчрах үйлдвэрлэлийн төлөв?

Дээр хэлсэнчлэн бид маш богино хугацаанд туршилтын кластер хэрэгжүүлсэн. Бид үүнийг хоёр өдрийн дотор байрлуулсан. Тэгээд бид үүнийг хэдэн долоо хоногийн турш туршиж үзсэн. Бид 3 сарын дотор үйлдвэрлэлд хүрсэн.Гэхдээ бид өөрсдийн гэсэн ETL буюу өгөгдөл бүртгэх хэрэгсэлтэй болсон. Тэгээд тэр чадах бүхнээ бичсэн. Тэр MongoDB, Cassandra, MySQL дээр бичиж чаддаг. Түүнд ClickHouse дээр хэрхэн бичихийг заах нь амархан байсан. Бид хурдан хэрэгжүүлэхэд бэлэн дэд бүтэцтэй байсан. 3 сарын дотор бид эхний бүрэлдэхүүн хэсгийг хаяж эхлэв. 6 сарын дотор бид бусад бүх зүйлийг бүрэн орхисон. Бидэнд ганцхан ClickHouse үлдлээ.

Игорь, тайланд маш их баярлалаа. Газрын зураг ашиглан зам барих функц надад үнэхээр таалагдсан. Yandex.Maps, ялангуяа Yandex.Maps-тай нэгтгэх төлөвлөгөө бий юу?

Би Google газрын зургийн оронд нэгтгэх гэж оролдсон боловч Yandex.Maps дээр харанхуй сэдэв олдсонгүй. Би чамд ганц ч юм хэлээгүй. Би нэмэхийн тулд ухраах болно.

Слайд - Google газрын зураг. Газрын зураг зурдаг "DRAW_GMAPS" гэсэн команд байдаг. "DRAW_YMAPS" гэсэн тушаал байдаг, өөрөөр хэлбэл Yandex.Map зурж болно. Гэвч үнэн хэрэгтээ энэ командын дор Javascript байдаг, өөрөөр хэлбэл ClickHouse-аас хүлээн авсан өгөгдлийг энд бичсэн Javascript руу шилжүүлэх боломжтой. Мөн та үүнийг зурах ёстой гаралтын хэсэгтэй. Та ямар ч график зурж болно, өөрөөр хэлбэл ямар ч график, газрын зураг, та өөрийн бүрэлдэхүүн хэсгийг зурж болно. Үүнээс өмнө надад график зурах өөр номын сан байсан.

Өөрөөр хэлбэл, дэлгэцийн функцийг тохируулах хэрэгсэл байдаг уу?

Ямар ч. Та эдгээр цэгүүдийг улаан биш, харин цэнхэр, ногоон өнгөтэй болгож, авч, өнгөөр ​​будаж болно.

Мэдээлэл өгсөнд баярлалаа! Танд асуулгын өөр хэрэгслүүдийг харуулсан слайд байсан clickhouse самбар болон аналитик тайланг бүтээхэд зориулагдсан. Чамайг хамтран ажиллаж эхлэх тэр мөчид би үүнийг ойлгож байна ClickHouse, эдгээр хэрэгслүүдэд адаптер бичээгүй байна. Та яагаад бэлэн хэрэгсэлд адаптер бичихийн оронд өөрөө багаж хийхээр шийдсэн юм бол гэж би гайхаж байна. Туршилтын засварлагчийг өөрчлөх нь хурдан гэж би бодож байна. Та яагаад ийм их ажил хийхээр шийдсэн бэ?

Энд нэг сонирхолтой зүйл байна - би мэдээлэл судлаач биш техникийн захирал. Биднийг Druid программыг хэрэгжүүлж эхлэхэд миний замын зурагт даалгавруудын 50 орчим хувь нь байсан - үүнийг тооцоолъё, эсвэл үүнийг тооцоолъё, эсвэл дүн шинжилгээ хийцгээе. Тэгээд бид ClickHouse-ийг хэрэгжүүлсэн нь тодорхой болсон. Тэгээд тэр бүх зүйлийг хурдан барьж, тоолж, замын зураглалыг хурдан хааж эхлэв. Тэр үед би Дата шинжлэх ухаан, өгөгдлийг дүрслэх чиглэлээр мэдлэг дутмаг байгаагаа ойлгосон. Tabix бол өгөгдлийн дүрслэлийг сурах миний гэрийн даалгавар юм. Би Zeppelin-ийг хэрхэн нөхөх талаар хайж байсан. Би түүний нэвтрүүлэгт бага зэрэг дургүй байдаг. Редаш Би үүнийг хэрхэн нэмэхийг харсан боловч энгийн засварлагч надад хангалттай байсан. Мөн SuperSet нь миний дургүй хэлээр бичигдсэн. Тэгээд би дугуй унахаар шийдсэн бөгөөд ийм зүйл болсон.

Игорь, чи татах хүсэлтийг хүлээн авдаг уу?

Тиймээ.

Мэдээлэл өгсөнд маш их баярлалаа! Мөн хоёр асуулт. Нэгдүгээрт, та энэ талаар тийм ч таатай ярьдаггүй Javascript. Та нүцгэн Javascript дээр бичсэн үү эсвэл энэ нь ямар нэгэн хүрээ мөн үү?*

Нүцгэн Javascript дээр илүү сайн.

Тэгэхээр ямар хүрээ вэ?

Өнцөг.

Энэ нь тодорхой байна. Мөн хоёр дахь асуулт. Та бодож үзсэн үү R и *Гялалзсан**?*

Үүнийг авч үзсэн. Тоглосон.

Та зүгээр л адаптер бичиж болно.

Тэр бол. Нийгэм үүнийг хийсэн юм шиг санагдаж байна, гэхдээ би өмнөх асуултанд хариулсан тул би өөрөө үүнийг туршиж үзэхийг хүссэн.

*Үгүй ээ, дүрслэлийн хувьд, энэ нь бас бий.

Та ийм зүйл байдаг гэж хэлээд график зурна. Би өгөгдлийн дүрслэлийн тухай ном нээсэн. Тэгээд би бодлоо: "Би энэ өгөгдлийг дүрслэн харуулахыг хичээе. Би түүнд захидал бичиж өгснөөр тэр өгөгдлийг сэргээнэ." Мөн би өгөгдөл нийлүүлэх технологийг илүү сайн ойлгож эхэлсэн. Хэрэв би бэлэн бүрэлдэхүүн хэсгийг авсан бол үүнийг хэрхэн ашиглах талаар, өөрөөр хэлбэл дүрслэлийг илүү муу сурах байсан. Гэхдээ тийм ээ, би R-д дуртай байсан ч “R for Dummies” номыг хараахан уншаагүй байна.

Баярлалаа!

Энгийн асуулт. Тэмдэглэгээ эсвэл хуваарийг хурдан байршуулах арга бий юу?

CSV эсвэл Excel-д байршуулах боломжтой.

Өгөгдөл биш, харин бэлэн хавтан, бэлэн график уу? Жишээлбэл, даргад үзүүлэх.

"Байршуулах" товчлуур байгаа бөгөөд "Png, jpg форматаар график байршуулах" товчлуур байна.

Баярлалаа!

PS Tabix суулгах мини заавар

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх