Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Въй ΠΊΠ°Ρ‚ΠΎ ClickHouse Π΅ спСциализирана систСма, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ особСноститС Π½Π° Π½Π΅ΠΉΠ½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΉ. Π’ Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ АлСксСй Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. Използвайки практичСски ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³Π° схСма Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ производитСлността с ΠΏΠΎΡ€ΡΠ΄ΡŠΡ†ΠΈ.

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ всички! Казвам сС АлСксСй, правя ClickHouse.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠŸΡŠΡ€Π²ΠΎ, Π±ΡŠΡ€Π·Π°ΠΌ Π΄Π° Π²ΠΈ Π·Π°Ρ€Π°Π΄Π²Π°ΠΌ Π²Π΅Π΄Π½Π°Π³Π°, днСс няма Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ClickHouse. ЧСстно ΠΊΠ°Π·Π°Π½ΠΎ, ΡƒΠΌΠΎΡ€ΠΈΡ… сС ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. ВсСки ΠΏΡŠΡ‚ Ρ‚ΠΈ ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅. И вСроятно всички Π²Π΅Ρ‡Π΅ знаят.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° какъв Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡΡ‚ Ρ€Π΅ΠΉΠΊ, Ρ‚.Π΅. ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС злоупотрСбява с ClickHouse. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π΅ трябва Π΄Π° сС страхуватС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ ClickHouse ΠΊΠ°Ρ‚ΠΎ систСма, която Π΅ проста, ΡƒΠ΄ΠΎΠ±Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ извън кутията. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π° всичко, няма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Но всС ΠΏΠ°ΠΊ трябва Π΄Π° сС ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ систСма Π΅ спСциализирана ΠΈ лСсно ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π΅Ρ‚Π΅ Π½Π° Π½Π΅ΠΎΠ±ΠΈΡ‡Π°Π΅Π½ случай Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈ Ρ‚Π°Π·ΠΈ систСма ΠΎΡ‚ Π·ΠΎΠ½Π°Ρ‚Π° ΠΉ Π½Π° ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΈ са Ρ€Π΅ΠΉΠΊΠΎΠ²Π΅Ρ‚Π΅? По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‰Π΅ говоря Π·Π° ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈΡ‚Π΅ Π½Π΅Ρ‰Π°. Всичко Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π·Π° всички, всСки Ρ€Π°Π·Π±ΠΈΡ€Π° всичко ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π΄Π²Π°, Ρ‡Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠΌΠ΅Π½, Π° ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‰Π΅ Π½Π°ΡƒΡ‡ΠΈ Π½Π΅Ρ‰ΠΎ Π½ΠΎΠ²ΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π½Π°ΠΉ-прост ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π° съТалСниС чСсто сС срСща, Π΅ голям Π±Ρ€ΠΎΠΉ Π²Π»ΠΎΠΆΠΊΠΈ с ΠΌΠ°Π»ΠΊΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ, Ρ‚.Π΅. голям Π±Ρ€ΠΎΠΉ ΠΌΠ°Π»ΠΊΠΈ Π²Π»ΠΎΠΆΠΊΠΈ.

Ако Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ClickHouse ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° вмъкванС, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ½Π΅ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄Π½Π° заявка. НС Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

И Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ бъдС Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΡ‚ΠΎ прСдставянС. НапримСр, ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° с Π΄Π°Π½Π½ΠΈ Π½Π° Yandex.Metrica. Π₯ΠΈΡ‚ΠΎΠ²Π΅. 105 някои ΠΊΠΎΠ»ΠΎΠ½ΠΈ. 700 Π±Π°ΠΉΡ‚Π° нСкомпрСсирани. И Π½ΠΈΠ΅ Ρ‰Π΅ вмъкнСм ΠΏΠΎ Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π°.

Π’ΠΌΡŠΠΊΠ²Π°ΠΌΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° MergeTree, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ сС ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π° Π² сСкунда. Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π΅Π½. Π’ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° - Ρ‰Π΅ бъдС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, ΠΎΠΊΠΎΠ»ΠΎ 400 000 Ρ€Π΅Π΄Π° Π² сСкунда.

И Π°ΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²ΠΌΡŠΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ²ΠΎΡ€ΡƒΠΌΠ°, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, Π½ΠΎ всС ΠΏΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Π° производитСлност, 250 000 ΠΏΡŠΡ‚ΠΈ Π² сСкунда. Π’ΠΌΡŠΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ²ΠΎΡ€ΡƒΠΌ Π΅ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° функция Π² ClickHouse*.

* към 2020 Π³., Π²Π΅Ρ‡Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Какво сС случва, Π°ΠΊΠΎ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ? Π’ΠΌΡŠΠΊΠ²Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° MergeTree ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ 59 Ρ€Π΅Π΄Π° Π² сСкунда. Π’ΠΎΠ²Π° Π΅ 10 000 ΠΏΡŠΡ‚ΠΈ Π±Π°Π²Π½ΠΎ. Π’ ReplicatedMergeTree - 6 Ρ€Π΅Π΄Π° Π² сСкунда. И Π°ΠΊΠΎ ΠΊΠ²ΠΎΡ€ΡƒΠΌΡŠΡ‚ сС Π²ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ 2 Ρ€Π΅Π΄Π° Π² сСкунда. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½ Ρ‚ΠΎΠ²Π° Π΅ някаква пълна глупост. Как моТСш Π΄Π° забавиш Ρ‚Π°ΠΊΠ°? Π”ΠΎΡ€ΠΈ Π½Π° тСниската ΠΌΠΈ пишС, Ρ‡Π΅ ClickHouse Π½Π΅ трябва Π΄Π° забавя. Но Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° понякога сС случва.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠΈΡΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ. ΠœΠΎΠΆΠ΅Ρ…ΠΌΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΊΠ°Ρ€Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ Π½Π΅ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅. А Π½ΠΈΠ΅ нямахмС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π°ΡˆΠΈΡΡ‚ сцСнарий нямашС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ. Π’ΠΎΠΊΡƒ-Ρ‰ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ Π½Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ няма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ Π³ΠΎ ΠΈ всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅. Но, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, възмоТни са всякакви сцСнарии. НапримСр, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΡƒΠΏ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ Π΄Π°Π½Π½ΠΈ. И Ρ‚Π΅ Π½Π΅ Π²ΠΌΡŠΠΊΠ²Π°Ρ‚ Π΄Π°Π½Π½ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° чСсто, Π½ΠΎ всС ΠΏΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ чСсти вмъквания. И трябва ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ Ρ‚ΠΎΠ²Π°.

ΠžΡ‚ тСхничСска Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ вмъкванС Π² ClickHouse, Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π΅ Π²Π»ΠΈΠ·Π°Ρ‚ Π² Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° memtable. Π”ΠΎΡ€ΠΈ нямамС истинска Π»ΠΎΠ³ структура Π½Π° MergeTree, Π° само MergeTree, Π·Π°Ρ‰ΠΎΡ‚ΠΎ няма Π½ΠΈΡ‚ΠΎ log, Π½ΠΈΡ‚ΠΎ memTable. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ записвамС Π΄Π°Π½Π½ΠΈΡ‚Π΅ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, Π²Π΅Ρ‡Π΅ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ. И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ 100 ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 200 Ρ„Π°ΠΉΠ»Π° Ρ‰Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ записани Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° дирСктория. Всичко Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΠΎΠΌΠ°Π²ΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И възниква Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚: β€žΠšΠ°ΠΊ Π΄Π° Π³ΠΎ направя ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ?β€œ Ако възникнС Ρ‚Π°ΠΊΠ°Π²Π° ситуация, всС ΠΎΡ‰Π΅ трябва ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² ClickHouse.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-лСсният Π½Π°Ρ‡ΠΈΠ½. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ някакъв Π²ΠΈΠ΄ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° опашка. НапримСр ΠšΠ°Ρ„ΠΊΠ°. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Kafka, Π½ΠΈΠ΅ Π³ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°ΠΌΠ΅ вСднъТ Π½Π° сСкунда. И всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄, записватС, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈΡ‚Π΅ са, Ρ‡Π΅ Kafka Π΅ Π΄Ρ€ΡƒΠ³Π° Ρ‚Ρ€ΠΎΠΌΠ°Π²Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма. Π Π°Π·Π±ΠΈΡ€Π°ΠΌ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠšΠ°Ρ„ΠΊΠ° във Π²Π°ΡˆΠ°Ρ‚Π° компания. Π”ΠΎΠ±Ρ€Π΅ Π΅, ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΅. Но Π°ΠΊΠΎ Π½Π΅ Π΅ Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° помислитС Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΠ»ΡŠΠ·Π½Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма във вашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. И Π·Π°Ρ‚ΠΎΠ²Π° си струва Π΄Π° обмислим Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠœΠ΅Ρ‚ΠΎΠ΄ 2. Π•Ρ‚ΠΎ Π΅Π΄Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΎΡ‚ старата школа ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ проста. Π˜ΠΌΠ°Ρ‚Π΅ Π»ΠΈ някакъв ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΎΠ²Π΅. И просто записва Π²Π°ΡˆΠΈΡ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ във Ρ„Π°ΠΉΠ». И вСднъТ Π² сСкунда, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ», отварямС Π½ΠΎΠ². И ΠΎΡ‚Π΄Π΅Π»Π΅Π½ скрипт ΠΈΠ»ΠΈ ΠΎΡ‚ cron, ΠΈΠ»ΠΈ ΠΎΡ‚ някакъв Π΄Π΅ΠΌΠΎΠ½ Π²Π·Π΅ΠΌΠ° Π½Π°ΠΉ-стария Ρ„Π°ΠΉΠ» ΠΈ Π³ΠΎ записва Π² ClickHouse. Ако ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π»ΠΎΠ³ΠΎΠ²Π΅ вСднъТ Π½Π° сСкунда, Ρ‚ΠΎΠ³Π°Π²Π° всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄.

Но Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅, Ρ‡Π΅ Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π΅ ΠΈΠ·Ρ‡Π΅Π·Π½Π°Π» някъдС, Ρ‚ΠΎΠ³Π°Π²Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΎ Ρ‰Π΅ ΠΈΠ·Ρ‡Π΅Π·Π½Π°Ρ‚.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠœΠ΅Ρ‚ΠΎΠ΄ 3. Има ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ интСрСсСн Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. НапримСр, ΠΈΠΌΠ°Ρ‚Π΅ някакъв Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅Π½ спинСр ΠΈΠ»ΠΈ някакъв Π΄Ρ€ΡƒΠ³ интСрСсСн Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Ρ‚Π΅ ΠΊΡƒΠΏ Π΄Π°Π½Π½ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΎ Π² RAM, Π² Π±ΡƒΡ„Π΅Ρ€Π°. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠΈΠ½Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, оставятС Ρ‚ΠΎΠ·ΠΈ Π±ΡƒΡ„Π΅Ρ€ настрана, ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π½ΠΎΠ² ΠΈ Π²ΠΌΡŠΠΊΠ²Π°Ρ‚Π΅ Π²Π΅Ρ‡Π΅ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΎΡ‚ΠΎ Π² ClickHouse Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° нишка.

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΎ ΠΈΠ·Ρ‡Π΅Π·Π²Π°Ρ‚ с kill -9. Ако Π²Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ сС ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ, Π²ΠΈΠ΅ Ρ‰Π΅ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ. И Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅, Ρ‡Π΅ Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Ρ‚ Π² RAM. И ΠΈΠ»ΠΈ RAM ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΡΠ²ΡŠΡ€ΡˆΠ²Π°, ΠΈΠ»ΠΈ просто Π³ΡƒΠ±ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠœΠ΅Ρ‚ΠΎΠ΄ 4. Π”Ρ€ΡƒΠ³ интСрСсСн Π½Π°Ρ‡ΠΈΠ½. Π˜ΠΌΠ°Ρ‚Π΅ Π»ΠΈ някакъв ΡΡŠΡ€Π²ΡŠΡ€Π΅Π½ процСс. И Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΄Π°Π½Π½ΠΈ Π½Π° ClickHouse навСднъТ, Π½ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Π² Π΅Π΄Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. НапримСр, ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ… http заявка с трансфСр-ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅: Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° с вмъкванС. И Ρ‚ΠΎΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° части Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ рядко, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ всСки Ρ€Π΅Π΄, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° Ρ€Π°ΠΌΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΎΠ±Π°Ρ‡Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄ΠΎ ClickHouse. И самата ClickHouse Ρ‰Π΅ Π³ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°.

Но ΠΈΠΌΠ° ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘Π΅Π³Π° Ρ‰Π΅ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π²ΠΈ бъдС ΡƒΠ±ΠΈΡ‚ ΠΈ Π°ΠΊΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ ClickHouse бъдС ΡƒΠ±ΠΈΡ‚, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС нСпълно вмъкванС. И Π² ClickHouse Π²ΠΌΡŠΠΊΠ²Π°Π½ΠΈΡΡ‚Π° са Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΈ Π΄ΠΎ някакъв ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΡ€Π°Π³ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅. По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΠ²Π° Π΅ интСрСсСн Π½Π°Ρ‡ΠΈΠ½. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠœΠ΅Ρ‚ΠΎΠ΄ 5. Π•Ρ‚ΠΎ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ интСрСсСн Π½Π°Ρ‡ΠΈΠ½. Π’ΠΎΠ²Π° Π΅ някакъв ΡΡŠΡ€Π²ΡŠΡ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ общността Π·Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Аз Π»ΠΈΡ‡Π½ΠΎ Π½Π΅ съм Π³ΠΎ Π³Π»Π΅Π΄Π°Π», Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌ Π½ΠΈΡ‰ΠΎ. Π—Π° самия ClickHouse ΠΎΠ±Π°Ρ‡Π΅ няма Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ. Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° страна ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° свикнСтС с някакъв стандарт Π·Π° качСство, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° прСдоставим. Но Π·Π° Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ - Π½Π΅ Π·Π½Π°ΠΌ, ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π² GitHub, Π²ΠΈΠΆΡ‚Π΅ ΠΊΠΎΠ΄Π°. МоТС Π±ΠΈ са написали Π½Π΅Ρ‰ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ.

*ΠΎΡ‚ 2020 Π³. ΡΡŠΡ‰ΠΎ трябва Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ към Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠšΡŠΡ‰Π° Π·Π° ΠΊΠΎΡ‚Π΅Π½Ρ†Π°.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠœΠ΅Ρ‚ΠΎΠ΄ 6. Π”Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±ΡƒΡ„Π΅Ρ€Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅, Ρ‡Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лСсно Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π±ΡƒΡ„Π΅Ρ€Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈ Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ Π² нСя.

Но Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π½Π΅ Π΅ напълно Ρ€Π΅ΡˆΠ΅Π½. Ако ΠΏΡ€ΠΈ скорост ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° MergeTree трябва Π΄Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π΅Π΄Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π° Π² сСкунда, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€ΠΈ скорост Π² Π±ΡƒΡ„Π΅Ρ€Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° трябва Π΄Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ½Π΅ Π΄ΠΎ няколко хиляди Π² сСкунда. Ако ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 000 Π² сСкунда, ΠΏΠ°ΠΊ Ρ‰Π΅ Π΅ лошо. И Π°ΠΊΠΎ Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° видяхтС, Ρ‡Π΅ Ρ‚Π°ΠΌ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ сто хиляди Ρ€Π΅Π΄Π° Π² сСкунда. И Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ Π½Π° доста Ρ‚Π΅ΠΆΠΊΠΈ Π΄Π°Π½Π½ΠΈ.

И ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π±ΡƒΡ„Π΅Ρ€Π½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ нямат ΠΆΡƒΡ€Π½Π°Π». И Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄ с вашия ΡΡŠΡ€Π²ΡŠΡ€, Ρ‚ΠΎΠ³Π°Π²Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π³ΡƒΠ±Π΅Π½ΠΈ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И ΠΊΠ°Ρ‚ΠΎ бонус наскоро ΠΈΠΌΠ°Ρ…ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Kafka Π² ClickHouse. Има настолСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» - ΠšΠ°Ρ„ΠΊΠ°. Π’ΠΈΠ΅ просто ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΊΠ°Ρ‡ΠΈΡ‚Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ. Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ‚ΠΎΠΉ Ρ‰Π΅ ΠΈΠ·Π²Π°Π΄ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Kafka ΠΈ Ρ‰Π΅ Π³ΠΈ вмъкнС Π² Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Π²ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.

И Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ особСно радостно Π² Ρ‚Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΅, Ρ‡Π΅ Π½Π΅ успяхмС. Π’ΠΎΠ²Π° Π΅ функция Π½Π° общността. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ°Π·Π²Π°ΠΌ β€žΡ„ΡƒΠ½ΠΊΡ†ΠΈΡ Π½Π° ΠΎΠ±Ρ‰Π½ΠΎΡΡ‚Ρ‚Π°β€œ, Π³ΠΎ ΠΊΠ°Π·Π²Π°ΠΌ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π΅Π·Ρ€Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ…ΠΌΠ΅ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄, трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅.

* ΠΎΡ‚ 2020 Π³. ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° RabbitMQ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Какво Π΄Ρ€ΡƒΠ³ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ ΠΏΡ€ΠΈ вмъкванС Π½Π° Π΄Π°Π½Π½ΠΈ? Ако Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ заявка Π·Π° вмъкванС Π½Π° стойности ΠΈ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ някои изчислСни ΠΈΠ·Ρ€Π°Π·ΠΈ Π² стойности. НапримСр, now() ΡΡŠΡ‰ΠΎ Π΅ ΠΎΡ†Π΅Π½Π΅Π½ ΠΈΠ·Ρ€Π°Π·. И Π² Ρ‚ΠΎΠ·ΠΈ случай ClickHouse Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ Π΄Π° стартира ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π½Π° Ρ‚Π΅Π·ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ Π·Π° всСки Ρ€Π΅Π΄ ΠΈ производитСлността Ρ‰Π΅ спаднС с ΠΏΠΎΡ€ΡΠ΄ΡŠΡ†ΠΈ. По-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Π³ΠΎ избягватС.

* Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ напълно Ρ€Π΅ΡˆΠ΅Π½, няма ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСгрСсия Π½Π° производитСлността ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ Π² VALUES.

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° някои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ към ΠΊΡƒΠΏ дяловС. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ClickHouse раздСля ΠΏΠΎ мСсСци. И Π°ΠΊΠΎ Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄Π° ΠΎΡ‚ ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π° ΠΈ ΠΈΠΌΠ° Π΄Π°Π½Π½ΠΈ Π·Π° няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ няколко Π΄ΡƒΠ·ΠΈΠ½ΠΈ дяловС Ρ‚Π°ΠΌ. И Ρ‚ΠΎΠ²Π° Π΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ няколко дСсСтки ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²ΡŠΡ‚Ρ€Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡŠΡ€Π²ΠΎ сС раздСлят Π½Π° дяловС.

* наскоро Π² ClickHouse Π² СкспСримСнталСн Ρ€Π΅ΠΆΠΈΠΌ бСшС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° ΠΈ ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° Π² RAM с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ записващ Π»ΠΎΠ³, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ напълно Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π‘Π΅Π³Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ втория Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ - Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ.

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС строго, Π° понякога ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΎ. Низ - Ρ‚ΠΎΠ²Π° Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ просто стС Π²Π·Π΅Π»ΠΈ ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π»ΠΈ, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ всички ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΎΡ‚ Ρ‚ΠΈΠΏ Π½ΠΈΠ·. Π“Π°Π΄Π½ΠΎ Π΅. НС Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°.

НСка Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π² случаитС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ някакво ΠΏΠΎΠ»Π΅, Π½ΠΈΠ· ΠΈ Π½Π΅ΠΊΠ° ClickHouse Π΄Π° Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ сам, Π½ΠΎ Π°Π· няма Π΄Π° правя ΠΏΠ°Ρ€Π½Π° баня. Но всС ΠΏΠ°ΠΊ си струва Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ усилия.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

НапримСр ΠΈΠΌΠ°ΠΌΠ΅ IP адрСс. Π’ Π΅Π΄ΠΈΠ½ случай Π³ΠΎ записахмС ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΠ·. НапримСр 192.168.1.1. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС число ΠΎΡ‚ Ρ‚ΠΈΠΏ UInt32*. 32 Π±ΠΈΡ‚Π° са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° IPv4 адрСс.

ΠŸΡŠΡ€Π²ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Π΄Π° Π΅ странно, Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ компрСсирани ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½. Π©Π΅ ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΠΊΠ°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° голяма. Π’Π°ΠΊΠ° Ρ‡Π΅ няма спСциални ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с I/O Π½Π° диска.

Но ΠΈΠΌΠ° сСриозна Ρ€Π°Π·Π»ΠΈΠΊΠ° Π² процСсорното Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° заявката.

НСка ΠΏΡ€Π΅Π±Ρ€ΠΎΠΈΠΌ броя Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡ‚Π΅ IP адрСси, Π°ΠΊΠΎ Ρ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ числа. ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π° сС 137 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π° Π² сСкунда. Ако Π΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Π»ΠΈΠ½ΠΈΠΈΡ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° 37 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ€Π΅Π΄Π° Π² сСкунда. НС Π·Π½Π°ΠΌ Π·Π°Ρ‰ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Ρ‚ΠΎΠ²Π° съвпадСниС. Π‘Π°ΠΌ съм ΠΏΡ€Π°Π²ΠΈΠ» Ρ‚Π΅Π·ΠΈ искания. Но Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° ΠΎΠΊΠΎΠ»ΠΎ 4 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ.

И Π°ΠΊΠΎ изчислитС Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π² дисковото пространство, Ρ‚ΠΎΠ³Π°Π²Π° ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΠΊΠ°. И Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π΅ ΠΎΠΊΠΎΠ»ΠΎ Π΅Π΄Π½Π° Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠΌΠ° доста ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ IP адрСси. И Π°ΠΊΠΎ имашС Ρ€Π΅Π΄ΠΎΠ²Π΅ с малък Π±Ρ€ΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стойности, Ρ‚Π΅ щяха Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ‚ΠΈΡ…ΠΎ компрСсирани Π² Ρ€Π΅Ρ‡Π½ΠΈΠΊΠ° Π² ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΈΡ ΠΎΠ±Π΅ΠΌ.

И Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈΠΊΡ€Π°Ρ‚Π½Π°Ρ‚Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π΅ Π»Π΅ΠΆΠΈ Π½Π° ΠΏΡŠΡ‚Ρ. МоТС Π±ΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½Π΅ Π²ΠΈ ΠΏΡƒΠΊΠ°, Π½ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ видя Ρ‚Π°ΠΊΠ°Π²Π° Ρ€Π°Π·Π»ΠΈΠΊΠ°, сС чувствам Ρ‚ΡŠΠΆΠ½Π°.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ случаи.

1. Π•Π΄ΠΈΠ½ случай, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ няколко Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ стойности. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ проста ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, която вСроятно Π·Π½Π°Π΅Ρ‚Π΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π·Π° всяка Π‘Π£Π‘Π”. Всичко Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° смисъл Π½Π΅ само Π·Π° ClickHouse. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π² Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ отстрани Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

НапримСр, ΠΈΠΌΠ°Ρ‚Π΅ Ρ€Π΅Π³ΠΈΠΎΠ½. И Π²ΠΈΠ΅ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΠ·. И Ρ‚Π°ΠΌ Ρ‰Π΅ бъдС написано: Москва ΠΈ Московска област. И ΠΊΠ°Ρ‚ΠΎ видя, Ρ‡Π΅ Ρ‚Π°ΠΌ пишС β€žΠœΠΎΡΠΊΠ²Π°β€œ, Π·Π½Π°Ρ‡ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠ°ΠΊ Π΅ Π½ΠΈΡ‰ΠΎ, Π° ΠΊΠ°Ρ‚ΠΎ Π΅ МО, някак си става съвсСм Ρ‚ΡŠΠΆΠ½ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π±Π°ΠΉΡ‚Π°.

ВмСсто Ρ‚ΠΎΠ²Π° Π½ΠΈΠ΅ просто записвамС Π½ΠΎΠΌΠ΅Ρ€Π° Ulnt32 ΠΈ 250. ИмамС 250 Π² Yandex, Π½ΠΎ Π²Π°ΡˆΠΈΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½. Π—Π° всСки случай Ρ‰Π΅ ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ ClickHouse ΠΈΠΌΠ° Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π³Π΅ΠΎΠ±Π°Π·Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ записватС дирСктория с Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΉΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½Π°, Ρ‚.Π΅. Ρ‰Π΅ ΠΈΠΌΠ° Москва, Московска област ΠΈ всичко, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ заявка.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Вторият Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΡΡŠΡ‰ΠΈΡΡ‚, Π½ΠΎ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π² ClickHouse. Π’ΠΎΠ²Π° Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½ΠΈ Enum. Π’ΠΈΠ΅ просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ всички стойности, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅, Π² Enum. НапримСр, Ρ‚ΠΈΠΏΠ° Π½Π° устройството ΠΈ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΌ: настолСн ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Ρ‚Π°Π±Π»Π΅Ρ‚, Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€. Π‘Π°ΠΌΠΎ 4 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ трябва ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄Π° промСнятС. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ само Π΅Π΄Π½Π° опция. Π˜Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π° маса. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ alter table Π² ClickHouse Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½. ОсобСно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π·Π° Enum, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° диска Π½Π΅ сС промСнят. Но Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° alter ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ * Π½Π° масата ΠΈ трябва Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ всички сСлСкции Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ. И Π΅Π΄Π²Π° слСд ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ промяна Ρ‰Π΅ бъдС изпълнСна, Ρ‚.Π΅. всС ΠΎΡ‰Π΅ ΠΈΠΌΠ° някои нСудобства.

* Π² послСднитС вСрсии Π½Π° ClickHouse, ALTER Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ напълно Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³Π° доста ΡƒΠ½ΠΈΠΊΠ°Π»Π½Π° опция Π·Π° ClickHouse Π΅ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° външни Ρ€Π΅Ρ‡Π½ΠΈΡ†ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ числа Π² ClickHouse ΠΈ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ във всяка ΡƒΠ΄ΠΎΠ±Π½Π° Π·Π° вас систСма. НапримСр ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅: MySQL, Mongo, Postgres. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ своя собствСна микроуслуга, която Ρ‰Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· http. И Π½Π° Π½ΠΈΠ²ΠΎ ClickHouse ΠΏΠΈΡˆΠ΅Ρ‚Π΅ функция, която Ρ‰Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ числа Π² Π½ΠΈΠ·ΠΎΠ²Π΅.

Π’ΠΎΠ²Π° Π΅ спСциализиран, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° външна Ρ‚Π°Π±Π»ΠΈΡ†Π°. И ΠΈΠΌΠ° Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Π’ Π΅Π΄Π½Π° опция Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ напълно ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ, напълно ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‰ΠΈ Π² RAM ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ. И Π² Π΄Ρ€ΡƒΠ³Π° опция, Π°ΠΊΠΎ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π°Ρ‚ Π² RAM, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ частично Π΄Π° Π³ΠΈ ΠΊΠ΅ΡˆΠΈΡ€Π°Ρ‚Π΅.

Π•Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Има Yandex.Direct. И ΠΈΠΌΠ° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Π° Ρ„ΠΈΡ€ΠΌΠ° ΠΈ Π±Π°Π½Π΅Ρ€ΠΈ. ВСроятно ΠΈΠΌΠ° дСсСтки ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. И Π³Ρ€ΡƒΠ±ΠΎ сС ΠΏΠΎΠ±ΠΈΡ€Π° Π² RAM. И ΠΈΠΌΠ° ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ΠΈ Π±Π°Π½Π΅Ρ€ΠΈ, Ρ‚Π΅ Π½Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π°Ρ‚. И Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ Ρ€Π΅Ρ‡Π½ΠΈΠΊ ΠΎΡ‚ MySQL.

ЕдинствСният ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅, Ρ‡Π΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈΡΡ‚ Ρ€Π΅Ρ‡Π½ΠΈΠΊ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, Π°ΠΊΠΎ чСстотата Π½Π° ΠΏΠΎΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ 100%. Ако Π΅ ΠΏΠΎ-малък, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° заявки Π·Π° всСки ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ дСйствитСлно Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ липсващитС ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ MySQL. Π—Π° ClickHouse всС ΠΎΡ‰Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌ, Ρ‡Π΅ - Π΄Π°, Π½Π΅ забавя, няма Π΄Π° говоря Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ систСми.

И ΠΊΠ°Ρ‚ΠΎ бонус, Ρ€Π΅Ρ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ лСсСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ClickHouse със Π·Π°Π΄Π½Π° Π΄Π°Ρ‚Π°. ВоСст, ΠΈΠΌΠ°Ρ…Ρ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π·Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, потрСбитСлят просто ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Π°Ρ‚Π° компания ΠΈ във всички стари Π΄Π°Π½Π½ΠΈ, във всички ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ, Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡŠΡ‰ΠΎ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ…Π°. Ако ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° няма Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π½ΠΈΠ·ΠΎΠ²Π΅. ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π΄Π° Ρ…Π΅ΡˆΠΈΡ€Π°Ρ‚Π΅. И Π½Π°ΠΉ-лСсният Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ 64-Π±ΠΈΡ‚ΠΎΠ² Ρ…Π΅Ρˆ.

ЕдинствСният ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅, Ρ‡Π΅ Π°ΠΊΠΎ Ρ…Π΅ΡˆΡŠΡ‚ Π΅ 64-Π±ΠΈΡ‚ΠΎΠ², Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΡ‡Ρ‚ΠΈ сигурно Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΡΠ±Π»ΡŠΡΡŠΡ†ΠΈ. Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ Ρ€Π΅Π΄Π°, Ρ‚ΠΎΠ³Π°Π²Π° вСроятността Π²Π΅Ρ‡Π΅ става осСзаСма.

И Π½Π΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС Ρ…Π²ΡŠΡ€Ρ‡Π°Ρ‚ Ρ‚Π°ΠΊΠ° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Ако сС смСсят Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΈΡ‚Π΅ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ° Π½Π΅Ρ‰ΠΎ Π½Π΅Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ.

И ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ прост Ρ‚Ρ€ΠΈΠΊ. Вярно Π΅, Ρ‡Π΅ ΡΡŠΡ‰ΠΎ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ подходящ Π·Π° сСриозни Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ сСриозно, Ρ‚ΠΎΠ³Π°Π²Π° просто Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° към ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ€Π΅Ρ‡Π½ΠΈΠΊΠ°. И Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΡΠ±Π»ΡŠΡΡŠΡ†ΠΈ, Π½ΠΎ само Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. И Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ Π² Yandex.Metrica. ИмамС url адрСси Ρ‚Π°ΠΌ, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ Ρ…Π΅ΡˆΠΎΠ²Π΅. И Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС. Но ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΏΠΎΠΊΠ°ΠΆΠ΅ страница, Ρ‚ΠΎΠ³Π°Π²Π° вСроятността Π½Π° Π΅Π΄Π½Π° страница Π·Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» някои URL адрСси Π΄Π° сС слСпят ΠΈ Ρ‚ΠΎΠ²Π° Π΄Π° бъдС забСлязано, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π½Π°Ρ‚ΠΎ.

ΠšΠ°Ρ‚ΠΎ бонус, Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ само Ρ…Π΅ΡˆΠΎΠ²Π΅ ΠΈ самитС Π½ΠΈΠ·ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ никъдС.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅Ρ‚Π΅ са ΠΊΡ€Π°Ρ‚ΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π½Π° уСбсайтовС. Π’Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ са. Или, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π·ΠΈΠΊΡŠΡ‚ Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° ru Π΅ 2 Π±Π°ΠΉΡ‚Π°. Π Π°Π·Π±ΠΈΡ€Π° сС, съТалявам Π·Π° Π±Π°ΠΉΡ‚ΠΎΠ²Π΅Ρ‚Π΅, Π½ΠΎ Π½Π΅ сС притСснявайтС, 2 Π±Π°ΠΉΡ‚Π° Π½Π΅ са ΠΆΠ°Π»ΠΊΠΎ. Моля, Π·Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ Π³ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ Π΅, Π½Π΅ сС притСснявайтС.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ случай Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π² тях ΠΈ Π΄ΠΎΡ€ΠΈ Π½Π°Π±ΠΎΡ€ΡŠΡ‚ Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Π’ΠΈΠΏΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ са Ρ„Ρ€Π°Π·ΠΈ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ URL адрСси. Π€Ρ€Π°Π·ΠΈ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ правописни Π³Ρ€Π΅ΡˆΠΊΠΈ. НСка Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Ρ„Ρ€Π°Π·ΠΈ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Π΄Π΅Π½. И сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Ρ‚Π΅ са ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΎΡ‚ всички ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. И Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅ Π΄Π° си помислитС, Ρ‡Π΅ трябва Π΄Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π΄Π° ΠΏΡ€Π΅Π±Ρ€ΠΎΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅, Π΄Π° Π³ΠΈ поставитС Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. Но Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ са.

По-Π΄ΠΎΠ±Ρ€Π΅ - Π½Π΅ измисляйтС Π½ΠΈΡ‰ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ Π³ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Ρ‰Π΅ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅. И Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π΅ Π² Π½Π°ΠΉ-добрия случаСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π°ΠΊΠΎ всС ΠΎΡ‰Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Ако Π½Π΅ паснС, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ цяло.

И Π°ΠΊΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π½Π° място, Ρ‚Π΅ просто сС Ρ‡Π΅Ρ‚Π°Ρ‚ Π² правилния Ρ€Π΅Π΄ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ всичко Π΅ Π½Π°Ρ€Π΅Π΄.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Ако ΠΈΠΌΠ°Ρ‚Π΅ url адрСси ΠΈΠ»ΠΈ някакъв Π΄Ρ€ΡƒΠ³ слоТСн дълъг Π½ΠΈΠ·, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° помислитС Π·Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° изчислитС ΠΌΠ°Π»ΠΊΠΎ свиванС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Π΄Π° Π³ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°.

Π—Π° url адрСси, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. И Π°ΠΊΠΎ наистина ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄ΠΎΠΌΠ΅ΠΉΠ½, просто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°Π·ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ URL адрСситС Ρ‰Π΅ Π»ΡŠΠΆΠ°Ρ‚ ΠΈ Π΄ΠΎΡ€ΠΈ няма Π΄Π° Π³ΠΈ докоснСтС.

Π”Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²Π° Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π°. ClickHouse ΠΈΠΌΠ° спСциализирана функция, която изчислява Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°. Много Π΅ Π±ΡŠΡ€Π·, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π³ΠΎ. И, чСстно ΠΊΠ°Π·Π°Π½ΠΎ, Π΄ΠΎΡ€ΠΈ Π½Π΅ отговаря Π½Π° RFC, Π½ΠΎ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ всичко, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ.

И Π² Π΅Π΄ΠΈΠ½ случай Π½ΠΈΠ΅ просто Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ URL адрСситС ΠΈ Ρ‰Π΅ изчислим Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°. Оказва сС 166 милисСкунди. И Π°ΠΊΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎΠΌΠ΅ΠΉΠ½, Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΎΠΊΠ°Π·Π²Π° само 67 милисСкунди, тоСст ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. И ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, Π½Π΅ Π·Π°Ρ‰ΠΎΡ‚ΠΎ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ някакви изчислСния, Π° Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‡Π΅Ρ‚Π΅ΠΌ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ.

По някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅Π΄Π½Π° заявка, която Π΅ ΠΏΠΎ-Π±Π°Π²Π½Π°, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΏΠΎ-голяма скорост Π² Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ Π² сСкунда. Π—Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‡Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ. Π’ΠΎΠ²Π° са напълно излишни Π΄Π°Π½Π½ΠΈ. Заявката ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° сС изпълнява ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, Π½ΠΎ ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС.

И Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ количСството Π΄Π°Π½Π½ΠΈ Π½Π° диска, сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ URL Π°Π΄Ρ€Π΅ΡΡŠΡ‚ Π΅ 126 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°, Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡŠΡ‚ Π΅ само 5 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°. Оказва сС 25 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, заявката всС ΠΎΡ‰Π΅ Π΅ само 4 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π°. Но Ρ‚ΠΎΠ²Π° Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ са Π³ΠΎΡ€Π΅Ρ‰ΠΈ. И Π°ΠΊΠΎ бСшС студСно, вСроятно Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ 25 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ дисков I/O.

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π°ΠΊΠΎ ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡŠΡ‚ Π΅ ΠΏΠΎ-малък ΠΎΡ‚ URL адрСса, Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΅ ΠΎΠΊΠΎΠ»ΠΎ 4 ΠΏΡŠΡ‚ΠΈ, Π½ΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° диска ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‚ 25 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. Π—Π°Ρ‰ΠΎ? ΠŸΠΎΡ€Π°Π΄ΠΈ компрСсия. И URL Π°Π΄Ρ€Π΅ΡΡŠΡ‚ Π΅ компрСсиран, ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡŠΡ‚ Π΅ компрСсиран. Но чСсто URL Π°Π΄Ρ€Π΅ΡΡŠΡ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΊΡƒΠΏ Π±ΠΎΠΊΠ»ΡƒΠΊ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, струва си Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ стойности ΠΈΠ»ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ пасват. Ако стС Π² IPv4, Π·Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ UInt32*. Ако IPv6, Ρ‚ΠΎΠ³Π°Π²Π° FixedString(16), Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ IPv6 Π°Π΄Ρ€Π΅ΡΡŠΡ‚ Π΅ 128 Π±ΠΈΡ‚Π°, Ρ‚.Π΅. ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° сС Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Но ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ станС, Π°ΠΊΠΎ понякога ΠΈΠΌΠ°Ρ‚Π΅ IPv4 адрСси, Π° понякога IPv6? Π”Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ ΠΈ Π΄Π²Π΅Ρ‚Π΅. Π•Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π° IPv4, Π΄Ρ€ΡƒΠ³Π° Π·Π° IPv6. Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° опция Π·Π° ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° IPv4 към IPv6. Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ Π°ΠΊΠΎ чСсто сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ IPv4 адрСс във Π²Π°ΡˆΠΈΡ‚Π΅ заявки, Ρ‚ΠΎΠ³Π°Π²Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ Ρ…ΡƒΠ±Π°Π²ΠΎ Π΄Π° Π³ΠΎ поставитС Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°.

* Π‘Π΅Π³Π° ClickHouse ΠΈΠΌΠ° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ IPv4, IPv6, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π΄Π°Π½Π½ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ числата, Π½ΠΎ Π³ΠΈ прСдставят Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ си струва Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ. НапримСр, някои Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Ρ‚Ρ€ΡƒΠΏΠΈ ΠΈΠ΄Π²Π°Ρ‚ ΠΏΡ€ΠΈ вас. И ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ трябва Π΄Π° Π³ΠΈ поставятС Π²Π΅Π΄Π½Π°Π³Π° Π² ClickHouse, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΊΡƒΡˆΠ°Π²Π°Ρ‰ΠΎ Π΄Π° Π½Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΈΡ‰ΠΎ ΠΈ всичко Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Но всС ΠΏΠ°ΠΊ си струва Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ°Ρ‚ Ρ‚Π΅Π·ΠΈ изчислСния, ΠΊΠΎΠΈΡ‚ΠΎ са възмоТни.

НапримСр вСрсия Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°. Π’ някой съсСдСн ΠΎΡ‚Π΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ искам Π΄Π° соча с ΠΏΡ€ΡŠΡΡ‚, вСрсията Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ‚Π°ΠΌ Ρ‚Π°ΠΊΠ°, тоСст ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΠ·: 12.3. И слСд Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° направят ΠΎΡ‚Ρ‡Π΅Ρ‚, Ρ‚Π΅ Π²Π·Π΅ΠΌΠ°Ρ‚ Ρ‚ΠΎΠ·ΠΈ Π½ΠΈΠ· ΠΈ Π³ΠΎ раздСлят Π½Π° масив, Π° слСд Ρ‚ΠΎΠ²Π° Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ масива. ЕстСствСно всичко сС забавя. ΠŸΠΎΠΏΠΈΡ‚Π°Ρ… Π·Π°Ρ‰ΠΎ Π³ΠΎ правят. ΠšΠ°Π·Π°Ρ…Π° ΠΌΠΈ, Ρ‡Π΅ Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°Ρ‚ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° оптимизация. И Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°ΠΌ прСТдСврСмСнния пСсимизъм.

Π’Π°ΠΊΠ° Ρ‡Π΅ Π² Ρ‚ΠΎΠ·ΠΈ случай Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° сС Ρ€Π°Π·Π΄Π΅Π»ΠΈ Π½Π° 4 ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π’ΡƒΠΊ Π½Π΅ сС страхувайтС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ ClickHouse. ClickHouse Π΅ ΠΊΠΎΠ»ΠΎΠ½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. И ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠΊΠ΅Ρ‚Π½ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅. Π©Π΅ ΠΈΠΌΠ° 5 BrowserVersion, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ 5 ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€Π΅.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π‘Π΅Π³Π° помислСтС ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ дълги Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΌΠ½ΠΎΠ³ΠΎ дълги масиви. Π˜Π·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ClickHouse. ВмСсто Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ само някакъв ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² ClickHouse. И Ρ‚Π΅Π·ΠΈ дълги опашки Π³ΠΈ Π½Π°Π±ΡƒΡ‚Π²Π°Ρ‚ Π² някаква Π΄Ρ€ΡƒΠ³Π° систСма.

НапримСр, Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ услуги Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΈΠΌΠ° някои ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. И Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈΠ΄Π²Π°Ρ‚ към ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, Π½ΠΈΠ΅ просто Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ 512, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°Ρ‚ΡŠΠΊΠ½Π°Ρ‚. Π—Π°Ρ‰ΠΎΡ‚ΠΎ 512 Π½Π΅ Π΅ ΠΆΠ°Π»ΠΊΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° записватС Π΄Π°Π½Π½ΠΈ Π² ClickHouse, Π½ΠΎ във Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Log, която Π΅ спСциална Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ какъв Π²ΠΈΠ΄ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° стойноститС ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π°ΠΌ, ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π΄Π° ΡΡŠΡΡ‚Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅.

* Π‘Π΅Π³Π° ClickHouse ΠΈΠΌΠ° Ρ‚ΠΈΠΏ Π΄Π°Π½Π½ΠΈ Ниска кардиналност ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ Π½ΠΈΠ·ΠΎΠ²Π΅ с ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ усилия.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π‘Π΅Π³Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ интСрСсСн случай. Понякога Π½Π΅Ρ‰Π°Ρ‚Π° работят ΠΏΠΎ странСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° Ρ…ΠΎΡ€Π°Ρ‚Π°. ΠžΡ‚ΠΈΠ²Π°ΠΌ ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌ Ρ‚ΠΎΠ²Π°. И Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΎΡ‚ някакъв ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡ‚Π΅Π½, ΡƒΠΌΠ΅Π½ администратор, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Π±ΠΎΠ³Π°Ρ‚ ΠΎΠΏΠΈΡ‚ Π² настройката Π½Π° MySQL вСрсия 3.23.

Π’ΡƒΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ хиляда Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΠ° ΠΎΡ‚ Π΄Π΅Π»Π΅Π½Π΅Ρ‚ΠΎ Π½Π° нСясно ΠΊΠ°ΠΊΠ²ΠΎ Π½Π° хиляда.

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΡƒΠ²Π°ΠΆΠ°Π²Π°ΠΌ ΠΎΠΏΠΈΡ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Ρ…ΠΎΡ€Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠ²ΠΈ страдания ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ° Ρ‚ΠΎΠ·ΠΈ ΠΎΠΏΠΈΡ‚.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ са ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ясни. Π’ΠΎΠ²Π° са стари стСрСотипи, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° са сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈ систСми. НапримСр MyISAM Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ нямат ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π΅Π½ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡. И Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π½Π° сподСлянС Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС отчаян ΠΎΠΏΠΈΡ‚ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΡŠΡ‰Π°Ρ‚Π° функционалност.

Π”Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅, Ρ‡Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС правят ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° промяна Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ маси. Всичко Ρ‰Π΅ бъдС Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ΠΎ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ вСрсии Π½Π° MySQL Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° сСриозСн.

Или, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, microsharding, Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎ-късно.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π’ ClickHouse Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ, ΠΏΡŠΡ€Π²ΠΎ, ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡΡ‚ ΠΊΠ»ΡŽΡ‡ Π΅ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½, Π΄Π°Π½Π½ΠΈΡ‚Π΅ са ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ ΠΏΠΎ ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡.

И понякога Ρ…ΠΎΡ€Π°Ρ‚Π° ΠΌΠ΅ ΠΏΠΈΡ‚Π°Ρ‚: β€žΠšΠ°ΠΊ сС промСня СфСктивността Π½Π° заявкитС Π·Π° ΠΎΠ±Ρ…Π²Π°Ρ‚ Π² ClickHouse с Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°?β€œ. Казвам, Ρ‡Π΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ сС промСня. НапримСр, ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ Ρ€Π΅Π΄Π° ΠΈ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π°. Всичко Π΅ Π½Π°Ρ€Π΅Π΄. Ако Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈΠΌΠ° Ρ‚Ρ€ΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π° ΠΈ Π²ΠΈΠ΅ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ€Π΅Π΄Π°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ бъдС ΠΏΠΎΡ‡Ρ‚ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ.

И, Π²Ρ‚ΠΎΡ€ΠΎ, Π½Π΅ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ части ΠΊΠ°Ρ‚ΠΎ Ρ€ΡŠΡ‡Π½ΠΈ ΠΏΡ€Π΅Π³Ρ€Π°Π΄ΠΈ. Ако Π²Π»Π΅Π·Π΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π΅ доста сСриозно Π½Π΅Ρ‰ΠΎ. И Ρ‚Π°ΠΌ Π²ΡŠΡ‚Ρ€Π΅ ΠΈΠΌΠ° Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π³Ρ€Π°Π΄ΠΈ. ВоСст ClickHouse ΠΏΡ€Π°Π²ΠΈ всичко вмСсто вас ΠΈ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° страдатС.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠŸΡ€ΠΎΠΌΡΠ½Π°Ρ‚Π° Π² ClickHouse Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π°, Π°ΠΊΠΎ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π° добавянС/пусканС.

И Π½Π΅ трябва Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠ°Π»ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ 10 Ρ€Π΅Π΄Π° ΠΈΠ»ΠΈ 10 000 Ρ€Π΅Π΄Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° си, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ²Π° няма Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ClickHouse Π΅ систСма, която ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° пропускатСлната способност, Π° Π½Π΅ латСнтността, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ няма смисъл Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ 10 Ρ€Π΅Π΄Π°.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½Π° голяма маса. ΠžΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Ρ‚Π΅ сС ΠΎΡ‚ старитС стСрСотипи, всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄.

И ΠΊΠ°Ρ‚ΠΎ бонус, Π² Π½Π°ΠΉ-Π½ΠΎΠ²Π°Ρ‚Π° вСрсия ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠ»ΡŽΡ‡ Π·Π° раздСлянС, Π·Π° Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ всякакви ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ дяловС.

НапримСр, ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ някои ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° ΠΈ трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ трансформация Π²ΡŠΡ€Ρ…Ρƒ тях, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π—Π° Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠΌΠ° чудСсСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° маса - StripeLog. Π’ΠΎΠ²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ TinyLog, само Ρ‡Π΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ.

* Π‘Π΅Π³Π° ClickHouse ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ въвСТданС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½Π° функция.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ Π°Π½Ρ‚ΠΈ-ΠΌΠΎΠ΄Π΅Π» Π΅ microsharding. НапримСр, трябва Π΄Π° ΡˆΠ°Ρ€Π΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ 5 ΡΡŠΡ€Π²ΡŠΡ€Π°, Π° ΡƒΡ‚Ρ€Π΅ Ρ‰Π΅ ΠΈΠΌΠ° 6 ΡΡŠΡ€Π²ΡŠΡ€Π°. И мислитС ΠΊΠ°ΠΊ Π΄Π° балансиратС ΠΎΡ‚Π½ΠΎΠ²ΠΎ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ. И вмСсто Ρ‚ΠΎΠ²Π° Π½Π΅ сС раздСлятС Π½Π° 5 Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, Π° Π½Π° 1 Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°. И слСд Ρ‚ΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Ρ‚Π΅ всСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Ρ€Π΄ΠΎΠ²Π΅ към ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€. И Ρ‰Π΅ успССтС Π½Π° Π΅Π΄ΠΈΠ½ ΡΡŠΡ€Π²ΡŠΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 000 ClickHouse, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠžΡ‚Π΄Π΅Π»Π΅Π½ СкзСмпляр Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Но Π² ClickHouse Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅. Π—Π°Ρ‰ΠΎΡ‚ΠΎ Π΄ΠΎΡ€ΠΈ Π΅Π΄Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ClickHouse сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ рСсурси Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΅Π΄Π½Π° заявка. ВоСст ΠΈΠΌΠ°Ρ‚Π΅ някакъв ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Ρ‚Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 56 процСсорни ядра. Π˜Π·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ заявка, която ΠΎΡ‚Π½Π΅ΠΌΠ° Π΅Π΄Π½Π° сСкунда ΠΈ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° 56 ядра. И Π°ΠΊΠΎ поставитС 200 ClickHouses Π½Π° Π΅Π΄ΠΈΠ½ ΡΡŠΡ€Π²ΡŠΡ€ Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Ρ‰Π΅ стартират 10 000 нишки. ΠšΠ°Ρ‚ΠΎ цяло всичко Ρ‰Π΅ бъдС ΠΌΠ½ΠΎΠ³ΠΎ Π·Π»Π΅.

Π”Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅, Ρ‡Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π·ΠΈ инстанции Ρ‰Π΅ бъдС Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ. Някои Ρ‰Π΅ ΡΠ²ΡŠΡ€ΡˆΠ°Ρ‚ ΠΏΠΎ-Ρ€Π°Π½ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎ-късно. Ако всичко Ρ‚ΠΎΠ²Π° сС случи Π² Π΅Π΄ΠΈΠ½ случай, Ρ‚ΠΎΠ³Π°Π²Π° самият ClickHouse Ρ‰Π΅ΡˆΠ΅ Π΄Π° измисли ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΡ†ΠΈΡ‚Π΅.

И Π΄Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅, Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ мСТдупроцСсорна комуникация ΠΏΡ€Π΅Π· TCP. Π”Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ сСриализирани, дСсСриализирани ΠΈ Ρ‚ΠΎΠ²Π° Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ Π±Ρ€ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Ρ€Π΄ΠΎΠ²Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ Π°Π½Ρ‚ΠΈΡˆΠ°Π±Π»ΠΎΠ½, ΠΌΠ°ΠΊΠ°Ρ€ Ρ‡Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ€Π΅Ρ‡Π΅ Π°Π½Ρ‚ΠΈΡˆΠ°Π±Π»ΠΎΠ½. Π’ΠΎΠ²Π° Π΅ голямо количСство ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅.

ΠšΠ°Ρ‚ΠΎ цяло ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€ΠΎ. Π˜ΠΌΠ°Ρ…Ρ‚Π΅ ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ Ρ€Π΅Π΄Π°, ΡΡŠΠ±Ρ€Π°Ρ…Ρ‚Π΅ Π³ΠΈ ΠΈ станаха 1 Ρ€Π΅Π΄Π° ΠΈ сСга заявката сС изпълнява Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ. Всичко Π΅ страхотно. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅. И Π·Π° Ρ‚ΠΎΠ²Π° Π΄ΠΎΡ€ΠΈ ClickHouse ΠΈΠΌΠ° спСциалСн Ρ‚ΠΈΠΏ Ρ‚Π°Π±Π»ΠΈΡ†Π° AggregatingMergeTree, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° постСпСнно Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ вмъкванС Π½Π° Π΄Π°Π½Π½ΠΈ.

Но ΠΈΠΌΠ° ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ си мислитС, Ρ‡Π΅ Π½ΠΈΠ΅ Ρ‰Π΅ ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ ΠΈ Ρ‰Π΅ ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ. И Π² някой съсСдСн ΠΎΡ‚Π΄Π΅Π», ΡΡŠΡ‰ΠΎ Π½Π΅ искам Π΄Π° ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠΎΠΉ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ SummingMergeTree Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° сумиранС ΠΏΠΎ ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡ ΠΈ 20 ΠΊΠΎΠ»ΠΎΠ½ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡. Π—Π° всСки случай ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ… ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° някои ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π·Π° конспирация, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π΅ всичко.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Ρ‚Π°ΠΊΠΈΠ²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ΠŸΡŠΡ€Π²ΠΎ, количСството Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅, Π½Π΅ сС намалява Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ. НапримСр, Ρ‚ΠΎΠΉ сС намалява Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ. Π’Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ±Ρ€Π° Ρ†Π΅Π½Π°, Π·Π° Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π°Π½Π°Π»ΠΈΠ·, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ΄Π²Π° с Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Ако Π΄Π°Π½Π½ΠΈΡ‚Π΅ са Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ само ΠΌΠΈΠ·Π΅Ρ€Π½ΠΈ статистики вмСсто Π°Π½Π°Π»ΠΈΠ·ΠΈ.

И ΠΊΠ°ΠΊΠ²ΠΎ Π΅ особСно Π΄ΠΎΠ±Ρ€ΠΎ? Π§Π΅ Ρ‚Π΅Π·ΠΈ Ρ…ΠΎΡ€Π° ΠΎΡ‚ съсСдния ΠΎΡ‚Π΄Π΅Π» ΠΎΡ‚ΠΈΠ²Π°Ρ‚ ΠΈ ΠΏΠΈΡ‚Π°Ρ‚ понякога Π΄Π° добавят ΠΎΡ‰Π΅ Π΅Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° към ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡. ВоСст ΡΡŠΠ±Ρ€Π°Ρ…ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠ° ΠΈ сСга искамС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Но Π² ClickHouse няма Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ някои скриптовС Π½Π° C ++. И Π°Π· Π½Π΅ харСсвам скриптовС, Π΄ΠΎΡ€ΠΈ ΠΈ Π΄Π° са Π½Π° C++.

И Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ създадСн ClickHouse, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ са Ρ‚ΠΎΡ‡Π½ΠΎ сцСнарият, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ са Ρ€ΠΎΠ΄Π΅Π½ΠΈ. Ако ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ClickHouse Π·Π° Π½Π΅Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ всичко ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. Ако ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, Ρ‚ΠΎΠ²Π° понякога Π΅ простимо.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π”Ρ€ΡƒΠ³ интСрСсСн случай са заявкитС Π² Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ Ρ†ΠΈΠΊΡŠΠ». Понякога ΠΎΡ‚ΠΈΠ²Π°ΠΌ Π½Π° някой производствСн ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π³Π»Π΅Π΄Π°ΠΌ show processlist Ρ‚Π°ΠΌ. И всСки ΠΏΡŠΡ‚ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌ, Ρ‡Π΅ сС случва Π½Π΅Ρ‰ΠΎ уТасно.

НапримСр, Π΅Ρ‚ΠΎ Ρ‚ΠΎΠ²Π°. Π’Π΅Π΄Π½Π°Π³Π° става ясно, Ρ‡Π΅ Π΅ възмоТно Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ всичко с Π΅Π΄Π½Π° заявка. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ URL адрСса ΠΈ списъка Ρ‚Π°ΠΌ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π—Π°Ρ‰ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° заявки Π² Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» са лоши? Ако ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ прСминавания Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Π΄Π°Π½Π½ΠΈ. Но Π°ΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° индСкс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡ Π½Π° ru ΠΈ Ρ‚Π°ΠΌ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ url = Π½Π΅Ρ‰ΠΎ. И мислитС, Ρ‡Π΅ Π΅Π΄ΠΈΠ½ url Ρ‰Π΅ бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄. Но наистина Π½Π΅. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ClickHouse ΠΏΡ€Π°Π²ΠΈ всичко Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ.

ΠšΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ някакъв Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎΠΉ Ρ‡Π΅Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ Π² ClickHouse Π΅ Ρ€ΡΠ΄ΡŠΠΊ. Π’ΠΎΠ·ΠΈ индСкс Π½Π΅ Π²ΠΈ позволява Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π° само някакъв Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. И Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС компрСсират Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π—Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄, трябва Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ цСлия Π±Π»ΠΎΠΊ ΠΈ Π΄Π° Π³ΠΎ дСкомпрСсиратС. И Π°ΠΊΠΎ стартиратС ΠΊΡƒΠΏ заявки, Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ прСсичания ΠΎΡ‚ тях ΠΈ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°, ΡΠ²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И ΠΊΠ°Ρ‚ΠΎ бонус ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Π΅ Π² ClickHouse Π½Π΅ трябва Π΄Π° сС страхуватС Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Π΄ΠΎΡ€ΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈ ΠΈ Π΄ΠΎΡ€ΠΈ стотици ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈ Π² сСкцията IN. Бпомням си ΠΎΡ‚ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ρ‡Π΅ Π°ΠΊΠΎ ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ ΠΊΡƒΠΏ стойности Π² сСкцията IN Π² MySQL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ 100 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ някакви числа Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° MySQL изяТда 10 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π½ΠΈΡ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ Π½Π΅ сС случва Ρ‚ΠΎΠ²Π°, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π»Π΅.

И Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ Π΅, Ρ‡Π΅ Π² ClickHouse, Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ заявки ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ индСкс, Ρ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π΅ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΎΡ‚ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ сканиранС, Ρ‚.Π΅. Π°ΠΊΠΎ трябва Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ цялата Ρ‚Π°Π±Π»ΠΈΡ†Π°, Ρ‚ΠΎ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ послСдоватСлно ΠΈ Ρ‰Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ цялата Ρ‚Π°Π±Π»ΠΈΡ†Π°. ΠšΠ°Ρ‚ΠΎ цяло Ρ‚ΠΎΠΉ Ρ‰Π΅ Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅.

Има ΠΎΠ±Π°Ρ‡Π΅ някои трудности. НапримСр, Ρ‡Π΅ IN с подзаявка Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° индСкса. Но Ρ‚ΠΎΠ²Π° си Π΅ наш ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ трябва Π΄Π° Π³ΠΎ ΠΎΠΏΡ€Π°Π²ΠΈΠΌ. Π’ΡƒΠΊ няма Π½ΠΈΡ‰ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ. Π₯Π°ΠΉΠ΄Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ*.

И Π΄Ρ€ΡƒΠ³ΠΎ интСрСсно Π½Π΅Ρ‰ΠΎ Π΅, Ρ‡Π΅ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ дълга заявка ΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° заявка, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚Π°Π·ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ дълга заявка Ρ‰Π΅ бъдС ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½Π° Π΄ΠΎ всСки ΡΡŠΡ€Π²ΡŠΡ€ Π±Π΅Π· компрСсия. НапримСр 100 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° ΠΈ 500 ΡΡŠΡ€Π²ΡŠΡ€Π°. И ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ 50 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’ΠΎΠΉ Ρ‰Π΅ бъдС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ ΠΈ слСд Ρ‚ΠΎΠ²Π° всичко Ρ‰Π΅ бъдС изпълнСно ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

* Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ; всичко бСшС ΠΏΠΎΠΏΡ€Π°Π²Π΅Π½ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ бСшС ΠΎΠ±Π΅Ρ‰Π°Π½ΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

И Ρ‚ΠΎΠ²Π° Π΅ доста чСсто, Π°ΠΊΠΎ заявкитС ΠΈΠ΄Π²Π°Ρ‚ ΠΎΡ‚ API. НапримСр, Π²ΠΈΠ΅ стС Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ някакъв Π²ΠΈΠ΄ услуга. И Π°ΠΊΠΎ някой ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π²Π°ΡˆΠ°Ρ‚Π° услуга, Ρ‚ΠΎΠ³Π°Π²Π° стС ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ»ΠΈ API ΠΈ Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ слСд Π΄Π²Π° Π΄Π½ΠΈ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅, Ρ‡Π΅ сС случва Π½Π΅Ρ‰ΠΎ Π½Π΅Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ. Всичко Π΅ ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΎ ΠΈ ΠΈΠ΄Π²Π°Ρ‚ уТасни заявки, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π΅ трябвало Π΄Π° Π±ΡŠΠ΄Π°Ρ‚.

И ΠΈΠΌΠ° само Π΅Π΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Ако стС ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ»ΠΈ API, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ трябва Π΄Π° Π³ΠΎ ΠΈΠ·Ρ€Π΅ΠΆΠ΅Ρ‚Π΅. НапримСр Π΄Π° Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ някакви ΠΊΠ²ΠΎΡ‚ΠΈ. Π”Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π·ΡƒΠΌΠ½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ няма. Π˜Π½Π°Ρ‡Π΅ Π²Π΅Π΄Π½Π°Π³Π° Ρ‰Π΅ Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ сцСнарий ΠΈ Ρ‰Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

И ClickHouse ΠΈΠΌΠ° спСциална функция - Ρ‚ΠΎΠ²Π° Π΅ изчисляванСто Π½Π° ΠΊΠ²ΠΎΡ‚ΠΈΡ‚Π΅. ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ своя ΠΊΠ²ΠΎΡ‚Π΅Π½ ΠΊΠ»ΡŽΡ‡. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ потрСбитСлски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. И ΠΊΠ²ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‰Π΅ сС изчисляват нСзависимо Π·Π° всСки ΠΎΡ‚ тях.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Π‘Π΅Π³Π° ΠΎΡ‰Π΅ Π½Π΅Ρ‰ΠΎ интСрСсно. Π’ΠΎΠ²Π° Π΅ Ρ€ΡŠΡ‡Π½Π° рСпликация.

Π—Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ случаи, Π² ΠΊΠΎΠΈΡ‚ΠΎ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ClickHouse ΠΈΠΌΠ° Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° рСпликация, Ρ…ΠΎΡ€Π°Ρ‚Π° ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ ClickHouse Ρ€ΡŠΡ‡Π½ΠΎ.

Какъв Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡŠΡ‚? Π˜ΠΌΠ°Ρ‚Π΅ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ. И Ρ€Π°Π±ΠΎΡ‚ΠΈ нСзависимо, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ. ΠŸΠΈΡˆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ Π² ClickHouse, Ρ‚Π°ΠΊΠ° Π΄Π° сС ΠΊΠ°ΠΆΠ΅. Вярно, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ всС ΠΏΠ°ΠΊ Ρ‰Π΅ сС Ρ€Π°Π·ΠΌΠΈΠ½Π°Π²Π°Ρ‚ ΠΏΠΎΡ€Π°Π΄ΠΈ някои особСности Π½Π° вашия ΠΊΠΎΠ΄. Надявам сС, Ρ‡Π΅ във вашия.

И ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ всС ΠΎΡ‰Π΅ трябва Π΄Π° синхронизиратС Ρ€ΡŠΡ‡Π½ΠΎ. НапримСр вСднъТ мСсСчно администраторитС правят rsync.

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° рСпликация Π² ClickHouse. Но ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° някои противопоказания, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ZooKeeper. Няма Π΄Π° ΠΊΠ°ΠΆΠ° Π½ΠΈΡ‰ΠΎ лошо Π·Π° ZooKeeper, ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ систСмата Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ сС случва Ρ…ΠΎΡ€Π°Ρ‚Π° Π΄Π° Π½Π΅ я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎΡ€Π°Π΄ΠΈ java-фобия, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ClickHouse Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π΄ΠΎΠ±Ρ€Π° систСма, написана Π½Π° C ++, която ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΈ всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄ И ZooKeeper Π² java. И ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄ΠΎΡ€ΠΈ Π½Π΅ искатС Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅, Π½ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€ΡŠΡ‡Π½ΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½Π΅.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

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

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΈ машини Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. ClickHouse Π΅ Ρ‚Π°ΠΊΡŠΠ² конструктор, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° ΠΊΡƒΠΏ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ машини Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Π—Π° всички сСриозни случаи, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ написано Π² докумСнтацията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΎΡ‚ сСмСйството MergeTree. И всичко останало - Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ°, Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ случаи ΠΈΠ»ΠΈ Π·Π° тСстовС.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π° MergeTree Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π΄Π°Ρ‚Π° ΠΈ час. ВсС ΠΎΡ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Ако няма Π΄Π°Ρ‚Π° ΠΈ час, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅, Ρ‡Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 2000. Π©Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ няма Π΄Π° изисква рСсурси.

А Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ Π΄Π° посочитС, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ пСрсонализирано раздСлянС Π±Π΅Π· ΠΊΠ»ΡŽΡ‡ Π·Π° дял. Π©Π΅ бъдС ΡΡŠΡ‰ΠΎΡ‚ΠΎ.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΈ машини Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. НапримСр, ΠΏΠΎΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ вСднъТ ΠΈ Π²ΠΈΠΆΡ‚Π΅, Π·Π°Π²ΡŠΡ€Ρ‚Π΅Ρ‚Π΅ ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠΉΡ‚Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Log.

Или ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π·Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ StripeLog ΠΈΠ»ΠΈ TinyLog.

ΠŸΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΠΎ количСство Π΄Π°Π½Π½ΠΈ ΠΈ просто Π·Π°Π²ΡŠΡ€Ρ‚Π΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ Π² RAM.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ClickHouse Π½Π΅ харСсва ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π½ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ.

Π•Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΠ²Π° Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ Π±Ρ€ΠΎΠΉ URL адрСси. ΠŸΠΎΡΡ‚Π°Π²ΡΡ‚Π΅ Π³ΠΈ Π² ΡΡŠΡΠ΅Π΄Π½Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. И Ρ‚ΠΎΠ³Π°Π²Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ JOIN с тях, Π½ΠΎ Ρ‚ΠΎΠ²Π° няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ClickHouse ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само Hash JOIN. Ако няма Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ RAM Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° JOIN няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ *.

Ако Π΄Π°Π½Π½ΠΈΡ‚Π΅ са с висока кардиналност, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ сС притСснявайтС, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ Π³ΠΈ Π² Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, URL адрСситС са Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° място Π² Π³Π»Π°Π²Π½Π°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°.

* ΠΈ сСга ClickHouse ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π·Π° сливанС ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² условия, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π½Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π°Ρ‚ Π² RAM. Но Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠ°Ρ‚Π° остава Π² сила.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

ΠžΡ‰Π΅ няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½ΠΎ Π²Π΅Ρ‡Π΅ сС съмнявам Π΄Π°Π»ΠΈ са Π°Π½Ρ‚ΠΈΡˆΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅.

ClickHouse ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ извСстСн Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ. Π’ΠΎΠΉ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° *. Π’ извСстСн смисъл Ρ‚ΠΎΠ²Π° Π΄ΠΎΡ€ΠΈ Π΅ Π΄ΠΎΠ±Ρ€Π΅. Ако ΠΈΠΌΠ°Ρ‚Π΅ някои Π²Π°ΠΆΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ счСтоводство, Ρ‚ΠΎΠ³Π°Π²Π° Π½ΠΈΠΊΠΎΠΉ няма Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ няма Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

* ΠΎΡ‚Π΄Π°Π²Π½Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ.

Но ΠΈΠΌΠ° някои спСциални Π½Π°Ρ‡ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΄Π° сС ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ. НапримСр Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏ ReplaceMergeTree. Π’Π΅ правят Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° сливанСто Π½Π° Ρ„ΠΎΠ½Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅. Но Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ чСсто, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° напълно Ρ‰Π΅ ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅ дяла.

Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ JOIN Π² ClickHouse - Ρ‚ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π·Π»Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° заявки.

Π›ΠΎΡˆΠΎ, Π½ΠΎ понякога Π΄ΠΎΠ±Ρ€Π΅.

ИзползванС Π½Π° ClickHouse само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ с select*.

НС Π±ΠΈΡ… ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ClickHouse Π·Π° обСмисти изчислСния. Но Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ съвсСм вярно, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²Π΅Ρ‡Π΅ сС ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π°Π²Π°ΠΌΠ΅ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠ°. И наскоро Π΄ΠΎΠ±Π°Π²ΠΈΡ…ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π² ClickHouse - Catboost. И Ρ‚ΠΎΠ²Π° ΠΌΠ΅ притСснява, Π·Π°Ρ‰ΠΎΡ‚ΠΎ си мисля: β€žΠšΠ°ΠΊΡŠΠ² уТас. Π•Ρ‚ΠΎ ΠΊΠΎΠ»ΠΊΠΎ Ρ†ΠΈΠΊΡŠΠ»Π° Π½Π° Π±Π°ΠΉΡ‚ сС ΠΎΠΊΠ°Π·Π²Π°! Π—Π° ΠΌΠ΅Π½ Π΅ ΠΆΠ°Π»ΠΊΠΎ Π΄Π° стартирам часовникови Ρ†ΠΈΠΊΠ»ΠΈ Π½Π° Π±Π°ΠΉΡ‚ΠΎΠ²Π΅.

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ClickHouse. АлСксСй Миловидов (ЯндСкс)

Но Π½Π΅ сС страхувайтС, инсталирайтС ClickHouse, всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄. Ако Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΎ, Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ общност. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, общността стС Π²ΠΈΠ΅. И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ някакви ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½Π΅ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π² нашия Ρ‡Π°Ρ‚ ΠΈ сС надявам, Ρ‡Π΅ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΠΌ.

Π’ΡŠΠΏΡ€ΠΎΡΠΈ

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! КъдС Π΄Π° сС ΠΎΠΏΠ»Π°Ρ‡Π° Π·Π° срива Π½Π° ClickHouse?

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΠΎΠΏΠ»Π°Ρ‡Π΅Ρ‚Π΅ Π»ΠΈΡ‡Π½ΠΎ Π½Π° ΠΌΠ΅Π½ ΠΎΡ‰Π΅ сСга.

Наскоро Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ClickHouse. Π’Π΅Π΄Π½Π°Π³Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π° cli интСрфСйса.

Какъв Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚.

Малко ΠΏΠΎ-късно пуснах ΡΡŠΡ€Π²ΡŠΡ€Π° с малък сСлСкт.

Имаш Ρ‚Π°Π»Π°Π½Ρ‚.

ΠžΡ‚Π²ΠΎΡ€ΠΈΡ… Π³Ρ€Π΅ΡˆΠΊΠ° Π² GitHub, Π½ΠΎ тя бСшС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Π½Π°.

Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ.

АлСксСй ΠΌΠ΅ ΠΏΠΎΠ΄ΠΌΠ°ΠΌΠΈ Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°ΠΌ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΠΊΠ°Ρ‚ΠΎ ΠΌΠΈ ΠΎΠ±Π΅Ρ‰Π° Π΄Π° ΠΌΠΈ ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ притискатС Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π²ΡŠΡ‚Ρ€Π΅.

Много просто.

Π’ΠΎΠ²Π° Ρ€Π°Π·Π±Ρ€Π°Ρ… Π²Ρ‡Π΅Ρ€Π°. ΠŸΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠ°.

Няма ΡΡ‚Ρ€Π°ΡˆΠ½ΠΈ Ρ‚Ρ€ΠΈΠΊΠΎΠ²Π΅. Π’ΠΎΠ²Π° Π΅ просто компрСсия Π±Π»ΠΎΠΊ ΠΏΠΎ Π±Π»ΠΎΠΊ. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ LZ4, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ZSTD*. Π‘Π»ΠΎΠΊΠΈΡ€Π° ΠΎΡ‚ 64 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π° Π΄ΠΎ 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚.

* ΠΈΠΌΠ° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° спСциализирани ΠΊΠΎΠ΄Π΅Ρ†ΠΈ Π·Π° компрСсиранС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ във Π²Π΅Ρ€ΠΈΠ³Π° с Π΄Ρ€ΡƒΠ³ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ.

Π‘Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ само Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π»ΠΈ са?

НС Ρ‚ΠΎΡ‡Π½ΠΎ сурово. Има масиви. Ако ΠΈΠΌΠ°Ρ‚Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π°, Ρ‚ΠΎΠ³Π°Π²Π° числата Π² Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ сС ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Ρ‚ Π² масив.

Ясно С.

АлСксСй, ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ бСшС с uniqExact ΠΏΡ€Π΅Π· IP адрСси, Ρ‚.Π΅. Ρ„Π°ΠΊΡ‚ΡŠΡ‚, Ρ‡Π΅ uniqExact ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π±Ρ€ΠΎΠ΅Π½Π΅ ΠΏΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ числа ΠΈ Ρ‚.Π½. Ами Π°ΠΊΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ„ΠΈΠ½Ρ‚ с ΡƒΡˆΠΈ ΠΈ замятамС Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° корСкцията? ВоСст Ρ‚ΠΈ ΠΌΠ°ΠΉ ΠΊΠ°Π·Π°, Ρ‡Π΅ Π½Π° диска Π½Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ. Ако Ρ‡Π΅Ρ‚Π΅ΠΌ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ диска, кастамС, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈΠ»ΠΈ Π½Π΅? Или всС ΠΎΡ‰Π΅ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠ΅Ρ‡Π΅Π»ΠΈΠΌ Ρ‚ΡƒΠΊ? Π‘Ρ‚Ρ€ΡƒΠ²Π° ΠΌΠΈ сС, Ρ‡Π΅ стС Π³ΠΎ тСствали, Π½ΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½Π΅ стС Π³ΠΎ посочили Π² Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°.

Мисля, Ρ‡Π΅ Ρ‰Π΅ Π΅ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π±Π΅Π· кастинг. Π’ Ρ‚ΠΎΠ·ΠΈ случай IP Π°Π΄Ρ€Π΅ΡΡŠΡ‚ трябва Π΄Π° бъдС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ ΠΎΡ‚ Π½ΠΈΠ·Π°. Π Π°Π·Π±ΠΈΡ€Π° сС, Π² ClickHouse Π°Π½Π°Π»ΠΈΠ·ΡŠΡ‚ Π½Π° IP адрСс ΡΡŠΡ‰ΠΎ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½. Много сС постарахмС, Π½ΠΎ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ място имаш числата, написани Π² дСсСтхилядна Ρ„ΠΎΡ€ΠΌΠ°. Много Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, функцията uniqExact Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ Π²ΡŠΡ€Ρ…Ρƒ Π½ΠΈΠ·ΠΎΠ²Π΅, Π½Π΅ само Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° са Π½ΠΈΠ·ΠΎΠ²Π΅, Π½ΠΎ ΠΈ Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ ΠΈΠ·Π±Ρ€Π°Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° спСциализация Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ°. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅Ρ‚Π΅ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½.

И Π°ΠΊΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΠΎ-ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π΅Π½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½ΠΈ? НапримСр Ρ‚Π΅ записаха потрСбитСлското ΠΈΠΌΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅, записаха Π³ΠΎ ΠΊΠ°Ρ‚ΠΎ линия ΠΈ слСд Ρ‚ΠΎΠ²Π° Π³ΠΎ кастнаха, Ρ‰Π΅ бъдС Π»ΠΈ ΠΏΠΎ-Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅?

Бъмнявам сС. Мисля, Ρ‡Π΅ Ρ‰Π΅ бъдС ΠΎΡ‰Π΅ ΠΏΠΎ-Ρ‚ΡŠΠΆΠ½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ€Π°Π·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° числа Π΅ сСриозСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘Ρ‚Ρ€ΡƒΠ²Π° ΠΌΠΈ сС, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ»Π΅Π³Π° Π΄ΠΎΡ€ΠΈ Π΅ ΠΈΠΌΠ°Π» Π΄ΠΎΠΊΠ»Π°Π΄ ΠΊΠΎΠ»ΠΊΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ числа Π² дСсСтхилядна Ρ„ΠΎΡ€ΠΌΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅.

АлСксСй, ΠΌΠ½ΠΎΠ³ΠΎ благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! И ΠΌΠ½ΠΎΠ³ΠΎ благодаря Π·Π° ClickHouse! Имам Π²ΡŠΠΏΡ€ΠΎΡ относно ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅. Има Π»ΠΈ функция Π² ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° нСпълно Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Ρ‡Π½ΠΈΡ†ΠΈ?

Ρ‚.Π΅. частично рСстартиранС?

Π”Π° Π΄Π°. ΠšΠ°Ρ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ MySQL ΠΏΠΎΠ»Π΅ Ρ‚Π°ΠΌ, Ρ‚.Π΅. Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΉΡ‚Π΅ слСд Ρ‚ΠΎΠ²Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ само Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π΄Π° сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚, Π°ΠΊΠΎ Ρ€Π΅Ρ‡Π½ΠΈΠΊΡŠΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ голям.

Много интСрСсна функция. И, струва ΠΌΠΈ сС, някой Π³ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ Π² нашия Ρ‡Π°Ρ‚. МоТС Π±ΠΈ Π΄ΠΎΡ€ΠΈ си Π±ΠΈΠ» Ρ‚ΠΈ.

НС мисля Ρ‚Π°ΠΊΠ°.

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΎ, сСга сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π΄Π²Π΅ заявки. И ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π±Π°Π²Π½ΠΎ. Но искам Π΄Π° Π²ΠΈ прСдупрСдя Π²Π΅Π΄Π½Π°Π³Π°, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ функция Π΅ доста лСсна Π·Π° изпълнСниС. ВоСст Π½Π° тСория просто трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° вСрсията Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅: вСрсията Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΎΡ‚ Ρ‚Π°ΠΊΠ°Π²Π° ΠΈ Ρ‚Π°ΠΊΠ°Π²Π°. А Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½Π°ΠΉ-вСроятно Ρ‰Π΅ Π³ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ Π½Π° Снтусиасти. Π’ΠΈΠ΅ стС Снтусиаст?

Π”Π°, Π½ΠΎ Π·Π° съТалСниС Π½Π΅ Π² C++.

Π’Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π»ΠΈ Π΄Π° ΠΏΠΈΡˆΠ°Ρ‚ Π½Π° C++?

Π©Π΅ намСря някой.

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π΅Π½*.

* функцията Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΄Π²Π° мСсСца слСд Π΄ΠΎΠΊΠ»Π°Π΄Π° - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π΅ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° ΠΈ Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½Π° ΠΎΡ‚ Π½Π΅Π³ΠΎ pull request.

Благодаря Π²ΠΈ!

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π‘ΠΏΠΎΠΌΠ΅Π½Π°Ρ…Ρ‚Π΅, Ρ‡Π΅ ClickHouse консумира ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ рСсурси. И говоритСлят Π΄ΠΎ Luxoft Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си Π·Π° рускитС ΠΏΠΎΡ‰ΠΈ. Π’ΠΎΠΉ ΠΊΠ°Π·Π°, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ харСсват ClickHouse, Π½ΠΎ Π½Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ вмСсто основния си ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°Ρ‰ΠΎΡ‚ΠΎ изядС цСлия процСсор. И Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ…Π° Π΄Π° Π³ΠΎ вмСстят Π² своята Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π² своя ZooKeeper с Π΄ΠΎΠΊΠ΅Ρ€ΠΈ. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ ClickHouse, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π½Π΅ консумира всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΡƒ станС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ?

Π”Π°, възмоТно Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ лСсно. Ако искатС Π΄Π° консумиратС ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ядра, просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ set max_threads = 1. И Ρ‚ΠΎΠ²Π° Π΅ всичко, Ρ‚ΠΎΠΉ Ρ‰Π΅ изпълни заявката Π² Π΅Π΄Π½ΠΎ ядро. ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ настройки Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π’Π°ΠΊΠ° Ρ‡Π΅ няма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. И ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ ΠΎΡ‚ Luxoft, Ρ‡Π΅ Π½Π΅ Π΅ Π΄ΠΎΠ±Ρ€Π΅, Ρ‡Π΅ Π½Π΅ са Π½Π°ΠΌΠ΅Ρ€ΠΈΠ»ΠΈ Ρ‚Π°Π·ΠΈ настройка Π² докумСнтацията.

АлСксСй, Π·Π΄Ρ€Π°Π²Π΅ΠΉ! Π‘ΠΈΡ… искал Π΄Π° Π·Π°Π΄Π°ΠΌ Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‡ΡƒΠ²Π°ΠΌ, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ClickHouse ΠΊΠ°Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΊΠ°Π·Π°Ρ…Ρ‚Π΅ Π΄Π° Π½Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, тоСст Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ дълги Ρ€Π΅Π΄ΠΎΠ²Π΅. Какво мислиш Π·Π° Ρ‚ΠΎΠ²Π°?

ΠŸΡŠΡ€Π²ΠΎ, Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ са дълги Ρ€Π΅Π΄ΠΎΠ²Π΅. Има, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. НапримСр, някаква услуга, написана Π½Π° java, Ρ…Π²ΡŠΡ€Π»Ρ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ сС рСгистрира. И Ρ‚Π°ΠΊΠ° Π² Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ²Π°Π½Π΅ Π½Π° пространството Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск. Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто. Ако Π»ΠΈΠ½ΠΈΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ дълги, Ρ‚ΠΎΠ³Π°Π²Π° Π³ΠΈ ΠΈΠ·Ρ€Π΅ΠΆΠ΅Ρ‚Π΅. Какво ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° дълго? ДСсСтки ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ΠΈ Π΅ лошо *.

* Π² послСднитС вСрсии Π½Π° ClickHouse Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° "Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Π° дСтайлност Π½Π° индСкса", ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° със ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° дълги Π½ΠΈΠ·ΠΎΠ²Π΅ Π² ΠΏΠΎ-голямата си част.

Π•Π΄ΠΈΠ½ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Π»ΠΈ Π΅?

Π’ΠΎΠ²Π° Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ.

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Π’Π΅Ρ‡Π΅ ΠΏΠΎΠΏΠΈΡ‚Π°Ρ… Π·Π° Ρ‚ΠΎΠ²Π° Π² Ρ‡Π°Ρ‚Π°, Π½ΠΎ Π½Π΅ помня Π΄Π°Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Има Π»ΠΈ някакъв ΠΏΠ»Π°Π½ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° сСкцията WITH ΠΏΠΎ CTE Π½Π°Ρ‡ΠΈΠ½?

ВсС ΠΎΡ‰Π΅ Π½Π΅. Частта Π‘ΠͺΠ‘ Π΅ някак нСсСриозна. Π’ΠΎΠ²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΌΠ°Π»ΠΊΠ° функция Π·Π° нас.

Π Π°Π·Π±ΠΈΡ€Π°ΠΌ. Благодаря Ρ‚ΠΈ!

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Много интСрСсно! Π³Π»ΠΎΠ±Π°Π»Π΅Π½ Π²ΡŠΠΏΡ€ΠΎΡ. ΠŸΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π° Π»ΠΈ сС Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° някакви ΠΌΡŠΠ½ΠΈΡ‡Π΅Ρ‚Π°, модификация Π½Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ?

Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π½ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π² Π½Π°ΡˆΠ°Ρ‚Π° опашка. Π‘Π΅Π³Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ мислим ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ всичко ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. И трябва Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° натискатС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°*.

* натисна Π±ΡƒΡ‚ΠΎΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π° ΠΈ всичко бСшС Π³ΠΎΡ‚ΠΎΠ²ΠΎ.

Π©Π΅ повлияС Π»ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π½Π° производитСлността Π½Π° систСмата ΠΈΠ»ΠΈ Π½Π΅? Π©Π΅ бъдС Π»ΠΈ Π²Π»ΠΎΠΆΠΊΠ°Ρ‚Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·Π°, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ сСга?

МоТС Π±ΠΈ самитС изтривания, самитС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΆΠΊΠΈ, Π½ΠΎ Ρ‚ΠΎΠ²Π° няма Π΄Π° повлияС ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ Π½Π° производитСлността Π½Π° ΠΈΠ·Π±Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ производитСлността Π½Π° Π²ΠΌΡŠΠΊΠ²Π°Π½ΠΈΡΡ‚Π°.

И ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ малък Π²ΡŠΠΏΡ€ΠΎΡ. На прСзСнтацията Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…Ρ‚Π΅ Π·Π° ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ раздСлянС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ мСсСчно ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π½Π°Π»ΠΈ? И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠ±ΠΈΡ€Π° Π² Π΅Π΄ΠΈΠ½ мСсСц, Ρ‚ΠΎΠ³Π°Π²Π° Π½ΠΈΠ΅ Ρ‡Π΅Ρ‚Π΅ΠΌ само Ρ‚ΠΎΠ·ΠΈ дял, Π½Π°Π»ΠΈ?

Π”Π°.

Π’ΡŠΠΏΡ€ΠΎΡ. Ако Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π»ΠΈ Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΠΎΠ»Π΅Ρ‚ΠΎ β€žΠ”Π°Ρ‚Π°β€œ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ във Ρ„ΠΎΠ½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ Π΄Π° ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ прСструктуриранС Π½Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° сС ΠΏΠΎΠ±Π΅Ρ€Π°Ρ‚ ΠΏΠΎ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Π½Π°Ρ‡ΠΈΠ½? Ако няматС заявки Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Π΄ΠΎΡ€ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡, струва Π»ΠΈ си Π΄Π° поставитС Π΄Π°Ρ‚Π° Π² ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡?

Π”Π°.

МоТС Π±ΠΈ ΠΈΠΌΠ° смисъл Π΄Π° поставитС Π² ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ»Π΅, Ρ‡Ρ€Π΅Π· ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ компрСсирани, Π°ΠΊΠΎ са сортирани ΠΏΠΎ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»Π΅. НапримСр потрСбитСлско ΠΈΠΌΠ΅. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΈΠ²Π° Π½Π° ΡΡŠΡ‰ΠΈΡ сайт. Π’ Ρ‚ΠΎΠ·ΠΈ случай поставСтС потрСбитСлското ΠΈΠΌΠ΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. И Ρ‚ΠΎΠ³Π°Π²Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ компрСсирани. Π©ΠΎ сС отнася Π΄ΠΎ Π΄Π°Ρ‚Π°Ρ‚Π°, Π°ΠΊΠΎ наистина няматС ΠΈ Π½ΠΈΠΊΠΎΠ³Π° няматС заявки Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° Π΄Π°Ρ‚ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС Π΄Π°Ρ‚Π°Ρ‚Π° Π² ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΈΡ ΠΊΠ»ΡŽΡ‡.

Π”ΠΎΠ±Ρ€Π΅, благодаря Ρ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ!

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€