Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

ΠŸΡ€Π΅Π· послСднитС няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии (Time-series databases) ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…Π° ΠΎΡ‚ странно явлСниС (с ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ само Π² спСцифични систСми Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ (ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ), ΠΈΠ»ΠΈ Π² Big Data ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ) Π΄ΠΎ β€žΡ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚β€œ. На тСриторията Π½Π° Русия трябва Π΄Π° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π½Π° ЯндСкс ΠΈ ClickHouse Π·Π° Ρ‚ΠΎΠ²Π°. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π°ΠΊΠΎ Π²ΠΈ бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ голямо количСство Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии, сС налагашС ΠΈΠ»ΠΈ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠΈΡ€ΠΈΡ‚Π΅ с нСобходимостта Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ монструозСн Hadoop стСк ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅, ΠΈΠ»ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π·Π° всяка систСма.

МоТС Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ ΠΏΡ€Π΅Π· 2019 Π³ΠΎΠ΄ΠΈΠ½Π° статията Π·Π° Ρ‚ΠΎΠ²Π° коя TSDB Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‰Π΅ сС ΡΡŠΡΡ‚ΠΎΠΈ само ΠΎΡ‚ Π΅Π΄Π½ΠΎ ΠΈΠ·Ρ€Π΅Ρ‡Π΅Π½ΠΈΠ΅: β€žΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ClickHouseβ€œ. Но… ΠΈΠΌΠ° нюанси.

Наистина, ClickHouse Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π°, потрСбитСлската Π±Π°Π·Π° нараства, Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Π°, Π½ΠΎ Π½Π΅ станахмС Π»ΠΈ ΠΏΠ»Π΅Π½Π½ΠΈΡ†ΠΈ Π½Π° публичния успСх Π½Π° ClickHouse, ΠΊΠΎΠΉΡ‚ΠΎ засСнчи Π΄Ρ€ΡƒΠ³ΠΈ, вСроятно ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ/Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ?

Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΌΠΈΠ½Π°Π»Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° прСосмислямС собствСната си систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΏΡ€ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ сС стигна Π΄ΠΎ Π²ΡŠΠΏΡ€ΠΎΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° подходяща Π±Π°Π·Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Искам Π΄Π° Ρ€Π°Π·ΠΊΠ°ΠΆΠ° историята Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΈΠ·Π±ΠΎΡ€ Ρ‚ΡƒΠΊ.

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°

Най-Π½Π°ΠΏΡ€Π΅Π΄β€”Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ прСдисловиС. Π—Π°Ρ‰ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½ΠΈ Π΅ Π½ΡƒΠΆΠ½Π° собствСна систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΊΠ°ΠΊ бСшС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° тя?

Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΌΠ΅ услуги ΠΏΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΏΡ€Π΅Π· 2008 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π΄ΠΎ 2010 стана ясно, Ρ‡Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π° информация Π·Π° процСситС, ΠΊΠΎΠΈΡ‚ΠΎ сС случват Π² клиСнтската инфраструктура с Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ…Π° Ρ‚ΠΎΠ³Π°Π²Π° (Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π°, прости Π½ΠΈ, Cacti, Zabbix ΠΈ Π·Π°Ρ€ΠΎΠ΄ΠΈΡˆΠ½ΠΈΡ Graphite).

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ Π½ΠΈ изисквания бяха:

  • ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° (Ρ‚ΠΎΠ³Π°Π²Π° β€” дСсСтки, Π° Π² пСрспСктива β€” стотици) ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° систСма ΠΈ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° извСстията;
  • Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° систСмата Π·Π° извСстия (Сскалация Π½Π° извСстия ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅ΠΆΡƒΡ€Π½ΠΈ, ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° разписания, Π±Π°Π·Π° знания);
  • Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (Zabbix Ρ‚ΠΎΠ³Π°Π²Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΡˆΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ изобраТСния);
  • Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° голямо количСство Π΄Π°Π½Π½ΠΈ (Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅) ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π±ΡŠΡ€Π·ΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅.

Π’ Ρ‚Π°Π·ΠΈ статия Π½ΠΈ интСрСсува послСдният ΠΏΡƒΠ½ΠΊΡ‚.

Π“ΠΎΠ²ΠΎΡ€Π΅ΠΉΠΊΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, изискванията бяха слСднитС:

  • систСмата трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±ΡŠΡ€Π·ΠΎ;
  • ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π½ΠΎ Π΅ систСмата Π΄Π° ΠΈΠΌΠ° SQL интСрфСйс;
  • систСмата трябва Π΄Π° бъдС стабилна ΠΈ Π΄Π° ΠΈΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½Π° потрСбитСлска Π±Π°Π·Π° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (някога смС сС сблъсквали с нСобходимостта Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Ρ‚Π°ΠΊΠΈΠ²Π° систСми ΠΊΠ°Ρ‚ΠΎ MemcacheDB, която спря Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π°, ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ MooseFS, Ρ‡ΠΈΠΉΡ‚ΠΎ Π±Π°Π³Ρ‚Ρ€Π°ΠΊΡŠΡ€ бСшС Π½Π° китайски: Π½Π΅ искахмС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π·ΠΈ история Π·Π° нашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚);
  • спазванС Π½Π° CAP Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ°Ρ‚Π°: Consistency (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ) β€” Π΄Π°Π½Π½ΠΈΡ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ, Π½Π΅ искамС систСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° увСдомлСнията Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° изстрСлва Π°Π»Π°Ρ€ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ всички ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ; Partition Tolerance (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ) β€” Π½Π΅ искамС Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Split Brain систСма; Availability (Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Π² случай Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°) β€” ΠΌΠΎΠΆΠ΅ΠΌ сами Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Π°Ρ‚Π° систСма Π² случай Π½Π° авария, с ΠΊΠΎΠ΄.

ΠšΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° Π΅, Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ΄Π΅Π°Π»Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° нас сС ΠΎΠΊΠ°Π·Π° MySQL. ΠΠ°ΡˆΠ°Ρ‚Π° структура Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ бСшС ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ проста: id Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, id Π½Π° брояча, timestamp ΠΈ стойност; Π±ΡŠΡ€Π·ΠΎΡ‚ΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π³ΠΎΡ€Π΅Ρ‰ΠΈ Π΄Π°Π½Π½ΠΈ сС ΠΎΡΠΈΠ³ΡƒΡ€ΡΠ²Π°ΡˆΠ΅ ΠΎΡ‚ голям Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° buffer pool, Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° историчСски Π΄Π°Π½Π½ΠΈ β€” ΠΎΡ‚ SSD.

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ постигнахмС ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° свСТи Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ послСднитС Π΄Π²Π΅ сСдмици, с дСтайлност Π΄ΠΎ сСкунда Π·Π° 200 мс Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° пълно Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΈ ΠΆΠΈΠ²Π΅Π΅Ρ…ΠΌΠ΅ Π² Ρ‚Π°Π·ΠΈ систСма доста дълго.

ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ минавашС ΠΈ количСството Π΄Π°Π½Π½ΠΈ Π½Π°Ρ€Π°ΡΡ‚Π²Π°ΡˆΠ΅. Към 2016 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΠ±Π΅ΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ достигнаха дСсСтки Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π² условията Π½Π° Π½Π°Π΅ΠΌΠ°Π½ΠΈ SSD Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° бСшС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π°Π·Ρ…ΠΎΠ΄.

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ разпространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° мислим: Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠ²ΠΈΡ‚Π΅ Π‘Π” Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅, ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈ Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, лСсно ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ, Ρ‡Π΅ ΠΈΠΌΠ° голямо количСство Π΄ΡƒΠ±Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ, Π² случай Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠ²Π° Π‘Π”, Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ компрСсирани.

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π°Ρ‚Π° систСма Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° компанията ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΡˆΠ΅ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° стабилно ΠΈ Π½Π΅ искахмС Π΄Π° СкспСримСнтирамС с ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ.

ΠŸΡ€Π΅Π· 2017 Π³. Π½Π° конфСрСнцията Percona Live Π² Π‘Π°Π½ Π₯осС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Clickhouse Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ прСдставиха сСбС си. На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ систСмата бСшС Π³ΠΎΡ‚ΠΎΠ²Π° Π·Π° продукция (всС ΠΏΠ°ΠΊ, ЯндСкс.ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π΅ суров ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΡŠΠ½), ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° бСшС Π±ΡŠΡ€Π·Π° ΠΈ лСсна, ΠΈ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ, Сксплоатацията бСшС проста. ΠžΡ‚ 2018 Π³. Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ процСса Π½Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄. Но ΠΏΠΎ Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ имашС ΠΌΠ½ΠΎΠ³ΠΎ "Π²ΡŠΠ·Ρ€Π°ΡΡ‚Π½ΠΈ" ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΈ TSDB систСми, ΠΈ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π° Π΄Π° сравним Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈΡ‚Π΅ ΠΈ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ няма Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Clickhouse, отговарящи Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ изисквания.

Π’ допълнСниС към Π²Π΅Ρ‡Π΅ посочСнитС изисквания към Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ сС появиха Π½ΠΎΠ²ΠΈ:

  • Π½ΠΎΠ²Π°Ρ‚Π° систСма трябва Π΄Π° осигурява ΠΏΠΎΠ½Π΅ ΡΡŠΡ‰Π°Ρ‚Π° производитСлност ΠΊΠ°Ρ‚ΠΎ MySQL, Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ количСство Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€;
  • Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° систСма трябва Π΄Π° Π·Π°Π΅ΠΌΠ° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ място;
  • Π‘Π£Π‘Π” всС ΠΎΡ‰Π΅ трябва Π΄Π° бъдС лСсна Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅;
  • искахмС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° промСнямС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ смяна Π½Π° Π‘Π£Π‘Π”.

Кои систСми Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅

Apache Hive/Apache Impala
Π‘Ρ‚Π°Ρ€Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с Hadoop. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ SQL интСрфСйс, построСн Π²ΡŠΡ€Ρ…Ρƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² собствСни Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π½Π° HDFS.

ПлюсовС.

  • ΠŸΡ€ΠΈ стабилна Сксплоатация Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лСсно Π΄Π° сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅.
  • Има ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ (ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ място).
  • Много Π±ΡŠΡ€Π·ΠΎ изпълнСниС Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° рСсурси.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ.

  • Π’ΠΎΠ²Π° Π΅ Hadoop ΠΈ Π΅ слоТно Π·Π° Сксплоатация. Ако Π½Π΅ смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ° (Π° Π½ΠΈΠ΅ Π½Π΅ смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΏΠΎ Ρ†Π΅Π½Π°), цСлият стСк трябва Π΄Π° бъдС ΡΡŠΠ±Ρ€Π°Π½ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ ΠΎΡ‚ администраторитС, Π° Ρ‚ΠΎΠ²Π° Π½Π΅ Π½ΠΈ сС иска.
  • Π”Π°Π½Π½ΠΈΡ‚Π΅ сС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Ρ‚ дСйствитСлно Π±ΡŠΡ€Π·ΠΎ.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°:

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Бкоростта сС постига Ρ‡Ρ€Π΅Π· ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° броя Π½Π° изчислитСлнитС ΡΡŠΡ€Π²ΡŠΡ€ΠΈ. ΠŸΡ€ΠΎΡ‰Π΅ ΠΊΠ°Π·Π°Π½ΠΎ, Π°ΠΊΠΎ смС голяма компания, Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‰Π° сС с Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° ΠΈ Π½Π° бизнСса Π½ΠΈ Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ максимално Π±ΡŠΡ€Π·ΠΎ Π΄Π° Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°ΠΌΠ΅ информация (Π΄ΠΎΡ€ΠΈ ΠΈ Π·Π° смСтка Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° голямо количСство изчислитСлни рСсурси), Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΡˆΠΈΡΡ‚ ΠΈΠ·Π±ΠΎΡ€. Но Π½ΠΈΠ΅ Π½Π΅ бяхмС Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΠ°Ρ€ΠΊΠ° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ Π·Π° скоростта Π½Π° изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅.

Druid/Pinot

Π’Π΅Ρ‡Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ спСцифично Π·Π° TSDB, Π½ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ β€” стСк с Hadoop.

Има ΠžΡ‚Π»ΠΈΡ‡Π½Π° статия, сравняваща ΠΏΠ»ΡŽΡΠΎΠ²Π΅Ρ‚Π΅ ΠΈ минуситС Π½Π° Druid ΠΈ Pinot Π² сравнСниС с ClickHouse. .

Ако Π² няколко Π΄ΡƒΠΌΠΈ: Druid/Pinot ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΎΡ‚ Clickhouse Π² случаи, ΠΊΠΎΠ³Π°Ρ‚ΠΎ:

  • Π˜ΠΌΠ°Ρ‚Π΅ Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π΅Π½ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ (Π² нашия случай записвамС само Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΈ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. Но ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ случаи: Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, икономичСски Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΈ Ρ‚.Π½. β€” всСки със своя структура, която трябва Π΄Π° сС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°).
  • Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ са ΠΌΠ½ΠΎΠ³ΠΎ.
  • Π’Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ сС появяват ΠΈ ΠΈΠ·Ρ‡Π΅Π·Π²Π°Ρ‚ (Ρ‚.Π΅. някакъв Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½ΠΈ ΠΈΠ΄Π²Π°, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° сС ΠΈ слСд Ρ‚ΠΎΠ²Π° сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°).
  • Няма ясни ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ΠΈ.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈ случаи ClickHouse ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, Π° Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠΈΡΡ‚ случай.

ClickHouse

  • SQL-ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½.
  • ЛСсСн Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.
  • Π₯ΠΎΡ€Π°Ρ‚Π° ΠΊΠ°Π·Π²Π°Ρ‚, Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Попада Π² ΡˆΠΎΡ€Ρ‚-листа Π·Π° тСстванС.

InfluxDB

Π’ΡŠΠ½ΡˆΠ½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ClickHouse. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ: High Availability Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° само Π² Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠ°Ρ‚Π° вСрсия, Π½ΠΎ трябва Π΄Π° сС сравни.

Попада Π² ΡˆΠΎΡ€Ρ‚-листа Π·Π° тСстванС.

Cassandra

ΠžΡ‚ Π΅Π΄Π½Π° страна, Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Π°ΠΊΠΈΠ²Π° систСми Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SignalFX ΠΈΠ»ΠΈ OkMeter. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ° спСцифика.

Cassandra Π½Π΅ Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π² традиционния смисъл. ИзглСТда ΠΏΠΎ-скоро ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π΄ΠΎΠ²Π°, Π½ΠΎ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява лСсна организация Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄. Π’ Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ, Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 2 ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈΡ‚Π΅ (ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅). НапримСр, Π² MySQL ΠΈΠΌΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 4096 ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ Ρ‚Π°ΠΌ лСсно ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ‚Π΅ с Π³Ρ€Π΅ΡˆΠΊΠ° с ΠΊΠΎΠ΄ 1117, Π°ΠΊΠΎ ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ.

ДвигатСлят Cassandra Π΅ насочСн към ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ количСства Π΄Π°Π½Π½ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма Π±Π΅Π· Π³Π»Π°Π²Π΅Π½, ΠΈ Π² горСспомСнатата CAP тСория, Cassandra Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° AP, Ρ‚.Π΅. Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ устойчивостта Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈΡ‚Π΅. Π’Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ инструмСнт ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π°ΠΊΠΎ Π΅ Π½ΡƒΠΆΠ½ΠΎ само Π΄Π° сС записва Π² Ρ‚Π°Π·ΠΈ Π±Π°Π·Π° ΠΈ сравнитСлно рядко Π΄Π° сС Ρ‡Π΅Ρ‚Π΅ ΠΎΡ‚ нСя. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Cassandra ΠΊΠ°Ρ‚ΠΎ "студСно" Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ β€” тоСст, ΠΊΠ°Ρ‚ΠΎ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ място Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ масиви историчСски Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ рядко сС изискват, Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΏΡ€ΠΈ Π½ΡƒΠΆΠ΄Π°. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π·Π° ΠΏΡŠΠ»Π½ΠΎΡ‚Π° Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°Ρ‚Π°, Π½Π΅ΠΊΠ° я тСствамС ΠΈ нСя. Но, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π°Ρ… ΠΏΠΎ-Ρ€Π°Π½ΠΎ, нямам ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° прСнаписвам ΠΊΠΎΠ΄Π° Π·Π° ΠΈΠ·Π±Ρ€Π°Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ тСстовСтС Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ β€” Π±Π΅Π· Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° структурата Π½Π° Π±Π°Π·Π°Ρ‚Π° ΠΏΠΎΠ΄ спСцификата Π½Π° Cassandra.

Prometheus

Ами, ΠΎΡ‚ интСрСс Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° тСствамС производитСлността Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Prometheus β€” просто Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΄Π°Π»ΠΈ смС ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΈ ΠΈ Π² ΠΊΠ°ΠΊΠ²Π° стСпСн.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ тСстовСтС

И Ρ‚Π°ΠΊΠ°, тСствамС 5 Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² 6 ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: ClickHouse (1 възСл), ClickHouse (Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° 3 възСла), InfluxDB, Mysql 8, Cassandra (3 възСла) ΠΈ Prometheus. ΠŸΠ»Π°Π½ΡŠΡ‚ Π·Π° тСстванС Π΅ слСдният:

  1. въвСТдамС историчСски Π΄Π°Π½Π½ΠΈ Π·Π° сСдмица (840 ΠΌΠ»Π½ стойности Π½Π° Π΄Π΅Π½; 208 хиляди ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ);
  2. Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° запис (Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ 6 Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, Π²ΠΈΠΆΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ);
  3. ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ с записитС ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ извлСчСния, Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΉΠΊΠΈ запитвания Π½Π° потрСбитСля, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Π—Π° Π΄Π° Π½Π΅ услоТнявамС ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈΠ·Π±ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° 10 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° са Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° CPU) Π·Π° сСдмица.

НатоварвамС, Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π°Π³Π΅Π½Ρ‚Π° Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ наблюдСниС, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° стойности Π² всяка ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π½Π° всСки 15 сСкунди. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π½ΠΈ Π΅ Π΄Π° промСнямС:

  • ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС записват Π΄Π°Π½Π½ΠΈ;
  • ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡŠΡ‚ Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° стойности Π² Π΅Π΄Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°;
  • Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π°Ρ‚Π°.

Π—Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π°Ρ‚Π°. ПонСТС ΠΏΠΎΡ‡Ρ‚ΠΈ всички наши ΠΎΠΏΠΈΡ‚Π½ΠΈ Π±Π°Π·ΠΈ Π½Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°Ρ‚ Π΄Π° сС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈ вмъквания, Ρ‰Π΅ Π½ΠΈ Π΅ Π½ΡƒΠΆΠ΅Π½ Ρ€Π΅Π»Π΅ΠΉ, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π° ΠΈΠ΄Π²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π³ΠΈ Π³Ρ€ΡƒΠΏΠΈΡ€Π° ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ ΠΈ Π³ΠΈ записва Π² Π±Π°Π·Π°Ρ‚Π° с ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎ вмъкванС.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΊΠ°ΠΊ впослСдствиС Π΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π΄Π° си прСдставим, Ρ‡Π΅ Π½Π΅ просто ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ ΠΊΡƒΠΏ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ са ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π² ΡΡŠΡ€Π²ΡŠΡ€ΠΈ β€” ΠΏΠΎ 125 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€. Π’ΡƒΠΊ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΅ просто Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° ΡΡŠΡ‰Π½ΠΎΡΡ‚ β€” просто Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 10000 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ отговарят Π½Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 80 ΡΡŠΡ€Π²ΡŠΡ€Π°.

И Ρ‚Π°ΠΊΠ°, Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ всичко Ρ‚ΠΎΠ²Π°, Π½Π°ΡˆΠΈΡ‚Π΅ 6 Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π·Π° запис:

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Π’ΡƒΠΊ ΠΈΠΌΠ° Π΄Π²Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. ΠŸΡŠΡ€Π²ΠΎ, Π·Π° Cassandra Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈΡ‚Π΅ сС ΠΎΠΊΠ°Π·Π°Ρ…Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ, Ρ‚Π°ΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ стойности ΠΎΡ‚ 50 ΠΈΠ»ΠΈ 100. А Π²Ρ‚ΠΎΡ€ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Prometheus Ρ€Π°Π±ΠΎΡ‚ΠΈ строго Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅, Ρ‚.Π΅. сам ΠΈΠ΄Π²Π° ΠΈ Π²Π·ΠΈΠΌΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (Π΄Π°ΠΆΠ΅ pushgateway, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ ΠΈΠΌΠ΅Ρ‚ΠΎ си, Π½Π΅ промСня ситуацията), ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ натоварвания бяха Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° комбинация ΠΎΡ‚ статични ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ тСстванСто са слСднитС:

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Как тСствахмС няколко Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ: фантастично Π±ΡŠΡ€Π·ΠΈ извлСчСния ΠΎΡ‚ Prometheus, уТасно Π±Π°Π²Π½ΠΈ извлСчСния ΠΎΡ‚ Cassandra, Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π±Π°Π²Π½ΠΈ извлСчСния ΠΎΡ‚ InfluxDB; ΠΏΠΎ скорост Π½Π° запис ClickHouse ΠΏΠΎΠ±Π΅Π΄ΠΈ всички, Π° Prometheus Π½Π΅ участва Π² конкурса, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ вмъквания сам Π²ΡŠΡ‚Ρ€Π΅ Π² сСбС си ΠΈ Π½ΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°ΠΌΠ΅ Π½ΠΈΡ‰ΠΎ.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка: Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ сС прСдставиха ClickHouse ΠΈ InfluxDB, Π½ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ Π½Π° Influx ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС построСн само Π½Π° Π±Π°Π·Π° Enterprise вСрсията, която струва ΠΏΠ°Ρ€ΠΈ, Π° ClickHouse Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΈ Π΅ създадСн Π² Русия. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΅, Ρ‡Π΅ Π² БАЩ ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Π΅, вСроятно, Π² ΠΏΠΎΠ»Π·Π° Π½Π° InfluxDB, Π° Ρƒ нас β€” Π² ΠΏΠΎΠ»Π·Π° Π½Π° ClickHouse.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster