Π’Π΅Π·ΠΈΡΡ
- ClickHouse β ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π―Π½Π΄Π΅ΠΊΡΠΎΠΌ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
- ΠΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΡΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
- ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ β MergeTree, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ.
- ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ: ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SQL.
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΎΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΠ°ΡΠΊΠΈ.
ClickHouse β ΡΡΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π―Π½Π΄Π΅ΠΊΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ , ΠΊΠ°ΠΊ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ΅ΡΡΠΈΠΊΠ° ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΠ°Π·Π²ΠΈΡΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
ClickHouse Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ Π·Π° ΡΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΈΡΠ°ΡΡΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, Π½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
- ΠΠΎΠ»ΠΎΠ½ΠΎΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ.
- ΠΠ°ΠΏΠΈΡΠ°Π½Π° Π½Π° C++ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ ΠΊΠ°ΠΊ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ΅ΡΡΠΈΠΊΠ°, Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠ° ΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ βΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈβ: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
- ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ: Π°ΠΊΡΠ΅Π½Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (Partition, Tolerance, Availability).
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- ΠΠ΅ΠΊΡΠΎΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ .
- ΠΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ².
- Π§Π°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³Π΅ΠΎΠ΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
- ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ: Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ACID.
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ : Π΄Π°Π½Π½ΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ.
- ΠΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ: ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ .
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ: ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- Π§Π°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SQL: Π½Π΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SQL ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ: MergeTree
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΠΈΡΡΡ Π²ΠΎΠΊΡΡΠ³ Π΄Π²ΠΈΠΆΠΊΠ° MergeTree, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π³Π΄Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΠΠ°ΡΡΠΈΡΠΈΠΈ: ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΡΠΈΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
- ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ: ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ²ΠΎΡΠΌ ΡΠ°ΠΉΠ»Π΅ (
*.bin
). - ΠΠ½Π΄Π΅ΠΊΡΡ: ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»
primary.idx
. ΠΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ N-ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡindex_granularity = 8192
). ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π° ΡΠ°Π· Π²ΡΡΠΈΡΡΠ²Π°Π΅Ρ ClickHouse, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΠ΅. - Π€Π°ΠΉΠ»Ρ Π·Π°ΡΠ΅ΡΠ΅ΠΊ: Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
*.mrk2
.
ΠΠ° Π±Π°Π·Π΅ MergeTree ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ :
- ReplacingMergeTree:
- ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ΄Π°Π»ΡΡΡ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ.
- ΠΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡ Π»ΠΎΠΏΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ.
- SummingMergeTree:
- ΠΠΎΠΆΠ΅Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
- ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π·Π°Π΄Π°Ρ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ.
- AggregatingMergeTree:
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ , Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ.
- CollapsingMergeTree:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅
sign
(Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 ΠΈΠ»ΠΈ -1), ΡΡΠΎΠ±Ρ ΡΡ Π»ΠΎΠΏΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. - ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠ° Ρ sign = -1 ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Ρ sign = 1.
- Π‘Ρ Π»ΠΎΠΏΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ 1).
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅
Π Π°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ
ΠΡΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ :
- ΠΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ (ΠΏΠ°ΡΡ).
- Π ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ClickHouse ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΏΠ°ΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· 8 ΠΌΠΈΠ½ΡΡ).
- ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π½Π΅ Π·Π°Π΄Π°Π½Ρ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ, Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²ΡΡΠ°Π²ΠΎΠΊ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ:
- ΠΠ°Π½Π½ΡΠ΅ ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² ORDER BY. ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅.
- ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ :
- ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄Π΅ΠΊ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΠ²ΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π°ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄Π΅ΠΊ.
- ΠΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΠΏΠ°ΡΡΠΎΠ² Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΈ ΡΠΆΠΈΠΌΠ°ΡΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. ΠΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ:
- ΠΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° MergeTree.
- Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ .
- Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΆΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ INSERT ΠΈ ALTER.
- ΠΠ»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ZooKeeper:
- ΠΡΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ZooKeeper ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ read-only.
- ZooKeeper ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΆΠ°ΠΌΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.
- Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ master-master: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆΠ°ΠΌΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΡΠ΅ΡΠ΅Π· ZooKeeper.
- ΠΡΠΎΠΌΠ°ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π±Π»ΠΎΠΊΠΎΠ² Ρ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ: Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 100 Π²ΡΡΠ°Π²ΠΎΠΊ Ρ ΡΠ°Π½ΠΈΡΡΡ Ρ Π΅Ρ-ΡΡΠΌΠΌΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ClickHouse ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ:
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΡΠ°Π²ΠΎΠΊ
- ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ. ΠΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΏΠ°ΡΡΠΎΠ², ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
- KittenHouse β Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° Go (ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² VK).
- ClickHouse-bulk β ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΎΠ²ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ.
- Buffer Table β Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠ±Π»Π°ΡΡΡ:: 00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ::
ΠΡΡΠΎΡΠ½ΠΈΠΊ::
Π‘ΠΎΠ·Π΄Π°Π½Π°:: 2024-11-26
ΠΠ²ΡΠΎΡ::