Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·

НСкотороС врСмя Π½Π°Π·Π°Π΄ ΠΌΠ½Π΅ довСлось ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ OLAP ΠΈ BI ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² друТСской софтвСрной ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ° Π±Ρ‹Π»Π° собрана ΠΈΠ· свСТих выпускников Π’Π£Π—ΠΎΠ², Ρ‚ΠΎ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ курс ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠ³ΠΎ Π±ΠΎΠΉΡ†Π°Β» для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ максимально доступно Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ понятия ΠΎΠ± OLAP людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈ Ρ€Π°Π·Ρƒ с Π½ΠΈΠΌ Π½Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ, Π½ΠΎ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠΏΡ‹Ρ‚ программирования ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π”.

Π’Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ ДостояниС.

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ нСсколько ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ понятия OLAP, Business Intelligence, ΠΈ Data Warehouse, Π½ΠΎ ΠΈ Π² ΠΆΠΈΠ·Π½ΠΈ часто слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Π°. А ΡƒΠΆ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄Π°Π²Π½ΠΎ, всС ΠΎΠ½ΠΈ ходят рядом. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡˆΡƒ Π½Π΅ ΡΡƒΠ΄ΠΈΡ‚ΡŒ строго.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ прСдприятия, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, содСрТат прилоТСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для комплСксного Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ, Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ ΠΈ Ρ‚.ΠΏ. БоотвСтствСнно, основными потрСбитСлями Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° становится Ρ‚ΠΎΠΏ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚. Π’Π°ΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΠ·, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, ΠΏΡ€ΠΈΠ·Π²Π°Π½ ΡΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ любоС управлСнчСскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для этого ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ количСствСнной. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· всСх ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм прСдприятия, привСсти ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ ΠΈ ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для этого ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… (Data Warehouses).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ β€” мСсто сбора всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ. ВрСбования для Ρ‚Π°ΠΊΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ классичСскому ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ OLAP, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΡΡΠ½Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅.

Иногда Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Ρ†Π΅Π»ΡŒ – интСграция всСх Π΄Π°Π½Π½Ρ‹Ρ… прСдприятия, для поддСрТания цСлостности ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… всСх ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’.ΠΎ. Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π΅ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ справочников ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ систСмам. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π£ΠžΠ” β€” Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ основными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΠ½ΠΎ ΠΆΠ΅ НБИ β€” Нормативно-Бправочная Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ.

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

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ постоянным измСнСниям Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ: Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ согласно Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, СТСнСдСльно, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΈΠ»ΠΈ СТСчасно β€” Π² зависимости ΠΎΡ‚ потрСбностСй). Π’ ΠΈΠ΄Π΅Π°Π»Π΅ процСсс пополнСния прСдставляСт собой просто Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· измСнСния ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡƒΠΆΠ΅ находящСйся Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

И, Π²-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π°Ρ‰Π΅ всСго ΡΠ²Π»ΡΡŽΡ‚ΡΡ источником Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π·Π° счСт Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ статистичСских ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

Как строят Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅?

ETL – Π±Π°Π·ΠΎΠ²ΠΎΠ΅ понятиС: Extraction, Transformation, Loading. Π’Ρ€ΠΈ этапа:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ этап – очистка Π΄Π°Π½Π½Ρ‹Ρ… (Cleaning) – процСсс отсСивания нСсущСствСнных ΠΈΠ»ΠΈ исправлСния ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основании статистичСских ΠΈΠ»ΠΈ экспСртных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ Π·Π° 20011 Π³ΠΎΠ΄Β».

ВСрнСмся ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π½Π°Π»ΠΈΠ· ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

Анализ – исслСдованиС Π΄Π°Π½Π½Ρ‹Ρ… с Ρ†Π΅Π»ΡŒΡŽ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. АналитичСскиС систСмы Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ β€” систСмы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (БППР).

Π—Π΄Π΅ΡΡŒ стоит ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с БППР ΠΎΡ‚ простого Π½Π°Π±ΠΎΡ€Π° Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². Анализ Π² БППР практичСски всСгда ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½. Π’.Π΅. Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ копаСтся Π² Π΄Π°Π½Π½Ρ‹Ρ…, составляя ΠΈ коррСктируя аналитичСскиС запросы, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹, структура ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСизвСстна. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΊ этому ΠΌΡ‹ вСрнСмся Π½ΠΈΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ язык запросов MDX.

БистСмы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ срСдствами прСдоставлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ· исходного Π½Π°Π±ΠΎΡ€Π° Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для восприятия ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΈΠ΄Π΅ (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚.ΠΏ.). Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сСгмСнтирования исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π³ΠΈΠΏΠ΅Ρ€ΠΊΡƒΠ±ΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚Π°ΠΊΡƒΠ±ΠΎΠΌ), оси ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТат Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π° ячСйки – Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ количСствСнныС Π΄Π°Π½Π½Ρ‹Π΅. (ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π² рСляционных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ логичСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ ΠΎ физичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡ… хранСния.) Π’Π΄ΠΎΠ»ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ оси Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΈΡ… Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Благодаря Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слоТныС запросы, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ подмноТСства Π΄Π°Π½Π½Ρ‹Ρ….

ВСхнология комплСксного ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ OLAP (On-Line Analytical Processing). OLAP β€” это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ OLAP Π±Ρ‹Π»Π° описана Π² 1993 Π³ΠΎΠ΄Ρƒ Π­Π΄Π³Π°Ρ€ΠΎΠΌ Коддом, извСстным исслСдоватСлСм Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1995 Π³ΠΎΠ΄Ρƒ Π½Π° основС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Коддом, Π±Ρ‹Π» сформулирован Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ тСст FASMI (Fast Analysis of Shared Multidimensional Information β€” быстрый Π°Π½Π°Π»ΠΈΠ· раздСляСмой ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ трСбования ΠΊ прилоТСниям для ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°:

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ OLAP-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, начиная с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… срСдств Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² офисных прилоТСниях ΠΈ заканчивая распрСдСлСнными аналитичСскими систСмами, основанными Π½Π° сСрвСрных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ…. Π’.Π΅. OLAP β€” это Π½Π΅ тСхнология, Π° идСология.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСализациях OLAP, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΡƒΠ±Ρ‹ с логичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ понятия

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² OLAP Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Northwind, Π²Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Ρ‹ поставки Microsoft SQL Server ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ собой Ρ‚ΠΈΠΏΠΈΡ‡Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ свСдСния ΠΎ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… опСрациях ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉΡΡ ΠΎΠΏΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ поставками ΠΏΡ€ΠΎΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ. К Ρ‚Π°ΠΊΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относятся свСдСния ΠΎ поставщиках, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, список поставляСмых Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ ΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ, Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ… ΠΈ Π·Π°ΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ…, список сотрудников ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Invoices1, которая содСрТит Π·Π°ΠΊΠ°Π·Ρ‹ Ρ„ΠΈΡ€ΠΌΡ‹. Поля Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

КакиС Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° основС этого прСдставлСния? ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы Ρ‚ΠΈΠΏΠ°:

ВсС эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ SQL-запросами с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ этого запроса всСгда Π±ΡƒΠ΄Π΅Ρ‚ столбСц чисСл ΠΈ список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΅Π³ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, страна) – это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ, говоря матСматичСским языком, – Π²Π΅ΠΊΡ‚ΠΎΡ€.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ суммарной стоимости Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈΠ· всСх стран ΠΈ ΠΈΡ… распрСдСлСниС ΠΏΠΎ компаниям доставщиков – ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡƒΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ) ΠΈΠ· чисСл, Π³Π΄Π΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π±ΡƒΠ΄ΡƒΡ‚ пСрСчислСны доставщики, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… строк – страны, Π° Π² ячСйках Π±ΡƒΠ΄Π΅Ρ‚ сумма Π·Π°ΠΊΠ°Π·ΠΎΠ². Π­Ρ‚ΠΎ – Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… называСтся сводной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ (pivot table) ΠΈΠ»ΠΈ кросс-Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ.

Если ΠΆΠ΅ Π½Π°ΠΌ захочСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ Π΅Ρ‰Π΅ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ Π³ΠΎΠ΄ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° появится Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Ρ‚.Π΅. Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… станСт Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ (условным Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠΌ 3-Π³ΠΎ порядка ΠΈΠ»ΠΈ 3-Ρ… ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ Β«ΠΊΡƒΠ±ΠΎΠΌΒ»).

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ максимальноС количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ – это количСство всСх Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (Π”Π°Ρ‚Π°, Π‘Ρ‚Ρ€Π°Π½Π°, Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΈ Ρ‚.Π΄.), ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… наши Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (сумму Π·Π°ΠΊΠ°Π·ΠΎΠ², количСство Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ Ρ‚.ΠΏ).

Π’Π°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ многомСрности ΠΈ Π΅Π³ΠΎ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΡŽ – ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌΡƒ ΠΊΡƒΠ±Ρƒ. Вакая Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρƒ нас Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β«Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ²Β». Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Оси ΠΊΡƒΠ±Π° (dimensions) – это Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… – Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями этих Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ². Π’.Π΅. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли информация ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ… вСлась Π² систСмС с 2003 ΠΏΠΎ 2010 Π³ΠΎΠ΄, Ρ‚ΠΎ эта ось Π³ΠΎΠ΄ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 8 ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ. Если Π·Π°ΠΊΠ°Π·Ρ‹ приходят ΠΈΠ· Ρ‚Ρ€Π΅Ρ… стран, Ρ‚ΠΎ ось стран Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ 3 Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ Ρ‚.Π΄. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько стран Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ Π² справочникС Π‘Ρ‚Ρ€Π°Π½. Π’ΠΎΡ‡ΠΊΠΈ Π½Π° оси Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π΅ Β«Ρ‡Π»Π΅Π½Π°ΠΌΠΈΒ» (Members).

Π‘Π°ΠΌΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Ρƒ Π½Π°Π·Π²Π°Ρ‚ΡŒΡΡ Β«ΠΌΠ΅Ρ€Π°ΠΌΠΈΒ» (Measure). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ с «измСрСниями», послСдниС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅ΠΉ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ «осями». Набор ΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ось Β«ΠœΠ΅Ρ€Ρ‹Β» (Measures). Π’ Π½Π΅ΠΉ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π»Π΅Π½ΠΎΠ² (Ρ‚ΠΎΡ‡Π΅ΠΊ), сколько ΠΌΠ΅Ρ€ (Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… столбцов) Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π§Π»Π΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ осСй ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСсколькими иСрархиями (hierarchy). Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ иСрархия, поясним Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅: Π³ΠΎΡ€ΠΎΠ΄Π° ΠΈΠ· Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Ρ€Π°ΠΉΠΎΠ½Ρ‹, Ρ€Π°ΠΉΠΎΠ½Ρ‹ Π² области, области страны, страны Π² ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ образования. Π’.Π΅. Π½Π°Π»ΠΈΡ†ΠΎ иСрархичСская структура – ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚-страна-ΠΎΠ±Π»Π°ΡΡ‚ΡŒ-Ρ€Π°ΠΉΠΎΠ½-Π³ΠΎΡ€ΠΎΠ΄ – 5 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (Level). Для Ρ€Π°ΠΉΠΎΠ½Π° Π΄Π°Π½Π½Ρ‹Π΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ всСм Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅Π³ΠΎ входят. Для области ΠΏΠΎ всСм Ρ€Π°ΠΉΠΎΠ½Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат всС Π³ΠΎΡ€ΠΎΠ΄Π° ΠΈ Ρ‚.ΠΏ. Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ нСсколько ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ? НапримСр, ΠΏΠΎ оси с Π΄Π°Ρ‚ΠΎΠΉ Π·Π°ΠΊΠ°Π·Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ (Ρ‚.Π΅. Π΄Π½ΠΈ) ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π“ΠΎΠ΄-ΠœΠ΅ΡΡΡ†-Π”Π΅Π½ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎ Π“ΠΎΠ΄-НСдСля-Π”Π΅Π½ΡŒ: Π² ΠΎΠ±ΠΎΠΈΡ… случаях ΠΏΠΎ Ρ‚Ρ€ΠΈ уровня. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ НСдСля ΠΈ ΠœΠ΅ΡΡΡ† ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ Π΄Π½ΠΈ. Π‘Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, количСство ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈ зависит ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΏΠ°ΠΏΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ дискС.

АгрСгация Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с использованиСм Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: сумма, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, максимум, срСднСС, количСство.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ языку запросов Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π―Π·Ρ‹ΠΊ SQL ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» спроСктирован Π½Π΅ для программистов, Π° для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² (ΠΈ поэтому ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ СстСствСнный язык). Но ΠΎΠ½ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ всС большС услоТнялся ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΈΠ· Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли ΡƒΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅. Он стал инструмСнтом программистов. Π―Π·Ρ‹ΠΊ запросов MDX, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ слухам нашим Π±Ρ‹Π²ΡˆΠΈΠΌ соотСчСствСнником МойшСй (ΠΈΠ»ΠΈ МошСй) ΠŸΠΎΡΡƒΠΌΠ°Π½ΡΠΊΠΈΠΌ (Mosha Pasumansky) Π² дСбрях ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚, Ρ‚ΠΎΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ², Π½ΠΎ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ синтаксис (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ SQL, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ зря, Ρ‚.ΠΊ. это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚Π°Π΅Ρ‚), Π΅Ρ‰Π΅ слоТнСС Ρ‡Π΅ΠΌ SQL. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΅Π³ΠΎ основы всС ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ нСслоТно.

ΠœΡ‹ рассмотрим Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это СдинствСнный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» статус стандартного Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ±Ρ‰Π΅Π³ΠΎ стандарта ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° XMLA, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сущСствуСт Π΅Π³ΠΎ open-source рСализация Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mondrian ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Pentaho. Π”Ρ€ΡƒΠ³ΠΈΠ΅ систСмы OLAP-Π°Π½Π°Π»ΠΈΠ·Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Oracle OLAP Option) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ синтаксиса языка SQL, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ MDX.

Π Π°Π±ΠΎΡ‚Π° с аналитичСскими массивами Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ запись. Π’.ΠΎ. Π² языкС MDX Π½Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ для измСнСния Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ β€” select.

Π’ OLAP ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΊΡƒΠ±ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ срСзы – Ρ‚.Π΅. ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСскольким осям, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ – ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким осям ΠΊΡƒΠ± «схлопываСтся», агрСгируя Π΄Π°Π½Π½Ρ‹Π΅. НапримСр, наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с суммой Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈΠ· стран – Π΅ΡΡ‚ΡŒ проСкция ΠΊΡƒΠ±Π° Π½Π° ось Π‘Ρ‚Ρ€Π°Π½Ρ‹. MDX запрос для этого случая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Select – ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΈ Π² синтаксис Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для красоты.

[Territory] – это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ оси. ВсС ΠΈΠΌΠ΅Π½Π° собствСнныС Π² MDX ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

[Cities by Countries] – это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Π’ нашСм случаС – это иСрархия Π‘Ρ‚Ρ€Π°Π½Π°-Π“ΠΎΡ€ΠΎΠ΄

[All] – это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‡Π»Π΅Π½Π° оси Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ (Ρ‚.Π΅. страны) All – это ΠΌΠ΅Ρ‚Π°-Ρ‡Π»Π΅Π½, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ всС Ρ‡Π»Π΅Π½Ρ‹ оси. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚Π°-Ρ‡Π»Π΅Π½ Π΅ΡΡ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ оси. НапримСр Π² оси Π³ΠΎΠ΄ΠΎΠ² Π΅ΡΡ‚ΡŒ «ВсС Π³ΠΎΠ΄Π°Β» ΠΈ Ρ‚.ΠΏ.

Children – это функция Ρ‡Π»Π΅Π½Π°. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° Π΅ΡΡ‚ΡŒ нСсколько доступных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Parent. Level, Hierarchy, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ соотвСтствСнно ΠΏΡ€Π΅Π΄ΠΊΠ°, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ саму ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ относится Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ‡Π»Π΅Π½. Children – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ‡Π»Π΅Π½ΠΎΠ²-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π°. Π’.Π΅. Π² нашСм случаС – страны.

on rows – Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС – Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ строк. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ здСсь: on columns, on pages, on paragraphs ΠΈ Ρ‚.ΠΏ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ просто ΠΏΠΎ индСксам, начиная с 0.

from [invoices1] – это ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΡƒΠ±Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ производится Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°.

Π§Ρ‚ΠΎ Ссли Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ всС страны, Π° Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Ρ€Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ…? Для этого ΠΌΠΎΠΆΠ½ΠΎ Π² запросС ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явно Ρ‚Π΅ страны ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹, Π° Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Children.

Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π² Π΄Π°Π½Π½ΠΎΠΌ случаС – обявлСниС Π½Π°Π±ΠΎΡ€Π° (Set). Набор – это список, пСрСчислСниС Ρ‡Π»Π΅Π½ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ оси.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ напишСм запрос для нашСго Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° – Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ доставщика:

.Members – функция оси, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС Ρ‡Π»Π΅Π½Ρ‹ Π½Π° Π½Π΅ΠΉ. Вакая ΠΆΠ΅ функция Π΅ΡΡ‚ΡŒ ΠΈ Ρƒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ Ρƒ уровня. Π’.ΠΊ. Π² Π΄Π°Π½Π½ΠΎΠΉ оси иСрархия ΠΎΠ΄Π½Π°, Ρ‚ΠΎ Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‚.ΠΊ. ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ списком.

Π”ΡƒΠΌΠ°ΡŽ, ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ это Π½Π° наш Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Π³ΠΎΠ΄Π°ΠΌ. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π³ΠΎΠ΄Π°ΠΌ, Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ – Ρ‚.Π΅. ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСз. Для этого напишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

А Π³Π΄Π΅ ΠΆΠ΅ Ρ‚ΡƒΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ?

where – ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово

[2007] – это ΠΎΠ΄ΠΈΠ½ Ρ‡Π»Π΅Π½ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ [Date]. ПолноС имя с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ‚Π°ΠΊΠΈΠΌ: [Date.By months].[All dates].[2007], Π½ΠΎ Ρ‚.ΠΊ. имя этого Ρ‡Π»Π΅Π½Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… оси ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ всС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ уточнСния ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‡Π»Π΅Π½ Π΄Π°Ρ‚Ρ‹ Π² скобках? ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки – это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (tuple). ΠšΠΎΡ€Ρ‚Π΅ΠΆ – это ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ осям. НапримСр для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ сразу ΠΏΠΎ Π΄Π²ΡƒΠΌ осям Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках ΠΌΡ‹ пСрСчислим Π΄Π²Π° Ρ‡Π»Π΅Π½Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π’. Π΅. ΠΊΠΎΡ€Ρ‚Π΅ΠΆ опрСдСляСт «срСз» ΠΊΡƒΠ±Π° (ΠΈΠ»ΠΈ Β«Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽΒ», Ссли такая тСрминология Π±Π»ΠΈΠΆΠ΅).

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… строк/ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ/страниц ΠΈ Ρ‚.ΠΏ.

Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ запроса.

Crossjoin – это функция. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ (set) ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ (Π΄Π°, Π½Π°Π±ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ!), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ произвСдСния Π΄Π²ΡƒΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ². Π’.Π΅. Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ сочСтания Π‘Ρ‚Ρ€Π°Π½ ΠΈ Π“ΠΎΠ΄ΠΎΠ². Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ строк, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: Π‘Ρ‚Ρ€Π°Π½Π°-Π“ΠΎΠ΄.

Вопрос, Π° Π³Π΄Π΅ ΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ числовыС характСристики Π½Π°Π΄ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ? Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, заданная для этого ΠΊΡƒΠ±Π°, Ρ‚.Π΅. Π‘ΡƒΠΌΠΌΠ° Π·Π°ΠΊΠ°Π·Π°. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ, Ρ‚ΠΎ ΠΌΡ‹ вспоминаСм, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ€Ρ‹ – это Ρ‡Π»Π΅Π½Ρ‹ измСрСния Measures. И дСйствуСм Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ осями. Π’.Π΅. Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ запроса ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ эту ΠΌΠ΅Ρ€Ρƒ Π² ячСйках.

Вопрос: Ρ‡Π΅ΠΌ отличаСтся Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π² where ΠΎΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ указания Ρ‡Π»Π΅Π½ΠΎΠ² осСй Π² on rows. ΠžΡ‚Π²Π΅Ρ‚: практичСски Π½ΠΈΡ‡Π΅ΠΌ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² where указываСтся срСз для Ρ‚Π΅Ρ… осСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Π’.Π΅. ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ось Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² on rows, ΠΈ Π² where.

ВычисляСмыС Ρ‡Π»Π΅Π½Ρ‹

Для Π±ΠΎΠ»Π΅Π΅ слоТных запросов ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ вычисляСмыС Ρ‡Π»Π΅Π½Ρ‹. Π§Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ осСй Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ оси ΠΌΠ΅Ρ€. Π’.Π΅. МоТно ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠ²ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страны Π² ΠΎΠ±Ρ‰ΡƒΡŽ сумму Π·Π°ΠΊΠ°Π·ΠΎΠ²:

ВычислСниС происходит Π² контСкстС ячСйки, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ извСстныС всС Π΅Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (Ρ‡Π»Π΅Π½Ρ‹) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ CurrentMember Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· осСй ΠΊΡƒΠ±Π°. Π—Π΄Π΅ΡΡŒ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [Territory].CurrentMember / [Territory].[Cities by Countries].[All]’ Π½Π΅ Π΄Π΅Π»ΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ Ρ‡Π»Π΅Π½ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π° Π΄Π΅Π»ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄Π°Π½Π½Ρ‹Π΅ срСзов ΠΊΡƒΠ±Π°! Π’.Π΅. срСз ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ раздСлится Π½Π° срСз ΠΏΠΎ всСм тСрриториям, Ρ‚.Π΅. суммарноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСх Π·Π°ΠΊΠ°Π·ΠΎΠ². FORMAT_STRING – Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚.Π΅. %.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ вычисляСмого Ρ‡Π»Π΅Π½Π°, Π½ΠΎ ΡƒΠΆΠ΅ ΠΏΠΎ оси Π³ΠΎΠ΄ΠΎΠ²:

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Π° Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… срСзов, Ρ‚.Π΅. Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ суммы Π·Π°ΠΊΠ°Π·ΠΎΠ² Π² эти Π΄Π²Π° Π³ΠΎΠ΄Π°.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ROLAP

БистСмы OLAP Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ систСмС хранСния ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π Π‘Π£Π‘Π”, Ρ‚ΠΎ говорят ΠΎ ROLAP (MOLAP ΠΈ HOLAP оставим для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ изучСния). ROLAP – OLAP Π½Π° рСляционной Π‘Π”, Ρ‚.Π΅. описанная Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. БистСмы ROLAP ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ MDX запросы Π² SQL. Основная Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° для Π‘Π” – быстрая агрСгация. Π§Ρ‚ΠΎΠ±Ρ‹ быстрСС Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π” ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сильно Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Ρ‚.Π΅. хранятся Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивно с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ мСста Π½Π° дискС ΠΈ контроля цСлостности Π‘Π”. Плюс Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТат Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, хранящиС частично Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для OLAP ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ схСма Π‘Π”, которая лишь частично повторяСт структуру исходных Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π‘Π” Π² части справочников.

Навигация

МногиС систСмы OLAP ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ инструмСнтарий ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΆΠ΅ сформированному запросу (ΠΈ соотвСтствСнно Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ). ΠŸΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ «свСрлСниС» ΠΈΠ»ΠΈ Β«Π±ΡƒΡ€Π΅Π½ΠΈΠ΅Β» (drill). Π‘ΠΎΠ»Π΅Π΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ Π½Π° русский Π±Ρ‹Π»ΠΎ Π±Ρ‹ слово Β«ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½ΠΈΠ΅Β». Но это Π΄Π΅Π»ΠΎ вкуса., Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… срСдах Π·Π°ΠΊΡ€Π΅ΠΏΠΈΠ»ΠΎΡΡŒ слово Β«Π΄Ρ€ΠΈΠ»Π»ΠΈΠ½Π³Β».

Drill – это дСтализация ΠΎΡ‚Ρ‡Π΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ стСпСни Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, совмСщСнноС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ оси (ΠΈΠ»ΠΈ нСскольким осям). Π‘Π²Π΅Ρ€Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄ΠΎΠ²:

На этом всС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ сСбя Business Intelligence ΠΈ OLAP самоС врСмя ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Ρƒ BI? Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ In-Memory OLAP

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! МСня Π·ΠΎΠ²ΡƒΡ‚ Иван Вахмянин, ΠΈ сСгодня я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ находится β€œΠΏΠΎΠ΄ капотом” Ρƒ соврСмСнной BI-систСмы, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ зависит Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‘ Π½Π΅Π½Π°Ρ€ΠΎΠΊΠΎΠΌ ΡƒΠ±ΠΈΡ‚ΡŒ), ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ тСхничСскиС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ In-Memory OLAP Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ скорости Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ².

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

Π’ΠΎΠΎΠ±Ρ‰Π΅, соврСмСнныС BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ β€” это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΌΠ½Ρ‹ΠΉ софт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄Π΅Π»Π°Π΅Ρ‚ мноТСство ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΈ Ρ‡Π°Ρ‰Π΅ всСго Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ особых ΡƒΡ…ΠΈΡ‰Ρ€Π΅Π½ΠΈΠΉ для настройки ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но ΠΊΠΎΠ³Π΄Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° становится Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ, BI-систСмой Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сотни ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сотни ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΈ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ строк Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бизнСса это Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ грустно. Какой-Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт Π΄Π°ΡˆΠ±ΠΎΡ€Π΄, ΠΈ всё ΠΏΠ°Π΄Π°Π΅Ρ‚. ΠŸΡ€ΠΈ этом ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ объСма памяти ΠΈ количСства процСссоров Π½Π΅ Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта. ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ быстро Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ссли хотя Π±Ρ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΡˆΡŒ, ΠΊΠ°ΠΊ систСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ».

Когда ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² сфСрС BI 5 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, Π² основу ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Visiology Π»Π΅Π³Π»Π° open-source Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Pentaho β€” Mondrian. Но достаточно быстро ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎ части ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ In-Memory OLAP Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ViQube (ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ β€” Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ β€” наш Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΉ, Π½ΠΎ интСрСсный ΠΎΠΏΡ‹Ρ‚). БобствСнно, Π² процСссС этой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΡ‹ ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ сСйчас Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ OLAP

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, всС BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ выглядят ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ: Ρƒ вас Π΅ΡΡ‚ΡŒ источники ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρƒ вас Π΅ΡΡ‚ΡŒ инструмСнты Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ β€” ΠΎΡ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π΄ΠΎ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…, Π½Π° видСостСнах, Π½Π° Π»ΡŽΠ±Ρ‹Ρ… устройствах. Π’ своСй основС всС BI-инструмСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ модСль Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС OLAP (On-Line Analytical Processing, ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…), Π½ΠΎ тСхничСская рСализация OLAP Π΄Π²ΠΈΠΆΠΊΠ° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСпосрСдствСнно занимаСтся вычислСниями) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, ΠΈ ΠΎΡ‚ этого ΠΎΡ‡Π΅Π½ΡŒ сильно зависит ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ систСмы.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ВСхнология OLAP Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π΅Ρ‰Ρ‘ Π² 80-Ρ… Π³ΠΎΠ΄Π°Ρ…. Π’ Ρ‚ΠΎ врСмя процСссоры Π±Ρ‹Π»ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π΄Π° ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π² Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚Π΅, поэтому Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ ΠΌΠΎΠ³ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ Ρ‚Π°ΠΊΡƒΡŽ Π²Π΅Ρ‰ΡŒ ΠΊΠ°ΠΊ MOLAP (Multidimensional OLAP). ИдСя ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для всСго ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΊΡƒΠ±Π° послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… производится прСдрасчСт: Π½Π° ΡƒΠ·Π»Π°Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ любой Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса Π±Π΅Π· нСобходимости ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС строки. Π”Π°, ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡƒΠ±, Π° объСм рассчитанного ΠΊΡƒΠ±Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π°Π·Ρ‹ большС исходного датасСта, Π½ΠΎ Π² Ρ‚ΠΎ врСмя Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ. MOLAP Π΄ΠΎ сих ΠΏΠΎΡ€ сущСствуСт ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² SQL Server Analysis Services, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ всС Ρ€Π΅ΠΆΠ΅ ΠΈ Ρ€Π΅ΠΆΠ΅.

ПозТС появилась рСляционный OLAP, ΠΈΠ»ΠΈ ROLAP. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ MOLAP Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ происходит Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ расчёта Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΉ, Π° вычислСния происходят Π½Π° Π‘Π£Π‘Π” ΠΈΠ· бэкэнда BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ этом случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ инструмСнтами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с конструктором Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ², Π° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ROLAP-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ запросы Π½Π° Π»Π΅Ρ‚Ρƒ Π² SQL, ΠΈ ΠΎΠ½ΠΈ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π‘Π£Π‘Π”.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Π°ΠΊΠΈΡ… open-source систСм, ΠΊΠ°ΠΊ Pentaho ΠΈΠ»ΠΈ Metabase ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ SAP Business Objects, Oracle OBIEE.

Π£ ROLAP Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ ряд нСдостатков. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ссли, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° бэкСндС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ аналитичСскиС Π‘Π£Π‘Π”, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ClickHouse ΠΈΠ»ΠΈ Vertica, всС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠΎΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ (дальшС Π±ΡƒΠ΄Π΅Ρ‚ понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ). Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ использовании аналитичСской Π‘Π£Π‘Π”, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ROLAP ΠΎΡ‡Π΅Π½ΡŒ нСэффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ кэш, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π‘Π£Π‘Π” ΠΈ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ всС аналитичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² SQL-запрос, ограничиваСтся аналитичСская Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Но Π·Π°Ρ‚ΠΎ, Π½Π° сСгодняшний дСнь ROLAP β€” это СдинствСнный способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Если Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ объСмом Π΄ΠΎ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ схСма In-Memory. Π”Π°Π½Π½Ρ‹Π΅ постоянно находятся Π² памяти, ΠΈ Π·Π° расчСты ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ. Π’ систСмах Qlik β€” это QIX, Power BI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ SQL Server Tabular Engine, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½ΡŒΡˆΠ΅ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ xVelocity, Π½ΠΎ Microsoft ΠΊΡƒΠΏΠΈΠ» эту компанию, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π²ΠΈΠΆΠΎΠΊ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ MS SQL Server. Π£ нас Π² Visiology Π΄Π²ΠΈΠΆΠΎΠΊ In-Memory OLAP называСтся ViQube.

In-Memory OLAP ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ простотой установки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΡƒΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ²Π°Π½Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ интСрфСйсами настройки, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, управлСния ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈ Ρ‚.ΠΏ. Π—Π° счСт размСщСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ (ΠΏΡ€ΠΎ Π½ΠΈΡ… Π½ΠΈΠΆΠ΅) ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ растСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ возмоТности для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ².

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ΠŸΡ€ΠΈ этом Ρƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° In-Memory Π΅ΡΡ‚ΡŒ ΠΈ свои нСдостатки. И Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… β€” это ΠΏΡ€Π΅Π΄Π΅Π» Смкости памяти. Если объСм Π΄Π°Π½Π½Ρ‹Ρ… измСряСтся Π² Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π°Ρ…, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ кластСр, Π»ΠΈΠ±ΠΎ ΡΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒΡΡ ΠΊ ROLAP. ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π½Π΅ всСгда удаСтся ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ отобраТСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для этого Π΄Π°Π½Π½Ρ‹Π΅ приходится ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ· источника Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Основной схСмой Ρ€Π°Π±ΠΎΡ‚Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… BI становится гибридная схСма с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ использованиСм ΠΈ In-Memory OLAP, ΠΈ рСляционного OLAP-Π΄Π²ΠΈΠΆΠΊΠ°. ГорячиС Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² In-Memory, Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Π»Π΅Π·Π»ΠΈ Π² Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ объСм, β€” Π² Π‘Π£Π‘Π”. Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² QlikView, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, называСтся Direct Discovery, Π² Power BI β€” Direct Query. Π’ Visiology Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с нСсколькими Π‘Π£Π‘Π”, Π² Ρ‚ΠΎΠΌ числС с ClickHouse.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²Ρ‹Π±ΠΎΡ€ Π‘Π£Π‘Π” для Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ критичСски Π²Π°ΠΆΠ΅Π½. Если ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с PostgreSQL, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π»Π΅ΠΆΠΈΡ‚ 5 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, аналитичСскиС запросы Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. И Ссли Ρƒ вас Π½Π΅ SAP HANA, придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ горячиС. Как слСдствиС, Π½Π΅ всС аналитичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Но Ссли памяти Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, ΡƒΠ²Ρ‹, с Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅Π» приходится ΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ.

ΠžΡ‚ΠΊΡƒΠ΄Π° β€œΡ€Π°ΡΡ‚ΡƒΡ‚β€ ΠΏΠ»ΡŽΡΡ‹ In-memory OLAP?

Для скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ In-Memory OLAP Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ скрытыС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π΄Π²ΠΈΠΆΠΊΠ° происходит Π² памяти, Π° ΠΎΠ½Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ ТСсткий диск (спасибо, кэп) β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1/10 ΠΏΡ€Π°Π²Π΄Ρ‹. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ рСляционныС Π‘Π£Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΡ‚ ΠΆΠ΅ PostgreSQL. Π’Π΅Π΄ΡŒ ΠΎΠ½ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠΆΠ΅ являСтся In-Memory. И Π²ΠΎΠΎΠ±Ρ‰Π΅, любая соврСмСнная Π‘Π£Π‘Π” Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ кэш Π² памяти, Ρ‚Π°ΠΊ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

Когда ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ дисковой Π‘Π£Π‘Π”, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ PostgreSQL, Π½ΡƒΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с Тёсткого диска, ΠΎΠ½Π° обращаСтся ΠΊ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŽ ΠΈ считываСт ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ страницу. Π­Ρ‚Π° страница помСщаСтся Π² Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ кэш (Π² Linux ΠΎΠ½ располагаСтся Π² свободном пространствС памяти). Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ 128 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ памяти, ΠΈ 20 ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌ софтом. Всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ кэш. И Ссли Π‘Π£Π‘Π” Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с этой страницы Π΅Ρ‰Ρ‘ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, ΠΎΠ½Π° Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· памяти. И ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ кэш, зависит ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Если для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, скаТСм, 30-40 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π½Π° сСрвСрС ΠΈ ΡƒΠΆΠ΅ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ чтСния Π‘Π£Π‘Π” всС Π΄Π°Π½Π½Ρ‹Π΅ окаТутся In-Memory, Π° обращСния ΠΊ диску Π½Π° чтСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ лишь эпизодичСски.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ΠšΡ€ΠΎΠΌΠ΅ этого, Ρƒ β€œΡƒΠΌΠ½Ρ‹Ρ…β€ Π‘Π£Π‘Π”, Π² Ρ‚ΠΎΠΌ числС Ρƒ Postgres, имССтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ cache-aware управлСния. Они ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² кэш, Π° Ρ‡Ρ‚ΠΎ – Π½Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π΄ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с диска.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: www.enterprisedb.com/blog/autoprewarm-new-functionality-pgprewarm

На Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ β€” влияниС ΠΏΡ€ΠΎΠ³Ρ€Π΅Π²Π° кэша Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ PostgreSQL. Π–Ρ‘Π»Ρ‚Ρ‹ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² зависимости ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ наглядно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π‘Π£Π‘Π” считываСт Π΄Π°Π½Π½Ρ‹Π΅, постСпСнно раскладываСт всё Π² In-Memory ΠΈ достигаСт ΠΏΡ€Π΅Π΄Π΅Π»Π° своСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ prewarm ΠΈ Π΄Π°Ρ‚ΡŒ Postgres ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ сразу, максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ достигаСтся сразу.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± аналитичСской Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Она ΠΎΡ‡Π΅Π½ΡŒ сильно отличаСтся ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΠ³Π΄Π° Π² Π±Π°Π·Ρƒ Π½ΡƒΠΆΠ½ΠΎ внСсти запись ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΈΠ»ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ 10 строк с историСй Π·Π°ΠΊΠ°Π·ΠΎΠ². На Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ аналитичСский запрос ΠΈΠ· тСста TPC-H. Π­Ρ‚ΠΎΡ‚ тСст состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… аналитичСских запросов ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ тСстирования.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: www.tpc.org/information

Π’ SQL-запросС ΠΈΠ· тСста TPC-H ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ интСрСсного. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, запрос ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Π½Π° поля, Π° Π½Π° Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, здСсь ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, здСсь часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ полям с ΠΌΠ°Π»ΠΎΠΉ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ: Ρ€Π΅Π³ΠΈΠΎΠ½Ρ‹ ΠΈ Ρ„Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΡ€ΡƒΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ компания, Ρ‚ΠΈΠΏΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ, Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹Ρ…, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ полю с Π΄Π°Ρ‚ΠΎΠΉ. Если ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡƒ Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠΈ, Ρ‚ΠΎ нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ ΠΊΠ°ΠΊ Π³ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠ²Π°Ρ€Ρ‚Π°Π».

На Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ запроса всСгда ΠΎΡ‡Π΅Π½ΡŒ большоС количСство строк β€” ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π‘Π£Π‘Π” Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ ΠΏΠΎΠ»Π½Ρ‹Ρ… сканирований. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ получаСтся нСбольшоС количСство строк, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСством Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ β€” Ρ‡Π°Ρ‰Π΅ всСго дСсятки ΠΈΠ»ΠΈ сотни Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Зная эти особСнности аналитичСских запросов, ΠΌΠΎΠΆΠ½ΠΎ провСсти ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

In-Memory OLAP: ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для BI

Учитывая особСнности аналитичСских запросов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Ρ€Π°Π½Π΅Π΅, для Π΄Π²ΠΈΠΆΠΊΠ° BI Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΊ тСхничСских, Ρ‚Π°ΠΊ ΠΈ эвристичСских. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

1. ΠšΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг, Π΄Π°ΡŽΡ‰ΠΈΠΉ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ эффСкт. Для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… запросов Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² строках ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. Но для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ столбцам. Казалось Π±Ρ‹, какая Ρ€Π°Π·Π½ΠΈΡ†Π°, вСдь всС это ΡƒΠΆΠ΅ In-Memory? Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΊΡ€ΠΎΠΌΠ΅ памяти, которая быстрСС дисков, Ρƒ нас Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ кэш процСссора, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚Ρ€Π΅Ρ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 200 Ρ‚Π°ΠΊΡ‚ΠΎΠ² процСссора.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· памяти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΡƒΡŽ страницу, которая сразу ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² кэш Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ уровня. И Ссли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π»ΠΎ Π² эту ΠΆΠ΅ страницу, ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠΌ 10-40 Ρ‚Π°ΠΊΡ‚ΠΎΠ², Π° Ссли Π½Π΅Ρ‚ β€” Π² 10 Ρ€Π°Π· большС. ΠŸΡ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ хранСния ΠΏΡ€ΠΈ запросС ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ страницу памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ процСссору Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Ρ€Π΅ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ основной памяти.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: arstechnica.com/gadgets/2002/07/caching/2

Π’ этой ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ свои особСнности. Для дисковых Π‘Π£Π‘Π” β€” это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ оптимизация. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅ΠΌ Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΆΠ΅ Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π΄ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ, Π° это β€” Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ёмкая опСрация. Для дисковых Π‘Π£Π‘Π” получаСтся ΠΎΡ‡Π΅Π½ΡŒ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ, для In-Memory β€” всС Π½Π΅ Ρ‚Π°ΠΊ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· памяти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ быстрСС, Ρ‡Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ распаковкой.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: www.percona.com/blog/2016/03/09/evaluating-database-compression-methods

Π‘Π°ΠΌΡ‹ΠΉ быстрый ΠΈΠ· Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия ΠΏΠΎ скорости распаковки β€” LZ4. Он Π² срСднСм ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ всСго Π² 2 Ρ€Π°Π·Π°, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстро распаковываСт, со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ порядка 500 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π² сСкунду Π½Π° ядро процСссора. Π’ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ LZ4 Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 3 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² сСкунду. Вакая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ для дисковых Π‘Π£Π‘Π”, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… – Ρ‚Π΅ ΠΆΠ΅ 500 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π² сСкунду. Но для памяти ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… составляСт дСсятки Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ Π² сСкунду, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСимущСство Π·Π° счёт LZ4 оказываСтся слоТно.

Однако Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‡Π°Ρ‰Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, Π² строкС с названиями Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ часто Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ значСния ΠΈΠ»ΠΈ ΠΈΡ… ID: β€œΠœΠΎΡΠΊΠ²Π°, Москва, Москва, ΠœΠΎΡΠΊΠ²Π°β€¦β€

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: Guassian and speckle noise removal from ultrasound images using bivariate shrinkage by dual tree complex wavelet transform (Professor G R Sinha, 2015)

Для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся Run-length encoding. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ просто: строки Ρ‚ΠΈΠΏΠ° ААААВВВВВББ ΠΎΠ½ сТимаСт Π² Π²ΠΈΠ΄Π΅ 4A5B2C. Π­Ρ‚ΠΎ прСкрасный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для Π΄Π°Π½Π½Ρ‹Ρ… с Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ кэш процСссора.

3. Π’Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ инструкции

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ 2 числа, ΠΌΡ‹ ΠΊΠ»Π°Π΄Ρ‘ΠΌ Π² ΠΎΠ΄ΠΈΠ½ рСгистр процСссора ΠΎΠ΄Π½ΠΎ число, Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ рСгистр β€” Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Для ускорСния этого процСсса ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ рСгистры ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (SIMD β€” Single Instruction Multiple Data). Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π° ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ сразу N чисСл. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ зрСлая тСхнология, которая появилась Π² процСссорах Π΅Ρ‰Π΅ Π² 1993 Π³ΠΎΠ΄Ρƒ. Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π°ΡΡŒ Π΅Ρ‰Π΅ Π² Pentium MMX (166 ΠœΠ“Ρ† β€” Ρƒ мСня Ρ‚Π°ΠΊΠΎΠΉ Π±Ρ‹Π», Π΄ΠΎ сих ΠΏΠΎΡ€ помню, ΠΊΠ°ΠΊ Π½Π° Π½Π΅Π³ΠΎ тСрмопасту Π½Π°ΠΌΠ°Π·Ρ‹Π²Π°Π»).

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: www.codetd.com/en/article/9633503

Π’ Pentium MMX Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… рСгистров Π±Ρ‹Π»ΠΎ 8, ΠΈ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ рассчитаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ практичСски Π²ΠΎ всСх процСссорах Π΅ΡΡ‚ΡŒ 128-Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры SSE ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ инструкций. РСгистры AVX ΡƒΠΆΠ΅ 256-Π±ΠΈΡ‚Π½Ρ‹Π΅, Π° Π² сСрвСрах Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ AVX 512. Они Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ аналитичСской Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: technews.tw/2020/07/16/linus-torvalds-avx-512-critique

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с AVX 512 ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ рСгистрС 16 чисСл со стандартной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. ВСорСтичСски Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ, Π½ΠΎ для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ ряд тСхничСских слоТностСй. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ компиляции оптимизация Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ интринсики – особый Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² явном Π²ΠΈΠ΄Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ компилятору, ΠΊΠ°ΠΊΠΈΠ΅ инструкции процСссора Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ для расчёта скалярного произвСдСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ AVX-инструкции 256-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

На нашСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ использованиС ΠΈΠΌΠ΅Π½Π½ΠΎ AVX Π΄Π°Ρ‘Ρ‚ ΠΎΡ‚ 1 Π΄ΠΎ 10% прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡. Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ BI-систСму, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора, систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ этого увСличиваСтся, Π½ΠΎ Π½Π΅ драматичСски, Π° Π² лишь Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ….

4. Поздняя матСриализация

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ β€” это процСсс формирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° запрос. НапримСр, простой SQL-запрос SELECT C1, Π‘2, D1, D2 ΠΈΠ· 2 Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ 2 поля ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈ 2 поля ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ соСдиняСм ΠΈΡ… ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ β€” Π‘1=D1.

Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ olap тСхнологиями

Π’ случаС Ρ€Π°Π½Π½Π΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 4 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ сначала Π±Π΅Ρ€Ρ‘ΠΌ Π‘1 ΠΈ Π‘2, соСдиняСм ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. ΠŸΠΎΡ‚ΠΎΠΌ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС с D1, D2 ΠΈ послС этого выполняСм Join, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ строки ΠΈΠ· этих 2 Ρ‚Π°Π±Π»ΠΈΡ†, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… истинно условиС Π‘1=D1.

Π’ случаС аналитичСской Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ всСгда ΠΌΠ°Π»ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΎΡ‚ΡΠ΅ΠΊΠ°ΡŽΡ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда выполняСтся JOIN, создаётся ΠΎΡ‡Π΅Π½ΡŒ большая Ρ‚Π°Π±Π»ΠΈΡ†Π°, которая Π½Π΅ Π½ΡƒΠΆΠ½Π°. Π’Π΅Π΄ΡŒ Π½Π° послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ сначала разбираСмся, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π‘Π½Π°Ρ‡Π°Π»Π° выполняСтся опСрация JOIN Π‘1 = D1, ΠΈ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄. А послС этого ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ поля, строки ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послС JOIN ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, такая оптимизация Π½Π΅ сработаСт Π½Π° любой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. ИсслСдования Vertica, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Π°Ρ Π‘Π£Π‘Π” позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стратСгии ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡. Но ΠΈΠΌΠ΅Π½Π½ΠΎ для BI Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, связанная с ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, поэтому Π΅Π΅ использованиС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

5. ЭвристичСскиС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

In-Memory OLAP Ρ‡Π°Ρ‰Π΅ всСго являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π° BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСкрасно β€œΠ·Π½Π°Π΅Ρ‚β€, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΎΠ½ΠΈ происходят β€œΠΏΠΎΠ΄ капотом” BI-систСмы ΠΈ Π½Π΅ всСгда Π΄Π°ΠΆΠ΅ Π²ΠΈΠ΄Π½Ρ‹, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, часто примСняСтся автоматичСская нормализация ΠΈΠ»ΠΈ дСнормализация. Π”Π°Π½Π½Ρ‹Π΅ с Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° β€” Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π§Π°Ρ‰Π΅ всСго BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ максимально Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт максимально ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ достаточно тяТСлых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ JOIN. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ этого: Ссли ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ Π² систСму 2 Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ связали ΠΈΡ… ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, систСма ΠΌΠΎΠΆΠ΅Ρ‚ сразу ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

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

6. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŽ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ практичСски всСгда растянуты Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ интСрСс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ – Π° ΠΎΠ½ Ρ‡Π°Ρ‰Π΅ всСго сконцСнтрирован Π½Π° Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ оказываСтся Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π³ΠΎΠ΄ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅ β€œΡ Π½Π°Ρ‡Π°Π»Π° врСмён”?
Однако, Ссли Π²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ строкового столбца, BI-систСма Π½Π΅ смоТСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Но Ссли сортировка удаСтся, ΠΈΠ½ΠΎΠ³Π΄Π° получаСтся свСсти большой датасСт ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌΡƒ, просто Π²Ρ‹ΠΊΠΈΠ½ΡƒΠ² ΠΈΠ· Π½Π΅Π³ΠΎ всС Π³ΠΎΠ΄Π°, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ BI часто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ раздСляСмый кэш. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ А запустил Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» свой запрос, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π’ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π΅ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ быстрСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΆΠ΅ Π² кэшС.

РаздСляСмый кэш ΠΏΠΎΠ΄ запросы позволяСт ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ запросов. НапримСр, ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запросил Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π» Π΅Ρ‘ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»Ρƒ А, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»Ρƒ Π’. Π’ этом случаС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ получится, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ происходит Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС. Но Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΈ для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ситуаций удаСтся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос.

МногиС BI-систСмы Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ индСкс для строковых ΠΏΠΎΠ»Π΅ΠΉ. Он позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ поиск с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΏΠΎ строкам. И хотя BI-систСмы ΠΈ OLAP Π΄Π²ΠΈΠΆΠΎΠΊ In-Memory β€” это Π½Π΅ Π·Π°ΠΌΠ΅Π½Π° полнотСкстовому поиску, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ достаточно часто.

Каков эффСкт?

ВсС пСрСчислСнныС ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ BI-систСму, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° In-Memory OLAP, Π±ΠΎΠ»Π΅Π΅ устойчивой ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Π½Π΅ прибСгая ΠΊ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌ схСмам Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ рСляционных Π‘Π”. Рост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сильно зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π½ΠΎ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ViQube ΠΌΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° этапС исходного ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ особСнностСй аналитичСских запросов.

ΠšΡ€ΠΎΠΌΠ΅ этого, Π½Π° своСм ΠΎΠΏΡ‹Ρ‚Π΅ ΠΌΡ‹ нашли ряд кСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ β€œΡƒΠ±ΠΈΡ‚ΡŒβ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ In-Memory OLAP. МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ β€œΠ²Ρ€Π΅Π΄Π½Ρ‹Ρ… совСтов” пасхалочкой для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° πŸ™‚

BI-систСма, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° Π±Π°Π·Π΅ In-Memory OLAP, ΡƒΠΆΠ΅ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ! НиТС β€” список ΠΈΠ· 5 β€œΠ²Ρ€Π΅Π΄Π½Ρ‹Ρ… совСтов” ΠΏΠΎ In-Memory, выстраданных Π½Π° своСй ΡˆΠΊΡƒΡ€Π΅ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π²ΠΈΠΆΠΊΠ° ViQube ΠΈ Π΅Π³ΠΎ использования Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

1. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ выраТСния

ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΌΠΈ ΡƒΠ±ΠΈΠΉΡ†Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ In-Memory систСм ΡΠ²Π»ΡΡŽΡ‚ΡΡ запросы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вСкторизация. Π›ΡŽΠ±Ρ‹Π΅ вычислСния с использованиСм Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅ΠΉ, приводят ΠΊ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ сниТСнию скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы.

ΠžΡ‡Π΅Π½ΡŒ часто Π² своСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ я сталкивался с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Qlik Expressions ΠΈΠ»ΠΈ Π½Π° DAX Π² Power BI, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π² Π±Π°Π·Π΅ 10 тысяч строк. Но ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСвСроятными Ρ‚Π΅ΠΌΠΏΠ°ΠΌΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° запроса слоТна ΠΈ Π½Π΅ Π΄Π°Ρ‘Ρ‚ Π΄Π²ΠΈΠΆΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ хранСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… инструкций. ВмСсто этого систСмС приходится Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ всС поля ΠΏΠΎ строкам, ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ΄Π½Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ этом случаС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Π΄Π°Π΅Ρ‚ Π΄ΠΎ уровня Π‘Π£Π‘Π” со строчным Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΠ½Π΅Ρ† ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

2. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ запросы

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ запросы β€” ΠΊΡ€Π°ΠΉΠ½Π΅ ваТная Π² Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ΅ Π²Π΅Ρ‰ΡŒ. ΠžΡ‡Π΅Π½ΡŒ часто Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос оказываСтся Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΈ ΠΏΠΎ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·. НапримСр, Π² DAX ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… контСкстов, ΠΈ поэтому ΠΎΠ½ вСсьма популярСн срСди Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ запросы Π΅ΡΡ‚ΡŒ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ….

Однако ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ запросами Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ. Π’Π΅Π΄ΡŒ Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ большой ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, дСсятки ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк), Π΄Π²ΠΈΠΆΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π½Π½ΡŽΡŽ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π°ΠΊΠΎΠΉ запрос ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ссли Π΄Π²ΠΈΠΆΠΎΠΊ упрётся Π² ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ доступной памяти. А ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΡΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ BI-систСмы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… запросов Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

3. ЧастоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

ЧастоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ‚Π°ΠΊ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Real-time. Для Ρ‡Π΅Π³ΠΎ? ΠŸΠΎΡ‡Π΅ΠΌΡƒ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° In-Memory OLAP Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π»ΡŽΠ±ΡΡ‚ Real-time ΠΈ для Real-time ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚, ΠΏΠΎ сути, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты. Π’ Power BI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Streaming Dataset. Π—Π°Ρ‡Π΅ΠΌ это сдСлано? ΠŸΠΎΡ‡Π΅ΠΌΡƒ просто Π½Π΅ Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ мСняСм Π² исходных Π΄Π°Π½Π½Ρ‹Ρ…, происходит ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Π°Ρ инвалидация кэша. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ кэш, ΠΈ раздСляСмый кэш (свой для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ), кэш ΠΏΠΎΠ΄ запрос β€” всё это приходится Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ рассчитаСтся Π·Π°Π½ΠΎΠ²ΠΎ. Π”Π°ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ строки ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ, особСнно Ссли ΠΎΠ½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π΅ слишком ΡƒΠΌΠ½ΠΎ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠ½Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‚ кэш с запасом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Частая инвалидация Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ BI-систСмы, ΠΈ это особСнно Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, Ссли ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ BI-систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ тысячи запросов. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°ΠΌΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… кэш β€” основной источник ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Когда ΠΌΡ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ΅ тСстированиС для профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠΌ, 90-95% запросов Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π΄ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΈΠ· кэша. ИмСнно поэтому частая инвалидация Π²Π΅Π΄Π΅Ρ‚ ΠΊ падСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² 10 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·.

4. МалСнький запас свободной памяти

Иногда каТСтся, Ρ‡Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы Π½Π΅Π²Π°ΠΆΠ½ΠΎ, сколько имССтся свободной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, лишь Π±Ρ‹ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ ΠΎΠ±Ρ‰Π΅ΠΉ Смкости. Но Π½Π° самом Π΄Π΅Π»Π΅ свободная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠ³ΠΎ кэша. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для In-Memory Π΄Π²ΠΈΠΆΠΊΠΎΠ² это Π½Π΅ Ρ‚Π°ΠΊ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ часто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Тёстким диском. Но Π² Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ β€œΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚β€ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ snapshot, сохраняСт ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠ³ΠΎ кэша оказываСтся ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ In-Memory Π΄Π²ΠΈΠΆΠΊΠ° Π² любой BI Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ОБ. И Ссли ΠΏΠ°ΠΌΡΡ‚ΡŒ кончится, ΠΎΠ½ΠΈ Π½Π°Ρ‡Π½ΡƒΡ‚ Ρ€Π΅Π·ΠΊΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ смогут ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ кэш.

Но ΠΈ это Π΅Ρ‰Π΅ Π½Π΅ всС. НСхватка свободной памяти Π²Π΅Π΄Π΅Ρ‚ ΠΊ рискам просадки ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² слоТных запросах. Когда происходит созданиС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Ρ‚Π΅ΡΠ½ΠΈΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΉ кэш, Π½Π΅ позволяя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π§Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Ρ…ΡƒΠΆΠ΅, Ρ‚Π°ΠΊΠΈΠ΅ запросы ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»Π° доступной памяти, ΠΈ вся систСма ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ Π² swap. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ коллапс с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

5. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ поля с высокой ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ

ПослСдний β€œΠ²Ρ€Π΅Π΄Π½Ρ‹ΠΉ совСт” β€” Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ строковыС поля с высокой ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Добавляя ΠΊ датасСту ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π·Π°ΠΊΠ°Π·Π°ΠΌ, сообщСния ΠΈΠ· Ρ‡Π°Ρ‚Π° ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, ΠΌΠΎΠΆΠ½ΠΎ сильно ΠΏΡ€ΠΎΡΠ°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для полнотСкстового поиска, ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π΄Π²ΠΈΠΆΠΊΠΎΠ² In-Memory OLAP. Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RLE, Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ инструкции. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ снова ΠΏΠ°Π΄Π°Π΅ΠΌ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ строковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС, Ρ‡Π΅ΠΌ для арифмСтичСских. BI-систСма Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ индСкс Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ строковыС поля со всСми Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ послСдствиями.

Π”Π° ΠΏΡ€Π΅Π±ΡƒΠ΄Π΅Ρ‚ с Π²Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», In-Memory OLAP β€” это продвинутая ΠΈ умная тСхнология, которая, Ρ‡Π°Ρ‰Π΅ всСго, «просто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β» ΠΈ позволяСт Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρƒ BI-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Но, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» ΡΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ, ΠΈ, я надСюсь, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ.

ВсСх с Π½Π°ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΌ, ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всСм вашим сСрвисам Π² Новом Π“ΠΎΠ΄Ρƒ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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