Раскладка ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π°: Как ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚: Π²ΠΈΠ΄Ρ‹ рисунков

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚: Π²ΠΈΠ΄Ρ‹ рисунков

Часто ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½ΡƒΡŽ доску, Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠΆΠ΅ послС Π΅Ρ‘ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ. И ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ зря: красивый способ ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ нСвСроятно мСняСт Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, ΠΈ этот способ зависит ΠΎΡ‚ исходных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΎΠΉ доски. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π’Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с самыми эстСтичными ΠΈ популярными способами ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ доску подходящих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством ΠΎΡ‚Ρ…ΠΎΠ΄ΠΎΠ².

Π‘Π°ΠΌΡ‹Π΅ популярныС Π²ΠΈΠ΄Ρ‹ рисунка Π½Π° ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠ»Ρƒ
«Ёлочка»

Π£ΠΊΠ»Π°Π΄ΠΊΠ° доски Β«Ρ‘Π»ΠΎΡ‡ΠΊΠΎΠΉΒ» – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых примСняСмых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² для дСрСвянного ΠΏΠΎΠ»Π°. Доски ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ двумя рядами, располоТСнными ΠΏΠΎΠ» ΡƒΠ³Π»ΠΎΠΌ 90 градусов Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ. ΠŸΡ€ΠΈ этом свСт ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ряды ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… досок ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌ ΡƒΠ³Π»ΠΎΠΌ, ΠΈ каТСтся, Ρ‡Ρ‚ΠΎ доски ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ, хотя это Π½Π΅ Ρ‚Π°ΠΊ. ΠžΠ±Ρ‰ΠΈΠΉ рисунок ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ‘Π»ΠΊΡƒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. «Ёлочка» – это классика совСтских ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€ ΠΈ общСствСнных Π·Π΄Π°Π½ΠΈΠΉ, Π½ΠΎ ΠΎΠ½Π° ΠΏΠΎ сСй дСнь сохранила Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ.

Β«ΠŸΠ°Π»ΡƒΠ±Π½Ρ‹ΠΉΒ» рисунок

БчитаСтся самым простым для исполнСния, напоминая ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈΠ· Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΈΡ€ΠΏΠΈΡ‡Π΅ΠΉ. Доски ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рядами, соСдинСния досок приходятся Π½Π° Ρ†Π΅Π½Ρ‚Ρ€ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ доски ΠΈΠ· сосСдних ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… рядов. Но ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ соСдинСния Π³Π΄Π΅-ΡƒΠ³ΠΎΠ΄Π½ΠΎ: Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ связывая мСста соСдинСний с сСрСдиной досок.

Π’Π°ΠΊΠΎΠΉ способ ΠΎΡ…ΠΎΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ манипуляций Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹: ΡƒΠ·ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ, укладывая ряды досок ΠΏΠΎΠΏΠ΅Ρ€Ρ‘ΠΊ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ – вдоль.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠ°Π»ΡƒΠ±Π½Ρ‹ΠΉ способ Ρ…ΠΎΡ€ΠΎΡˆ Β«ΠΌΠ°Π½Π΅Π²Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΒ»: ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ мСста соСдинСний досок, ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ сразу Π΄Π²Π° ряда ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ, чСрСдуя с двумя рядами со смСщСниСм стыков, ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ряды ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ стСнам ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠ°Π»ΡƒΠ±Π½Ρ‹ΠΉ способ ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° оставляСт ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ссли количСство доски Β«Π²ΠΏΡ€ΠΈΡ‚Ρ‹ΠΊΒ».

Β«ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Β» (Β«ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Ρ‹Β»)

Π­ΠΊΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΈ просто способ, ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠ°Π»ΠΎ ΠΎΡ‚Ρ…ΠΎΠ΄ΠΎΠ². ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΡƒΠΊΠ»Π°Π΄ΠΊΡƒ досок рядами, Π³Π΄Π΅ 3,4 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ досок (Π² зависимости ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ доски: 3, 4 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ досок Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ суммС ΡˆΠΈΡ€ΠΈΠ½ Ρ€Π°Π²Π½Ρ‹ Π΄Π»ΠΈΠ½Π΅ доски) ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Ρ‘Ρ‚ ряд ΠΈΠ· ΡΡ‚ΠΎΠ»ΡŒΠΊΠΈΡ… ΠΆΠ΅ досок ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ 90 градусов. Из-Π·Π° Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ свСта ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ ΠΈΠ· досок Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, поэтому ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎ Ρ†Π²Π΅Ρ‚Ρƒ доски, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ для ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ контраст.

«Шашки со смСщСниСм» (Β«ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ со смСщСниСм»)

Основой являСтся ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ способ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ доски ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΡΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π° расстояниС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ доски Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ Π²Π²Π΅Ρ€Ρ…. Β«ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹Β» Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠ°ΠΌΠΈ с Ρ€Π΅Π±Ρ€ΠΎΠΌ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠ΄Π½ΠΎΠΉ доски. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ интСрСсный Π²ΠΈΠ΄. Для ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ доски Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ‘ΠΌΠ½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° (Ссли Π΅ΡΡ‚ΡŒ остатки досок ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹).

Β«ΠšΠΎΡ€Π·ΠΈΠ½ΠΊΠ°Β» (Β«ΠΏΠ»Π΅Ρ‚Ρ‘Π½ΠΊΠ°Β»)

Π’ основС – Ρ‚Π°ΠΊΠΆΠ΅ Β«ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Β», Π½ΠΎ шашки ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π° доски Π½Π΅ Ρ€Π°Π²Π½Π° суммС ΡˆΠΈΡ€ΠΈΠ½. ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Β«ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°Β», Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ· доски. Π’Π½Π΅ΡˆΠ½Π΅ выглядит ΠΊΠ°ΠΊ плСтёная ΠΊΠΎΡ€Π·ΠΈΠ½ΠΊΠ°, выглядит ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈ эстСтично. МоТно ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ рядов ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

Β«Π ΠΎΠΌΠ±Β»

Π£ΠΊΠ»Π°Π΄ΠΊΠ° ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° Ρ€ΠΎΠΌΠ±Π°ΠΌΠΈ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· слоТных способов: доски ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ, Π° стыки придётся ΡΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ для соСдинСния рисунка. Бпособ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Ρ‹ΠΉ, Π½ΠΎ доски ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· фиксации ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ со смСщСниСм ΠΎΠ΄Π½Π° Π²Ρ‹ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΈ Ρ€ΠΎΠ²Π½ΠΎ ΡΠΏΠΈΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Если Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ «шашки», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ интСрСсный эффСкт ΠΎΠ±ΡŠΡ‘ΠΌΠ½ΠΎΠ³ΠΎ изобраТСния.

Β 


Β 

Β 


Β 

ВСхнология ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° – Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΠΌ, БНиП ΠΈ Π“ΠžΠ‘Π’ Β«ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚Ρ€Β»

Π’ процСссС выполнСния ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, описанными Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…:

БНиП 3. 04.01-87 Β«Π˜Π·ΠΎΠ»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΎΡ‡Π½Ρ‹Π΅ покрытия» Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Π“ΠžΠ‘Π’ 862.1-85 «ИздСлия ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚ ΡˆΡ‚ΡƒΡ‡Π½Ρ‹ΠΉ. ВСхничСскиС условия» Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Π“ΠžΠ‘Π’ 862.3-86 «ИздСлия ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. Доски ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. ВСхничСскиС условия» Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Π“ΠžΠ‘Π’ 8242-88 Β«Π”Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ· дрСвСсины ΠΈ дрСвСсных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°. ВСхничСскиС условия» Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Π’Π  114-01 Β«Π’Π£ ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ устройства покрытия ΠΏΠΎΠ»Π° ΠΈΠ· Π»Π°ΠΌΠΈΠ½Π°Ρ‚-ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π°Β» Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° БНиП 3.04.01-87

Β«Π˜Π·ΠΎΠ»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΎΡ‡Π½Ρ‹Π΅ покрытия»

ВрСбования Π΄Π°Π½Π½ΠΎΠ³ΠΎ БНиП Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° производство ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ устройству ΠΏΠΎΠ»ΠΎΠ² Π·Π΄Π°Π½ΠΈΠΉ ΠΈ сооруТСний.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ НормативныС трСбования
ΠžΠ±Ρ‰ΠΈΠ΅ трСбования ΠŸΠ΅Ρ€Π΅Π΄ устройством ΠΏΠΎΠ»ΠΎΠ², Π² конструкции ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ издСлия ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π½Π° основС дрСвСсины, Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡˆΡ‚ΡƒΠΊΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΈ Π΄Ρ€. Ρ€Π°Π±ΠΎΡ‚Ρ‹, связанныС с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ увлаТнСния ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ. ΠŸΡ€ΠΈ устройствС этих ΠΏΠΎΠ»ΠΎΠ² ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π΄ΠΎ сдачи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 60%.
ВрСбования ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ элСмСнтам ΠΏΠΎΠ»Π° Для стяТСк ΠΏΠΎΠ΄ покрытия ΠΈΠ· ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° просвСты ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΉΠΊΠΎΠΉ ΠΈ провСряСмой ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2 ΠΌΠΌ. ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ плоскости элСмСнта ΠΎΡ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠΊΠ»ΠΎΠ½Π° – Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 0,2% ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° помСщСния.
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΡ€ΠΈ ΠΈΡ… ΡƒΠΊΠ»Π°Π΄ΠΊΠ΅ Π² напольноС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ: – для досок покрытия ΠΈ основания – 12%; – ΡˆΡ‚ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π°, ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… досок ΠΈ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ‰ΠΈΡ‚ΠΎΠ² – 10%.
ВрСбования ΠΊ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΠΏΠΎΠ»Π° ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ повСрхности покрытия ΠΎΡ‚ плоскости ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π΅ΠΉΠΊΠΎΠΉ для ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈ Π΄ΠΎΡ‰Π°Ρ‚Ρ‹Ρ… ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2 ΠΌΠΌ. Уступы ΠΌΠ΅ΠΆΠ΄Ρƒ покрытиями ΠΈ элСмСнтами окаймлСния ΠΏΠΎΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2 ΠΌΠΌ. ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠΊΠ»ΠΎΠ½Π° ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ – Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 0,2% ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° помСщСния, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 50 ΠΌΠΌ.

ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΏΠΎ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π΅ покрытия – Π½Π΅ Π±ΠΎΠ»Π΅Π΅10% ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ.

Π—Π°Π·ΠΎΡ€Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ: – ΠΌΠ΅ΠΆΠ΄Ρƒ досками Π΄ΠΎΡ‰Π°Ρ‚ΠΎΠ³ΠΎ покрытия – 1,0 ΠΌΠΌ; – ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ доскам ΠΈ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ Ρ‰ΠΈΡ‚Π°ΠΌΠΈ – 0,5 ΠΌΠΌ; – ΠΌΠ΅ΠΆΠ΄Ρƒ смСТными ΠΏΠ»Π°Π½ΠΊΠ°ΠΌΠΈ ΡˆΡ‚ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° – 0,3 ΠΌΠΌ.

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ покрытия Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΠΈΠ½, Ρ‚Ρ€Π΅Ρ‰ΠΈΠ½, Π²ΠΎΠ»Π½, Π²Π·Π΄ΡƒΡ‚ΠΈΠΉ, приподнятых ΠΊΡ€ΠΎΠΌΠΎΠΊ.

ГосударствСнный стандарт Π“ΠžΠ‘Π’ 862.1-85

«ИздСлия ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚ ΡˆΡ‚ΡƒΡ‡Π½Ρ‹ΠΉ.

ВСхничСскиС условия»

ВрСбования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π“ΠžΠ‘Π’Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° ΡˆΡ‚ΡƒΡ‡Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для устройства ΠΏΠΎΠ»ΠΎΠ² Π² помСщСниях ΠΆΠΈΠ»Ρ‹Ρ… ΠΈ общСствСнных Π·Π΄Π°Π½ΠΈΠΉ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ НормативныС трСбования
ΠŸΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ отклонСния ΠΎΡ‚ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ +/- 0.3 ΠΌΠΌ – ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ +/- 0.2 ΠΌΠΌ – ΠΏΠΎ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π΅ +/- 0.2 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ пСрпСндикулярности ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΡ€ΠΎΠΌΠΊΠΈ ΠΈ Ρ‚ΠΎΡ€Ρ†Π° Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 0.2 ΠΌΠΌ Π½Π° Π΄Π»ΠΈΠ½Π΅ 100 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ плоскостности – ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΡŒΠ½ΠΎΠΉ – 0,6 ΠΌΠΌ (Π² расчСтС Π½Π° Π΄Π»ΠΈΠ½Ρƒ 1 ΠΌ) – ΠΏΠΎΠΏΠ΅Ρ€Π΅Ρ‡Π½ΠΎΠΉ – 0,2 ΠΌΠΌ (Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΠ»Π°Π½ΠΊΠΈ)
ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ поврСТдСния (ΠΎΡ‚Ρ‰Π΅ΠΏ, скол, Π²Ρ‹Ρ€Ρ‹Π², Π·Π°Π΄ΠΈΡ€ ΠΈ Ρ‚.ΠΏ.) Π½Π° Π»ΠΈΡ†Π΅Π²ΠΎΠΉ сторонС ΠΏΠ»Π°Π½ΠΎΠΊ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ дрСвСсины ΠΏΡ€ΠΈ ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŽ 9% +/- 3% *
ΠŸΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ дСфСктности ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Π½ΠΎΠΊ 4% ΠΎΡ‚ объСма ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ Π² ΡˆΡ‚ΡƒΠΊΠ°Ρ…

ГосударствСнный стандарт Π“ΠžΠ‘Π’ 862.

3-86

«ИздСлия ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. Доски ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅. ВСхничСскиС условия»

ВрСбования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π“ΠžΠ‘Π’Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ доски, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для устройства ΠΏΠΎΠ»ΠΎΠ² Π² ΠΆΠΈΠ»Ρ‹Ρ… зданиях.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ НормативныС трСбования
ΠŸΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ отклонСния ΠΎΡ‚ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ +/- 2,0 ΠΌΠΌ – ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ +/- 0.3ΠΌΠΌ – ΠΏΠΎ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π΅ +/- 0.2 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ пСрпСндикулярности смСТных ΠΊΡ€ΠΎΠΌΠΎΠΊ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 0.3 ΠΌΠΌ Π½Π° Π΄Π»ΠΈΠ½Π΅ 100 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ прямолинСйности – ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΡŒΠ½ΠΎΠΉ (Π² расчСтС Π½Π° Π΄Π»ΠΈΠ½Ρƒ 1 ΠΌ): ΠΏΠΎ Π»ΠΈΡ†Π΅Π²ΠΎΠΉ сторонС – 5,0 ΠΌΠΌ ΠΏΠΎ ΠΊΡ€ΠΎΠΌΠΊΠ΅ – 0,5 ΠΌΠΌ – ΠΏΠΎΠΏΠ΅Ρ€Π΅Ρ‡Π½ΠΎΠΉ – 1,0 ΠΌΠΌ Π½Π° 100 ΠΌΠΌ
ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ поврСТдСния (ΠΎΡ‚Ρ‰Π΅ΠΏ, скол, Π²Ρ‹Ρ€Ρ‹Π², Π·Π°Π΄ΠΈΡ€, Π²Ρ‹Ρ‰Π΅Ρ€Π±ΠΈΠ½Π°) Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° Π»ΠΈΡ†Π΅Π²ΠΎΠΉ сторонС ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 0,5 ΠΌΠΌ ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 10 ΠΌΠΌ
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ дрСвСсины ΠΏΡ€ΠΈ ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΠ΅ досок ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŽ 8% +/- 2%
ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ Π»Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ покрытия Π½Π΅ Π½ΠΈΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ 4-Π³ΠΎ класса ΠΏΠΎ Π“ΠžΠ‘Π’ 24404
Π’ΠΎΠ»Ρ‰ΠΈΠ½Π° Π»Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ»Π΅Π½ΠΊΠΈ, нанСсСнной Π² заводских условиях Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 60 ΠΌΠΊΠΌ (ΠΌΠΈΠΊΡ€ΠΎΠ½)
АдгСзия Π»Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ покрытия ΠΊ дрСвСсинС Π½Π΅ Π½ΠΈΠΆΠ΅ Π±Π°Π»Π»Π° 3 ΠΏΠΎ Π“ΠžΠ‘Π’ 15140
ΠŸΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ дСфСктности ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… досок 4% ΠΎΡ‚ объСма ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ Π² ΡˆΡ‚Ρƒ

ГосударствСнный стандарт Π“ΠžΠ‘Π’ 8242-88

Β«Π”Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ· дрСвСсины ΠΈ дрСвСсных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

ВСхничСскиС условия»

ВрСбования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π“ΠžΠ‘Π’Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° доски ΠΈ бруски для покрытия ΠΏΠΎΠ»ΠΎΠ², плинтусы, Π½Π°Π»ΠΈΡ‡Π½ΠΈΠΊΠΈ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ НормативныС трСбования
ΠŸΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ отклонСния ΠΎΡ‚ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ – ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ +/- 3,0 ΠΌΠΌ – ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ +/- 1,0 ΠΌΠΌ – ΠΏΠΎ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π΅ +/- 1,0 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ пСрпСндикулярности сторон Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 1,0 ΠΌΠΌ Π½Π° Π΄Π»ΠΈΠ½Π΅ 100 ΠΌΠΌ
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ плоскостности (ΠΏΠΎΠΊΠΎΡ€ΠΎΠ±Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ) для досок ΠΏΠΎΠ»Π°. Π’ΠΎ ΠΆΠ΅, для плинтусов – ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ – 3,0 ΠΌΠΌ Π½Π° 1 ΠΌ Π΄Π»ΠΈΠ½Ρ‹; – ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ – 2,0 ΠΌΠΌ являСтся допустимым, Ссли ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ устранСно Π»Π΅Π³ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊ Ρ€ΠΎΠ²Π½ΠΎΠΉ повСрхности
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ прямолинСйности любой ΠΊΡ€ΠΎΠΌΠΊΠΈ доски ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 70 ΠΌΠΌ, ΠΏΠΎ Π΅Π΅ Π΄Π»ΠΈΠ½Π΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2 ΠΌΠΌ Π½Π° 1 ΠΌ Π΄Π»ΠΈΠ½Ρ‹
ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ поврСТдСния (Π²Ρ‹Ρ€Ρ‹Π², вмятина, скол, Π·Π°Π΄ΠΈΡ€, Π²Ρ‹Ρ‰Π΅Ρ€Π±ΠΈΠ½Π° ΠΈ Ρ‚. ΠΏ.) Π½Π° Π»ΠΈΡ†Π΅Π²ΠΎΠΉ сторонС досок, ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 0,5 ΠΌΠΌ
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ дрСвСсины ΠΏΡ€ΠΈ ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŽ 12% +/- 3% *
ΠŸΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ дСфСктности Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ 4% ΠΎΡ‚ объСма ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ Π² ΡˆΡ‚ΡƒΠΊΠ°Ρ…

Π’Π•Π₯ΠΠ˜Π§Π•Π‘ΠšΠ˜Π• Π Π•ΠšΠžΠœΠ•ΠΠ”ΠΠ¦Π˜Π˜ Π’Π  114-01

β€œΠ’Π£ ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ устройства покрытия ΠΏΠΎΠ»Π° ΠΈΠ· Π»Π°ΠΌΠΈΠ½Π°Ρ‚-паркСта”

ВрСбования Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ устройства покрытия ΠΏΠΎΠ»Π° ΠΈΠ· Π»Π°ΠΌΠΈΠ½Π°Ρ‚-ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° для ΠΆΠΈΠ»Ρ‹Ρ… ΠΈ общСствСнных Π·Π΄Π°Π½ΠΈΠΉ

Π’ΠΎ врСмя устройства покрытия ΠΏΠΎΠ»Π° ΠΈΠ· Π»Π°ΠΌΠΈΠ½Π°Ρ‚-ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ НормативныС трСбования
Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π² помСщСниях Π½Π΅ Π½ΠΈΠΆΠ΅ 15 Β°Π‘
ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 60 %.
ΠŸΡ€ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΆΠ΅Π»Π΅Π·ΠΎΠ±Π΅Ρ‚ΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ стяТки ΠΈΠ· Ρ†Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎ-пСсчаного раствора Π½Π΅ Π½ΠΈΠΆΠ΅ 15 МПа (150 кГс/см2)
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π±Π΅Ρ‚ΠΎΠ½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π΅ допускаСтся Π²Ρ‹ΡˆΠ΅ 4 %,
Π’Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ стяТки ΠΈΠ· раствора Π½Π΅ допускаСтся Π²Ρ‹ΡˆΠ΅ 5 %.
ΠžΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ повСрхности основания ΠΎΡ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ плоскости Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 0,2 %

БоблюдСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ Π½ΠΎΡ€ΠΌ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для получСния качСствСнного напольного покрытия.

ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ | Apache Parquet

ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ: (PLAIN = 0)

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹: всС

Π­Ρ‚ΠΎ простая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ для Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. ЗначСния ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ подряд.

ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Π­Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

  • BOOLEAN: Π£ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±ΠΈΡ‚, LSB сначала
  • INT32: 4 Π±Π°ΠΉΡ‚Π° с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ²
  • INT64: 8 Π±Π°ΠΉΡ‚ с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ²
  • INT96: 12 Π±Π°ΠΉΡ‚ΠΎΠ² с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ² (устарСло)
  • FLOAT: 4 Π±Π°ΠΉΡ‚Π° с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ² IEEE
  • DOUBLE: 8 Π±Π°ΠΉΡ‚ΠΎΠ² с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ² IEEE
  • BYTE_ARRAY: Π΄Π»ΠΈΠ½Π° Π² 4 Π±Π°ΠΉΡ‚Π° с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ², Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹, содСрТащиСся Π² массивС
  • 2 : Π±Π°ΠΉΡ‚Ρ‹, содСрТащиСся Π² массивС

Для Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² это Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ². ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² IEEE.

Для Ρ‚ΠΈΠΏΠ° Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ массива Π΄Π»ΠΈΠ½Π° кодируСтся ΠΊΠ°ΠΊ 4-байтовая малСнькая endian, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° словаря (PLAIN_DICTIONARY = 2 ΠΈ RLE_DICTIONARY = 8)

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° словаря создаСт ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ столбцС. ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π° страницС словаря для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° столбца. ЗначСния хранятся ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа с использованиСм Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ³ΠΎ кодирования RLE/Bit-Packing. Если ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ становится слишком большим, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° вСрнСтся ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° словаря записываСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ страницами Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° столбца.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ страницы словаря: ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² словарС – Π² порядкС словаря – с использованиСм простой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ страницы Π΄Π°Π½Π½Ρ‹Ρ…: Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для кодирования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² записСй, хранящихся ΠΊΠ°ΠΊ 1 Π±Π°ΠΉΡ‚ (макс. Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ = 32), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ значСния, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ с использованиСм описанной Π²Ρ‹ΡˆΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ RLE/Bit (с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ).

ИспользованиС значСния пСрСчислСния PLAIN_DICTIONARY Π½Π΅ рСкомСндуСтся Π² спСцификации Parquet 2.0. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RLE_DICTIONARY Π½Π° страницС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ PLAIN Π½Π° страницС словаря для Ρ„Π°ΠΉΠ»ΠΎΠ² Parquet 2.0+.

Π“ΠΈΠ±Ρ€ΠΈΠ΄ кодирования Π΄Π»ΠΈΠ½ сСрий ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π±ΠΈΡ‚ΠΎΠ² (RLE = 3)

Π’ этом ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ комбинация ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π±ΠΈΡ‚ΠΎΠ² ΠΈ кодирования Π΄Π»ΠΈΠ½ сСрий для Π±ΠΎΠ»Π΅Π΅ эффСктивного хранСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° для этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, учитывая Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ:

 rle-bit-packed-hybrid:  
length := Π΄Π»ΠΈΠ½Π°  Π² Π±Π°ΠΉΡ‚Π°Ρ…, хранящихся ΠΊΠ°ΠΊ 4 Π±Π°ΠΉΡ‚Π° с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ² (Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° 32)
Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ := *
run :=  | 
bit-packed-run :=  
Π±ΠΈΡ‚-ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ := varint-encode( << 1 | 1)
// ΠΌΡ‹ всСгда ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 8 значСниям Π·Π° Ρ€Π°Π·, поэтому ΠΌΡ‹ сохраняСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ / 8
Π±ΠΈΡ‚-ΠΏΠ°ΠΊΠ΅Ρ‚-ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ-ΠΏΡ€ΠΎΠ³ΠΎΠ½-Π΄Π»ΠΈΠ½Π° := (Π±ΠΈΡ‚-ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½-ΠΏΡ€ΠΎΠ³ΠΎΠ½-Π΄Π»ΠΈΠ½Π°) / 8
bit-packed-run-len := *см. 3 ниТС*
Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ значСния := *см. 1 Π½ΠΈΠΆΠ΅*
rle-run :=  <ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>
rle-header := varint-encode( (rle-run-len) << 1)
rle-run-len := *см. 3 ниТС*
ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ := Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ повторяСтся с использованиСм фиксированной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ округлСния Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π°ΠΉΡ‚Π° (битовая ΡˆΠΈΡ€ΠΈΠ½Π°)
 
  1. Битовая ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° здСсь выполняСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ порядкС, Ρ‡Π΅ΠΌ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. ЗначСния ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ младшСго Π·Π½Π°Ρ‡Π°Ρ‰Π΅Π³ΠΎ Π±ΠΈΡ‚Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π΄ΠΎ самого ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π°, хотя порядок Π±ΠΈΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ остаСтся Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ порядкС ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠ³ΠΎ ΠΊ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ значСния, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅:

    Числа ΠΎΡ‚ 1 Π΄ΠΎ 7 с Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ 3:

     dec value: 0 1 2 3 4 5 6 7
    Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 000 001 010 011 100 101 110 111
    ΠΌΠ΅Ρ‚ΠΊΠ° Π±ΠΈΡ‚Π°: ABC DEF GHI JKL MNO PQR STU VWX
     

    Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±Π°ΠΉΡ‚ΠΎΠ² (3 Π±Π°ΠΉΡ‚Π°):

     Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 10001000 11000110 11111010
    битовая ΠΌΠ΅Ρ‚ΠΊΠ°: HIDEFABC RMNOJKLG VWXSTUPQ
     

    ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ порядка ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ мСньшС Π³Ρ€Π°Π½ΠΈΡ† слов Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ². ΠΏΡ€ΠΈ дСсСриализации Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π·Π° Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ 4 Π±Π°ΠΉΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹ Π² 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр (ΠΈΠ»ΠΈ 8 Π±Π°ΠΉΡ‚ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ рСгистрС), ΠΈ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ распакованы просто сдвиг ΠΈ опСрация Π˜Π›Π˜ с маской. (Ρ‡Ρ‚ΠΎΠ±Ρ‹ эта оптимизация Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π° машинС с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ порядком Π±Π°ΠΉΡ‚ΠΎΠ², Π²Π°ΠΌ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ порядок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ)

  2. varint-encode() β€” ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ULEB-128, см. https://en.wikipedia.org/wiki/LEB128

  3. bit-packed-run-len ΠΈ rle-run-len Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ [1, 2 31 - 1]. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ рСализация Parquet всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° Π² подписанном Ρ„Π°ΠΉΠ»Π΅. 32-Π±ΠΈΡ‚Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число. Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ Parquet 2.5.0 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсий. спСцификации, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π³ΠΈ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ самым ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠΌ. Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π±Ρ‹Π»ΠΎ нСбСзопасно для Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Parquet.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ кодирования RLE поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² data:

  • Π£Ρ€ΠΎΠ²Π½ΠΈ повторСния ΠΈ опрСдСлСния
  • Π‘Π»ΠΎΠ²Π°Ρ€Π½Ρ‹Π΅ индСксы
  • ЛогичСскиС значСния Π½Π° страницах Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ PLAIN ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ устарСло ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ RLE/bit-packing. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кодируСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ. ΠœΠ΅ΠΆΠ΄Ρƒ значСниями Π½Π΅Ρ‚ заполнСния (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ послСднСго Π±Π°ΠΉΡ‚Π°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дополняСтся нулями. НапримСр, Ссли ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ повторСния Ρ€Π°Π²Π΅Π½ 3 (2 Π±ΠΈΡ‚Π°), Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ чСткости Ρ€Π°Π²Π΅Π½ 3 (2 Π±ΠΈΡ‚Π°), для кодирования 30 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρƒ нас Π±Ρ‹Π»ΠΎ Π±Ρ‹ 30 * 2 = 60 Π±ΠΈΡ‚ = 8 Π±Π°ΠΉΡ‚.

    Π­Ρ‚Π° рСализация устарСла, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π³ΠΈΠ±Ρ€ΠΈΠ΄ RLE/Π±ΠΈΡ‚-ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ этой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. По сообраТСниям совмСстимости эта рСализация ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ значСния ΠΎΡ‚ самого ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π° Π΄ΠΎ самого младшСго Π±ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ Π³ΠΈΠ±Ρ€ΠΈΠ΄ RLE/bit-packing.

    НапримСр, числа ΠΎΡ‚ 1 Π΄ΠΎ 7 с Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ 3:

     ДСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 0 1 2 3 4 5 6 7
    Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 000 001 010 011 100 101 110 111
    ΠΌΠ΅Ρ‚ΠΊΠ° Π±ΠΈΡ‚Π°: ABC DEF GHI JKL MNO PQR STU VWX
     

    Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±Π°ΠΉΡ‚ΠΎΠ² (3 Π±Π°ΠΉΡ‚Π°):

     Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 00000101 00111001 01110111
    битовая ΠΌΠ΅Ρ‚ΠΊΠ°: ABCDEFGH IJKLMNOP QRSTUVWX
     

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ кодирования BIT_PACKED поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для кодирования ΡƒΡ€ΠΎΠ²Π½ΠΈ повторСния ΠΈ опрСдСлСния.

    Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (DELTA_BINARY_PACKED = 5)

    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹: INT32, INT64

    Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠ· ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Binary, описанной Π² Β«Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² сСкунду посрСдством Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈΒ» Π”. Π›Π΅ΠΌΠΈΡ€Π° ΠΈ Π›. Π‘ΠΎΠΉΡ†ΠΎΠ²Π°.

    Π’ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ для хранСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… чисСл (Π° Π½Π΅ сами Π΄Π΅Π»ΡŒΡ‚Ρ‹). Для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π΅Π· Π·Π½Π°ΠΊΠ° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ULEB128, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся вСрсиСй LEB128 Π±Π΅Π· Π·Π½Π°ΠΊΠ° (https://en.wikipedia.org/wiki/LEB128#Unsigned_LEB128). Для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ со Π·Π½Π°ΠΊΠΎΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·ΠΈΠ³Π·Π°Π³ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (https://developers.google.com/protocol-buffers/docs/encoding#signed-integers), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ULEB128.

    Π”Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ состоит ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊΠΈ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ состоит ΠΈΠ· ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ со своСй Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ.

    Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ опрСдСляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

     <Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° Π² значСниях> <количСство ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ² Π² Π±Π»ΠΎΠΊΠ΅> <ΠΎΠ±Ρ‰Π΅Π΅ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ> <ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>
     
    • Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° ΠΊΡ€Π°Ρ‚Π΅Π½ 128; ΠΎΠ½ хранится ΠΊΠ°ΠΊ ULEB128 int
    • количСство ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ² Π½Π° Π±Π»ΠΎΠΊ являСтся Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΡ… частноС, количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠ΅, ΠΊΡ€Π°Ρ‚Π½ΠΎ 32; ΠΎΠ½ хранится ΠΊΠ°ΠΊ ULEB128 int
    • ΠΎΠ±Ρ‰Π΅Π΅ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ хранится ΠΊΠ°ΠΊ ULEB128 int
    • ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ хранится Π² Π²ΠΈΠ΄Π΅ Π·ΠΈΠ³Π·Π°Π³Π° ULEB128 int

    ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ содСрТит

      <список разрядностСй ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ²> 
     
    • минимальная Π΄Π΅Π»ΡŒΡ‚Π° прСдставляСт собой Π·ΠΈΠ³Π·Π°Π³ ULEB128 int (ΠΌΡ‹ вычисляСм ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π±ΠΈΡ‚ΠΎΠ²)
    • битовая ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° хранится Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚Π°
    • ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊ прСдставляСт собой список ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² соотвСтствии с Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, сохранСнная Π² Π½Π°Ρ‡Π°Π»Π΅ Π±Π»ΠΎΠΊΠ°

    Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ, ΠΌΡ‹:

    1. Вычислим Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами. Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ послСдний элСмСнт Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΈΠ»ΠΈ, Π² случаС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСй ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, сохранСнноС Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅.

    2. Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ систСму отсчСта (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π΅Π»ΡŒΡ‚ Π² Π±Π»ΠΎΠΊΠ΅). Π’Ρ‹Ρ‡Ρ‚ΠΈΡ‚Π΅ эту ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π΅Π»ΡŒΡ‚Ρƒ ΠΈΠ· всСх Π΄Π΅Π»ΡŒΡ‚ Π² Π±Π»ΠΎΠΊΠ΅. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС значСния Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.

    3. ΠšΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ систСму отсчСта (ΠΌΠΈΠ½. Π΄Π΅Π»ΡŒΡ‚Π°) ΠΊΠ°ΠΊ Π·ΠΈΠ³Π·Π°Π³ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ ULEB128 int, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт битовая ΡˆΠΈΡ€ΠΈΠ½Π° ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄Π΅Π»ΡŒΡ‚Π°-значСния (минус Π΄Π΅Π»ΡŒΡ‚Π°), ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊ.

    НаличиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² позволяСт Π½Π°ΠΌ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ измСнСниям Π² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΌ измСнСния систСмы отсчСта (минимальной Π΄Π΅Π»ΡŒΡ‚Ρ‹), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ мСньшим значСниям послС вычитания, Ρ‡Ρ‚ΠΎ, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с мСньшСй Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ .

    Если для заполнСния послСднСго ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠ° нСдостаточно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΡ‹ дополняСм ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° всСгда Ρ€Π°Π²Π½ΡΠ»Π°ΡΡŒ числу Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π½Π° Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ. ЗначСния Π±ΠΈΡ‚ΠΎΠ² заполнСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ, Π½ΠΎ считыватСли Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ заполнСния, состоящиС ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ².

    Если Π² послСднСм Π±Π»ΠΎΠΊΠ΅ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ трСбуСтся ΠΌΠ΅Π½Π΅Π΅ <количСство ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ² Π² Π±Π»ΠΎΠΊΠ΅> ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ², Ρ‚ΠΎ Π±Π°ΠΉΡ‚Ρ‹, хранящиС Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ², всС Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния. Однако для Ρ‚Π΅Π» ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ² Π½Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² заполнСния, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΈΡ… битовая ΡˆΠΈΡ€ΠΈΠ½Π° Π±Ρ‹Π»Π° Ρ€Π°Π²Π½Π° 0 (нСзависимо ΠΎΡ‚ фактичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²). Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, отслСТивая количСство ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π² качСствС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 8, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, Π½ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… случаях это Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСдопустимо.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1

    1, 2, 3, 4, 5

    ПослС шага 1 ΠΌΡ‹ вычисляСм Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΊΠ°ΠΊ:

    1, 1, 1, 1

    Π΄Π΅Π»ΡŒΡ‚Ρ‹ становятся

    0, 0, 0, 0

    ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

    Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: 8 (Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°), 1 (количСство ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ²), 5 (количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ), 1 (ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

    Π±Π»ΠΎΠΊΠ° 1 (минимальная Π΄Π΅Π»ΡŒΡ‚Π°), 0 (битовая ΡˆΠΈΡ€ΠΈΠ½Π°), (для Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ 0 Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ)

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2

    7, 5, 3, 1, 2, 3, 4, 5, Π΄Π΅Π»ΡŒΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚

    -2, -2, -2, 1, 1, 1, 1

    ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ - 2, поэтому ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π΅Π»ΡŒΡ‚Ρ‹:

    0, 0, 0, 3, 3, 3, 3

    Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ

    : 8 (Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°), 1 (количСство ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊΠΎΠ²), 8 (количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ), 7 (ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

    Π±Π»ΠΎΠΊ -2 (минимальная Π΄Π΅Π»ΡŒΡ‚Π°), 2 (Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ), 00000011111111b (0,0,0,3,3,3,3, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ 2 Π±ΠΈΡ‚Π°)

    Π₯арактСристики

    Π­Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ RLE/Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. Однако ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ RLE/bit-packing ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π½Π΅Π²Π΅Π»ΠΈΠΊ ΠΏΠΎ всСй страницС, Ρ‡Ρ‚ΠΎ справСдливо для ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ повторСния ΠΈ опрСдСлСния. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ для всСй страницы. Алгоритм Π΄Π΅Π»ΡŒΡ‚Π°-кодирования, описанный Π²Ρ‹ΡˆΠ΅, сохраняСт Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π½Π° ΠΌΠΈΠ½ΠΈΠ±Π»ΠΎΠΊ ΠΈ ΠΌΠ΅Π½Π΅Π΅ чувствитСлСн ΠΊ измСнСниям Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни выполняСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ RLE, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π»ΠΎΠΊ, содСрТащий всС Ρ‚Π΅ ΠΆΠ΅ значСния, Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΈΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π΄ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ разрядности, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, являясь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ.

    Массив Π±Π°ΠΉΡ‚ΠΎΠ² Π΄Π΅Π»ΡŒΡ‚Π°-Π΄Π»ΠΈΠ½Ρ‹: (DELTA_LENGTH_BYTE_ARRAY = 6)

    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹: BYTE_ARRAY

    Π­Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° всСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ PLAIN для столбцов массива Π±Π°ΠΉΡ‚ΠΎΠ².

    Для этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΡ‹ возьмСм всС Π΄Π»ΠΈΠ½Ρ‹ массива Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° (DELTA_BINARY_PACKED). Π”Π°Π½Π½Ρ‹Π΅ массива Π±Π°ΠΉΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° всСми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π»ΠΈΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ соСдинСны спиной ΠΊ спинС. ОТидаСмая экономия Π·Π° счСт стоимости кодирования Π΄Π»ΠΈΠ½ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅Π΅ сТатиС Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ½ΠΈ большС Π½Π΅ Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‚ΡΡ с Π΄Π»ΠΈΠ½Π°ΠΌΠΈ).

    ΠŸΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… выглядит Ρ‚Π°ΠΊ:

    НапримСр, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Β«HelloΒ», Β«WorldΒ», Β«FoobarΒ», Β«ABCDEFΒ»:

    Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ DeltaEncoding(5, 5, 6, 6) Β«HelloWorldFoobarABCDEFΒ»

    Π”Π΅Π»ΡŒΡ‚Π°-строки: (DELTA_BYTE_ARRAY = 7)

    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹: BYTE_ARRAY

    Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ сТатиС: для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ строк, сохранитС Π΄Π»ΠΈΠ½Ρƒ прСфикса ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ записи плюс суффикс.

    Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС см. Π½Π° страницС https://en.wikipedia.org/wiki/Incremental_encoding.

    БохраняСтся ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π»ΠΈΠ½ прСфиксов Π² Π΄Π΅Π»ΡŒΡ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (DELTA_BINARY_PACKED), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт суффиксы, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ массивы Π±Π°ΠΉΡ‚ΠΎΠ² Π΄Π΅Π»ΡŒΡ‚Π°-Π΄Π»ΠΈΠ½Ρ‹ (DELTA_LENGTH_BYTE_ARRAY).

    Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±Π°ΠΉΡ‚ΠΎΠ²: (BYTE_STREAM_SPLIT = 9)

    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹: FLOAT DOUBLE

    Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ коэффициСнт сТатия ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия.

    Π­Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° создаСт K Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹ N, Π³Π΄Π΅ K β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°ΠΉΡ‚Π°Ρ…. Ρ‚ΠΈΠΏ, Π° N β€” количСство элСмСнтов Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°ΠΉΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния разбросаны ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ. 0-ΠΉ Π±Π°ΠΉΡ‚ ΠΈΠ΄Π΅Ρ‚ Π² 0-ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, 1-ΠΉ Π±Π°ΠΉΡ‚ ΠΈΠ΄Π΅Ρ‚ Π² 1-ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΡ‚ΠΎΠΊΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС: 0-ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, 1-ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ Ρ‚. Π΄.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ β€” это Ρ‚Ρ€ΠΈ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΈ для простоты ΠΌΡ‹ рассмотрим ΠΈΡ… Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ прСдставлСниС.

     Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 0 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2
    Π‘Π°ΠΉΡ‚Ρ‹ AA BB CC DD 00 11 22 33 A3 B4 C5 D6
     

    ПослС примСнСния прСобразования Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ прСдставлСниС:

     Π‘Π°ΠΉΡ‚ AA 00 A3 BB 11 B4 CC 22 C5 DD 33 D6
     

    ПослСднСС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ 24 ΠΌΠ°Ρ€Ρ‚Π° 2022 Π³.: Final Squash (3563721)

    ДСмистификация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»Π° Parquet | Майкл Π‘Π΅Ρ€ΠΊ

    Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для любого Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

    Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ использовали pd.read_csv() Π² pandas? Ну, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 50 Ρ€Π°Π· быстрСС, Ссли Π±Ρ‹ Π²Ρ‹ использовали ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ вмСсто CSV.

    Π€ΠΎΡ‚ΠΎ Майка Π‘Π΅Π½Π½Π° Π½Π° Unsplash

    Π’ этом постС ΠΌΡ‹ обсудим apache parquet, Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ эффСктивный ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π­Ρ‚ΠΎΡ‚ пост ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для спСциалистов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (ML, DE, DS), поэтому ΠΌΡ‹ сосрСдоточимся Π½Π° концСпциях высокого уровня ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ SQL для обсуТдСния основных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, Π½ΠΎ ссылки Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² постС ΠΈ Π² коммСнтариях.

    Π‘Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… слов, Π²ΠΏΠ΅Ρ€Π΅Π΄!

    ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚ Apache β€” это Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ эффСктивноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ хранСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ хранятся Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ столбцов, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Помимо Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия (snappy, gzip, LZO), ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт нСсколько хитростСй для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ числа сканирований Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ кодирования ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

    Если Π²Π°ΠΌ Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚.

    Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ замСдлимся ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π΅ Π½Π° простом английском языкС.

    1 β€” ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° хранСния Π΄Π°Π½Π½Ρ‹Ρ…

    Допустим, ΠΌΡ‹ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ стрСмимся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ ΠΎΠ½Π»Π°ΠΉΠ½-аналитичСскиС процСссы ( OLAP ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой просто Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½Ρ‹Π΅ запросы, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…. НСкоторыми ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² срСдС OLAP, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°ΡƒΠΊΠ° ΠΎ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

    Но ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° дискС?

    Рисунок 1: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прСобразования Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

    Ну, Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сообраТСний, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ ΠΎ Ρ‚ΠΎΠΌ, являСтся Π»ΠΈ нашС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠΌ , Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов OLAP нас Π² основном ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ два…

    • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния : насколько быстро ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
    • Π Π°Π·ΠΌΠ΅Ρ€ Π½Π° дискС : сколько мСста трСбуСтся Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ успСха Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ записи ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΌΡ‹ просто сосрСдоточимся Π½Π° Π΄Π²ΡƒΡ… Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… сСйчас.

    Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CSV-Ρ„Π°ΠΉΠ»ΠΎΠΌ? Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° 87 % мСньшС мСста ΠΈ выполняСт запросы Π² 34 Ρ€Π°Π·Π° быстрСС (1 Π’Π‘ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ S3) β€” src

    2 β€” ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Parquet

    Но ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ CSV ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²? ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ β€” схСма хранСния…

    2.1 β€” Гибридная схСма хранСния

    Когда ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ структуру. Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ написан ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ столбСц, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Π·Π°Ρ‚Π΅ΠΌ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ? Или ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строки?

    Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ сущСствуСт Ρ‚Ρ€ΠΈ основных ΠΌΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π½Π°ΡˆΡƒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² 1:

    1. На основС строк: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ хранят строки (CSV).
    2. На основС столбцов: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ столбцы (ORC).
    3. Π“ΠΈΠ±Ρ€ΠΈΠ΄-Π±Π°Π·Π°: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ куски столбцов (ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚).

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ графичСскоС прСдставлСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· этих Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π½Π° рисункС 2.

    Рисунок 2: 3 основных Ρ‚ΠΈΠΏΠ° хранСния. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивны для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов OLAP, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹.

    ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ β€” это процСсс Π²Ρ‹Π±ΠΎΡ€Π° столбцов β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SELECT Π² SQL-запросС. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Π»ΡƒΡ‡ΡˆΠ΅ всСго поддСрТиваСтся ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Π½Π° основС столбцов. НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ столбСц Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ°ΠΊΠ΅Ρ‚ Π½Π° основС столбцов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ n индСксов Π² нашСм Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ эффСктивно, ΠΏΡ€Π°Π²Π΄Π°?

    ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ β€” это ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Π²Ρ‹Π±ΠΎΡ€Π° строк.0159 ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE Π² запросС SQL. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π½Π° основС строк. Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ всС строки Π² соотвСтствии с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ критСриями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Int >= 2 , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠΎ Int (ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ), ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° наши ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Ρ‹, ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС строки Π²Ρ‹ΡˆΠ΅ этой нСдопустимой строки.

    Π’ ΠΎΠ±ΠΎΠΈΡ… этих сцСнариях ΠΌΡ‹ стрСмимся ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π° . А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΡƒΠΊΠ° ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ подмноТСства ΠΊΠ°ΠΊ строк, Ρ‚Π°ΠΊ ΠΈ столбцов, гибридная структура Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π½Π΅Ρ‡Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ столбцовыми ΠΈ строковыми Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

    ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ столбчатым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ. Однако ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ столбцов, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части рисунка 2, гибридная схСма хранСния являСтся Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ описаниСм.

    ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ столбцов, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Но ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄?

    2.2 β€” ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π°

    ΠžΡ‚Π²Π΅Ρ‚ β€” Π³Ρ€ΠΎΠΌΠΊΠΎΠ΅ Β«Π΄Π°Β». Parquet ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ части Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² соотвСтствии с нашим ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ.

    Рис. 3. Π“ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ схСмы хранСния ΠΈΠ· Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΡƒΡŽ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

    Взяв ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° рис. 3, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ нашСй Π³Ρ€ΡƒΠΏΠΏΡ‹ строк Ρ€Π°Π²Π΅Π½ 2, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ 2 строки Π΄Π°Π½Π½ΠΎΠ³ΠΎ столбца, 2 строки ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ столбца, 2 строки Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ столбца ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρƒ нас Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ столбцы, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ строк. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ всСго 3 строки, поэтому Π² послСднСй Π³Ρ€ΡƒΠΏΠΏΠ΅ строк Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 строка.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ фактичСски Ρ…Ρ€Π°Π½ΠΈΠΌ 100 000 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π½Π°ΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… строк вмСсто 2. Если ΠΌΡ‹ попытаСмся Π½Π°ΠΉΡ‚ΠΈ всС строки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… наши Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† Int ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ‚. Π΅. ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ равСнства), Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ сканированиС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

    Рисунок 4: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Π³Ρ€ΡƒΠΏΠΏ строк. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

    Parquet Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, сохраняя значСния max ΠΈ min для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ строк, Ρ‡Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ строк, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 4. Но это Π΅Ρ‰Π΅ Π½Π΅ всС! ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ часто записываСт мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ² .parquet Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ столбца для всСго Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, слСдуСт Π»ΠΈ Π΅Π³ΠΎ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

    Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ запросов. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. здСсь.

    2.3 β€” Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»Π° Parquet

    Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π½Π°ΠΌΠ΅ΠΊΠ½ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ, Π½ΠΎ ΠΊΠ°ΠΊ устроСна вся файловая систСма?

    Ну, ΠΊΠ°ΠΊ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² .parquet Π·Π° ΠΎΠ΄Π½Ρƒ запись. Π‘ нСбольшими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Π²Π°ΠΌ, вСроятно, слСдуСт ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ записью. Однако для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

    Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ...

    Root > Parquet Files > Row Groups > Columns > Data Page

    Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, наш ΠΊΠΎΡ€Π΅Π½ΡŒ Ρ„Π°ΠΉΠ»Π° β€” это просто ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всС. Π’Π½ΡƒΡ‚Ρ€ΠΈ корня Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… .parquet Ρ„Π°ΠΉΠ»ΠΎΠ² , ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Ρ€Π°Π·Π΄Π΅Π» Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Один Ρ„Π°ΠΉΠ» ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° состоит ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ строк , Π° ΠΎΠ΄Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ° строк содСрТит мноТСство столбцов . НаконСц, Π² Π½Π°ΡˆΠΈΡ… столбцах Π΅ΡΡ‚ΡŒ страниц Π΄Π°Π½Π½Ρ‹Ρ… , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски содСрТат Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ прСдставлСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° .parquet Π½Π° рисункС 4 Π½ΠΈΠΆΠ΅.

    Рисунок 4: Π‘Π»ΠΎΠΈ иСрархичСской структуры ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ порядкС. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

    Если Π²Π°ΠΌ интСрСсны подробности, Π²ΠΎΡ‚ докумСнтация. Π£Ρ€ΠΎΠ²Π½ΠΈ повторСния ΠΈ опрСдСлСния Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ страница Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ это лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бонусы.

    3 β€” Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

    Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° своСго появлСния Π² 2013 Π³ΠΎΠ΄Ρƒ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ стал Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ½Π΅Π΅. Базовая структура Π² основном Π½Π΅ измСнилась ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, Π½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ мноТСство интСрСсных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

    Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько примСров…

    3.1 β€” Π’ ΠΌΠΎΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ!

    РСшСниС: ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Ρ†ΠΈΠΊΠ»Π° (RLE)

    Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ столбСц с 10Β 000Β 000 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ всС значСния Ρ€Π°Π²Π½Ρ‹ 9.0159 0 . Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ 2 числа: 0 ΠΈ 10 000 000 β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ .

    RLE Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ это. Когда обнаруТиваСтся ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ², ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ количСству. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΎ Π±Ρ‹ нас ΠΎΡ‚ хранСния 9 999 998 чисСл.

    3.2 β€” Π£ ΠΌΠΎΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ большиС Ρ‚ΠΈΠΏΡ‹!

    РСшСниС: ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ с ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ Π±ΠΈΡ‚ΠΎΠ²

    Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ столбСц, содСрТащий названия стран, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅. Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ «ДСмократичСская РСспублика Конго», Π½Π°ΠΌ понадобился Π±Ρ‹ строковый столбСц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 32 символов.

    ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ замСняСт ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² нашСм столбцС нСбольшим Ρ†Π΅Π»Ρ‹ΠΌ числом ΠΈ сохраняСт сопоставлСниС Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… нашСй страницы Π΄Π°Π½Π½Ρ‹Ρ…. На дискС наши Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ±ΠΈΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС мСста, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ наш столбСц ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² исходныС значСния.

    3.3 β€” Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ слоТныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ для своих Π΄Π°Π½Π½Ρ‹Ρ…!

    РСшСниС: проСкция ΠΈ ΠΏΡ€ΠΎΡ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°

    Π’ искровой срСдС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ чтСния всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ ΠΈ проталкивания ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ искры ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π»Π΅Π½ΠΈΠ²ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ запросим Π΄Π°Π½Π½Ρ‹Π΅, искра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ наимСньшСС количСство Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

    Π’ качСствС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ напоминания, ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ подмноТСств строк ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ подмноТСств столбцов. Π˜Ρ‚Π°ΠΊ, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько столбцов ΠΈ подмноТСство строк, Π½Π°ΠΌ фактичСски Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всю Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” ΠΎΠ½Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСмя чтСния.

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ понравится

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *