ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π‘Π£ΠΠ ClickHouse ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ ΡΡΡΠΎΠΊ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΡ ΡΠ΅ΡΡΡΡΡ. ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ClickHouse ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠΎΡΠ΅ΡΠΎΠ² ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΡΠΈΠΏΠ΅ Π΄Π°Π½Π½ΡΡ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΡΠΈΠΏΠ΅, LowCardinality, ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
β Π‘Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ.
Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . String Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅Π³ΠΎ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π°. Π£ Π½Π΅Π³ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Overhead β 9 Π±Π°ΠΉΡ Π½Π° ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊ Π±ΡΠ» ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π·Π°ΡΠ°Π½Π΅Π΅, ΡΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FixedString. Π Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Π½Π°ΠΌ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡ, ΠΎΠ½ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΡΠΈΠΏΠ° IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΡΠΌΠΎΠ·ΠΈΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅. ClickHouse ΡΠΈΡΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ
, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 100 ΠΠ/Ρ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠΎΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°Π»ΠΎ. Π£ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΡΠ°Π½ΡΡ ΠΏΠΎΡΡΠΈ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ· Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ClickHouse ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ, Π½ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΠΈΡΠ°Π΅ΡΡΡ Π² ΡΡΠΈ ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅.
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΆΠ°ΡΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΠΎ ΠΎΠ½ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΡΡΠΈ ΡΠ°Π²Π½ΡΠΉ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ β ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ ΡΠΈΡΠ΅Π» β ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² Π²ΠΈΠ΄Π΅ UInt64, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β Π² String. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π²ΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΠ»ΡΡΠ΅ ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΈΡΠΊΠ° ΠΈ ΡΠ°Π·ΠΆΠΈΠΌΠ°Π΅Ρ ΠΈΡ
.
ΠΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π΅ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΎΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ 1000 ΠΈΠ»ΠΈ 10Β 000 ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π°ΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Enum, Π² ClickHouse ΠΈΡ
Π΄Π²Π° β Enum8 ΠΈ Enum16. ΠΠ° ΡΡΠ΅Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² Enum ΠΌΡ Π±ΡΡΡΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π·Π°ΠΏΡΠΎΡΡ.
Π ClickHouse Π΅ΡΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π΄Π»Ρ GROUP BY, IN, DISTINCT ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΈΡΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ, Π°, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Enum. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ Π±ΡΡΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠΎ Π΅ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π½Π°Π΅ΠΌ ΡΠΎΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΡΠΈΠ»Π΅ΡΠ΅Π»Π° Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° β ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ ALTER.
ALTER Π΄Π»Ρ Enum Π² ClickHouse ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ. ΠΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π½ΠΎ ALTER ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΡΠΎΡΠΌΠ°ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΡ Enum Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΡ
Π΅ΠΌΠ΅ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΠ΅? ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄Π°. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ Enum Π½Π΅ Π² ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, Π° Π² ZooKeeper. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π΄Π°Π½Π½ΡΠ΅, Π΄ΡΡΠ³Π°Ρ β Π½Π΅Ρ, ΠΈ Π΅ΡΠ»ΠΈ Ρ Π½Π΅Π΅ ΡΡΠ°ΡΡΠΉ Enum, ΡΠΎ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ. (Π ClickHouse ΠΌΡ ΠΏΠΎΡΡΠΈ Π΄ΠΎΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ ALTER-Π·Π°ΠΏΡΠΎΡΡ. ΠΠΎΠ³Π΄Π° Π΄ΠΎΠ΄Π΅Π»Π°Π΅ΠΌ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΆΠ΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅.)
Π§ΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·ΠΈΡΡΡΡ Ρ ALTER Enum, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ ClickHouse. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΡΠΎ key-value ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
Π²Π½ΡΡΡΠΈ ClickHouse, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠ°Π±Π»ΠΈΡ MySQL.
Π ΡΠ»ΠΎΠ²Π°ΡΠ΅ ClickHouse ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΊ, Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ β ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ dictGet ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π½Π΅ΠΉ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π΅Π»Π°ΡΡ ALTER. Π§ΡΠΎΠ±Ρ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Enum, ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠΎ Π² ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΡ MySQL.
ΠΠΎ ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·Π²Π°ΡΡ dictGet. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Π΄Π»Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ Π·Π°ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π² ΠΊΡΡ-ΡΠ»ΠΎΠ²Π°ΡΠ΅, Π° Π² ΠΊΡΡ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π»Π°. Π’ΠΎΠ³Π΄Π° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°.
ΠΠ±ΡΠΈΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΠ±ΠΎΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² β ΠΌΡ Ρ
ΡΠ°Π½ΠΈΠΌ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ ΠΈΡ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ. Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ»ΠΎΠ²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ? ΠΠ΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ β Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π² ΠΊΡΡΠΊΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ΅. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Insert, Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π² Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ
, ΠΈΠ»ΠΈ Π² ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
Π‘Π»ΠΎΠ²Π°ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ
Π’Π°ΠΊ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² ClickHouse β LowCardinality. ΠΡΠΎ ΡΠΎΡΠΌΠ°Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ : ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΈΡΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊ ΠΈ ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΡ Π΅ΠΌΠ° ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ° ΡΠ»Π°ΠΉΠ΄Π΅ Π΅ΡΡΡ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π‘ΠΏΡΠ°Π²Π° ΡΡΡΠΎΠΊΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ, Π² ΡΠΈΠΏΠ΅ String. ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ². Π‘Π»Π΅Π²Π° Π΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°, ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠΏΠ΅ LowCardinality. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π½ΡΡ
ΡΡΡΠΎΠΊ (ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠΏΡΠ°Π²Π°) ΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΉ (Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΡΡΡΠΊΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅. ΠΠ½Π° Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠ°Π²Π½ΠΈΡΡ, ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΡ ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
LowCardinality β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠΈΡΠ»ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π°, Π»ΠΈΠ±ΠΎ ΡΡΡΠΎΠΊΠΎΠΉ, Π»ΠΈΠ±ΠΎ Nullable ΠΎΡ Π½ΠΈΡ .
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ LowCardinality Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ° ΡΠ»Π°ΠΉΠ΄Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°. Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π» ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ ΡΠΈΠΏΠ° LowCardinality ΠΎΡ String, Π½Π°Π·Π²Π°Π» Π΅Π΅ S. ΠΠ°Π»Π΅Π΅ Ρ ΡΠΏΡΠΎΡΠΈΠ» Π΅Π΅ ΠΈΠΌΡ β ClickHouse ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΡΠΎ LowCardinality ΠΎΡ String. ΠΡΠ΅ Π²Π΅ΡΠ½ΠΎ.
Π’ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΠ° ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π²ΡΠ·Π²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ length. Π ClickHouse ΡΡΠ½ΠΊΡΠΈΡ length Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ UInt64. ΠΠΎ Ρ Π½Π°Ρ ΡΡΠ°Π»ΠΎ LowCardinality ΠΎΡ UInt64. Π ΡΠ΅ΠΌ ΡΠΌΡΡΠ»?
Π ΡΠ»ΠΎΠ²Π°ΡΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ length. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ ΡΡΠ°Π» Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠΈΡΠ΅Π», β ΡΡΠΎ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊ. Π‘ΡΠΎΠ»Π±Π΅Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡΠΌΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΡΡ. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ»ΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΡΡΠ°. ΠΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ GROUP BY, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π° β ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ bucket, ΠΊΡΠ΄Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ uniq, Π²Π΅Π΄Ρ Π² Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌΠΈ β ΡΠ°ΠΊ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡ ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ClickHouse.
Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ Π½Π°ΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²ΡΡΠ°Π²ΠΈΠΌ Π² Π½Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»ΠΎΡ
ΠΈΡ
ΡΠ°Π·Π½ΡΡ
ΡΡΡΠΎΠΊ? ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΡΡΡ Π»ΠΈ Π½Π°ΡΠ° ΠΏΠ°ΠΌΡΡΡ? ΠΠ΅Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π² ClickHouse Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ΅ΡΠ²Π°Ρ β low_cardinality_max_dictionary_size. ΠΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΄ΠΈΡΠΊ. ΠΡΡΠ°Π²ΠΊΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΊ Π½Π°ΠΌ ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊ ΡΡΡΠΎΠΊ, ΠΈΠ· Π½ΠΈΡ
ΠΌΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΠΈΠΊ. ΠΡΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠΈΠΊ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ Π½Π° Π΄ΠΈΡΠΊ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ β Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Β«ΡΠ±ΠΎΠΊΡΒ», ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΠ°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ.
ΠΡΠΎΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ low_cardinality_use_single_dictionary_for_part. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅, Π½Π°Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ, ΠΈ ΠΌΡ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΊ. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, Π° ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ?
ΠΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΡΡΡ, ΠΌΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π½Π°ΡΠ½Π΅ΠΌ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΠΈΠΉ. ΠΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ Β«ΠΌΡΡΠΎΡΒ». Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ Ρ ΠΎΡΠΎΡΠΈΠ΅. Π’ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. Π§Π°ΡΡΡ ΠΈΠ· Π½ΠΈΡ Π±ΡΠ΄ΡΡ Ρ Β«ΠΌΡΡΠΎΡΠΎΠΌΒ», Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ Ρ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. Π Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠΎΡΠΈΡΠ°Π΅ΠΌ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π³ΡΠ°Π½ΡΠ»Ρ, ΡΠΎ Π²ΡΠ΅ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠΎ.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ
LowCardinality, ΡΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ ΠΌΡ Π²ΡΡΠ΄ Π»ΠΈ Π΄ΠΎΠ±ΡΠ΅ΠΌΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° Π΄ΠΈΡΠΊΠ΅ (Ρ
ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ClickHouse ΡΠΆΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅. ΠΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β LZ4. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ZSTD. ΠΠΎ ΠΎΠ±Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ClickHouse Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
Π§ΡΠΎΠ±Ρ Π½Π΅ Π±ΡΡΡ Π³ΠΎΠ»ΠΎΡΠ»ΠΎΠ²Π½ΡΠΌ, Ρ Π²Π·ΡΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΌΠ΅ΡΡΠΈΠΊΠΈ β String, LowCardinality(String) ΠΈ Enum β ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» ΠΈΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΡΠΈ ΡΡΠΎΠ»Π±ΡΠ°, Π³Π΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ ΡΡΡΠΎΠΊ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅, CodePage, Π²ΡΠ΅Π³ΠΎ 62 Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² LowCardinality(String) Π½Π°ΠΌ ΡΠΆΠ°Π»ΠΈ ΠΈΡ Π»ΡΡΡΠ΅. String ΡΡΡΡ ΠΏΠΎΡ ΡΠΆΠ΅, Π½ΠΎ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅, ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ ΠΈΡ Π΄Π»ΠΈΠ½Ρ, Π° ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, ΠΏΠ»ΠΎΡ ΠΎ ΡΠΆΠΈΠΌΠ°ΡΡΡΡ.
ΠΡΠ»ΠΈ Π²Π·ΡΡΡ PhoneModel, ΠΈΡ 48 ΡΡΡΡΡ β ΡΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅, ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ String ΠΈ LowCardinality(String) ΠΏΠΎΡΡΠΈ ΡΡΠΎ Π½Π΅Ρ. ΠΠ»Ρ URL ΠΌΡ ΡΠΎΠΆΠ΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 2 ΠΠ β Π΄ΡΠΌΠ°Ρ, Π½Π΅ ΡΡΠΎΠΈΡ Π½Π° ΡΡΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ.
ΠΡΠ΅Π½ΠΊΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ. Π§ΡΠΎΠ±Ρ Π΅Π΅ ΠΎΡΠ΅Π½ΠΈΡΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΄Π°ΡΠ°ΡΠ΅Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΅Π·Π΄ΠΎΠΊ ΡΠ°ΠΊΡΠΈ Π² ΠΡΡ-ΠΠΎΡΠΊΠ΅. ΠΠ½
ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Ρ ΡΠ΄Π΅Π»Π°Π» Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ β ΡΠΏΡΠΎΡΠΈΠ», Π³Π΄Π΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π»ΠΎΠΊΠ°ΡΠΈΡ, ΠΎΡΠΊΡΠ΄Π° Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ, ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎ Π½Π΅ΠΉ GROUP BY ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ count. ΠΠΎΡ ClickHouse ΡΡΠΎ-ΡΠΎ Π²ΡΠ΄Π°Π΅Ρ.
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°, Ρ ΡΠΎΠ·Π΄Π°Π» ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΡΡΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
β String, LowCardinality ΠΈ Enum. LowCardinality ΠΈ Enum ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π² ΠΏΡΡΡ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ String. Enum Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ. LowCardinality β ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ GROUP BY.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΅ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ β ΡΠΏΡΠΎΡΠΈΠΌ, Π³Π΄Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΠ°ΡΠΊ Π² ΠΡΡ-ΠΠΎΡΠΊΠ΅. ΠΠΏΡΡΡ ΠΆΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΠΏΠΎ ΡΠΎΠΌΡ, Π³Π΄Π΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΡΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΠΈΠ»ΡΡΡΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π»ΠΎΠΊΠ°ΡΠΈΠΈ, Π³Π΄Π΅ Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΏΠ°ΡΠΊΒ». Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ like.
Π‘ΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ β Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Enum Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π½Π°ΡΠ°Π» ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ. ΠΡΠΈΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½ Π΅ΡΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
String. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ like ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Enum. ΠΠ°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Enum Π² ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ β ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ. LowCardinality(String) ΡΠΎΠΆΠ΅ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ ΡΠ°ΠΌ like ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠΊΠΎΡΡΠ΅ΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ String.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Enum Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΅Π³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ β Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Enum. Π Π² LowCardinality Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ, Π±ΠΎΠ»Π΅Π΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ. ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠΈΡΠ°Π΅ΠΌ Ρ
Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡ Π½Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°ΡΠΈΠΈ. Π₯Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ, ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ»Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡΡ ΡΠ°Π·Π° Π² ΡΡΠΈ.
LowCardinality Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, Ρ
ΠΎΡΡ ΡΡΡ Π½Π΅Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ. Π£ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ
Π΅ΡΠ° ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ LowCardinality.
ΠΠ°Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ β Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π΅ Π½ΠΈΠΆΠ΅, ΡΠ΅ΠΌ Ρ String Π² Π»ΡΠ±ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ. Π, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΌΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ String Π½Π° LowCardinality, Π²Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ClickHouse, ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π±ΡΡΡΡΠ΅Π΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com