Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

Π­Ρ‚ΠΎ вторая Ρ‡Π°ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° статСй ΠΎΠ± аналитичСских систСмах (ссылка Π½Π° Ρ‡Π°ΡΡ‚ΡŒ 1).

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

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

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

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

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

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

ΠŸΠ»ΡŽΡΡ‹
ΠœΠΈΠ½ΡƒΡΡ‹

МоТно Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ
Часто это ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

Π’Ρ‚ΠΎΡ€ΠΎΠΉ: Π²Π·ΡΡ‚ΡŒ сСрвисныС услуги SaaS (Amazon, Google, Azure) вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ самому. ΠŸΡ€ΠΎ SaaS Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТСм Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ части.

ΠŸΠ»ΡŽΡΡ‹
ΠœΠΈΠ½ΡƒΡΡ‹

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дСшСвлС Π½Π° срСдних ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…, Π½ΠΎ ΠΏΡ€ΠΈ большом ростС всС Ρ€Π°Π²Π½ΠΎ станСт слишком Π΄ΠΎΡ€ΠΎΠ³ΠΎ
НС получится ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

АдминистрированиС Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ пСрСкладываСтся Π½Π° ΠΏΠ»Π΅Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° услуг
НС всСгда извСстно, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСрвиса (ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ)

Как ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠΉΡ‚ΠΈ ΠΎΡ‚ использования клиСнтских Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ свою, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½ΠΎΠ²ΠΎΠΉ систСмы. НиТС я пошагово расскаТу, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· шагов ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² случаС клиСнтской Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Π²ΠΈΠ΄Ρ‹ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π² дальнСйшСм ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΈΡ… Π² список. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, эти ΠΈΠ²Π΅Π½Ρ‚Ρ‹ происходят Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся «схСмой ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ²Β».
Π”Π°Π»ΡŒΡˆΠ΅, прСдставим, Ρ‡Ρ‚ΠΎ Ρƒ мобильного прилоТСния (Π²Π΅Π±-сайта) Π΅ΡΡ‚ΡŒ постоянныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ (устройства) ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ сСрвСров. Для бСзопасной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ² с устройств Π½Π° сСрвСры Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ слой. Π’ зависимости ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ².
Apache Kafka β€” это pub/sub queue, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для сбора ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ².

Богласно посту Π½Π° ΠšΠ²ΠΎΡ€Π΅ Π² 2014, ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Apache Kafka Ρ€Π΅ΡˆΠΈΠ» Π½Π°Π·Π²Π°Ρ‚ΡŒ ПО Π² Ρ‡Π΅ΡΡ‚ΡŒ Π€Ρ€Π°Π½Ρ†Π° ΠšΠ°Ρ„ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ β€œΡΡ‚ΠΎ систСма, оптимизированная для записи”, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ любил произвСдСния ΠšΠ°Ρ„ΠΊΠΈ.β€Š β€” ВикипСдия

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

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠšΠ°Ρ„ΠΊΠ° позволяСт ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ кусками ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΈΠ½ΠΈ-Π±Π°Ρ‚Ρ‡Π°ΠΌΠΈ. ΠšΠ°Ρ„ΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с ростом потрСбностСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ²).
ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡˆΠ°Ρ€Π΄Π° достаточно, Π½ΠΎ Π΄Π΅Π»Π° становятся слоТнСС Π² связи ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ΠΊΠ°ΠΊ ΠΈ всСгда). ВСроятно, Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΎΠ΄ΠΈΠ½ физичСский ΡˆΠ°Ρ€Π΄ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ отказоустойчивой. Помимо ΠšΠ°Ρ„ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ извСстноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” RabbitMQ. ΠœΡ‹ Π½Π΅ использовали Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅ ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ² (Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠΏΡ‹Ρ‚, расскаТитС ΠΎ Π½Π΅ΠΌ Π² коммСнтариях!). Однако, использовали AWS Kinesis.

ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой систСмы β€” Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сырых Π»ΠΎΠ³ΠΎΠ². Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой, Π½ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² случаС, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ² Π² ΠšΠ°Ρ„ΠΊΠ΅ обнулятся. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ сырых Π»ΠΎΠ³ΠΎΠ² Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТного ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС (Ρ…ΠΎΡ‚ΡŒ Π½Π° ТСсткий диск).
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ всС ΠΈΠ²Π΅Π½Ρ‚Ρ‹ ΠΈ помСстили ΠΈΡ… Π² подходящиС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡˆΠ°Π³Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π—Π΄Π΅ΡΡŒ расскаТу ΠΎ Π΄Π²ΡƒΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” это ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Spark Streaming Π² систСмС Apache. ВсС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Apache ΠΆΠΈΠ²ΡƒΡ‚ Π² HDFS, бСзопасной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС с Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Spark Streaming β€” это ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ. Однако, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ тяТСловат Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠΈ.
Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ². Для этого Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ питоновскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ±ΠΈΠ»Π΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄ΠΎΠΊΠ΅Ρ€Π΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠšΠ°Ρ„ΠΊΠΈ. Когда Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π΄ΠΎΠΊΠ΅Ρ€Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ постоянно Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ прилоТСния.
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· описанных Π²Ρ‹ΡˆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ самой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ валидности Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ мусор ΠΈ «сломанныС» ΠΈΠ²Π΅Π½Ρ‚Ρ‹. Для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Cerberus. ПослС этого ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ Π΄Π°Π½Π½Ρ‹Ρ…: Π΄Π°Π½Π½Ρ‹Π΅ с Ρ€Π°Π·Π½Ρ‹Ρ… источников Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ±Ρ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ.
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

3. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…

Π’Ρ€Π΅Ρ‚ΠΈΠΉ шаг β€” ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ²Π΅Π½Ρ‚Ρ‹. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ аналитичСской систСмой Π½Π°ΠΌ придСтся часто ΠΊ Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….
Если Π΄Π°Π½Π½Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π»ΠΎΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ схСму, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Clickhouse ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро. ΠœΠΈΠ½ΡƒΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ схСма ТСстко фиксирована ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π΅Π· Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ получится (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ нСстандартный ΠΈΠ²Π΅Π½Ρ‚). Π—Π°Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстро.
Для нСструктурированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ NoSQL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Apache Cassandra. Она Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° HDFS, Ρ…ΠΎΡ€ΠΎΡˆΠΎ рСплицируСтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ инстансов, отказоустойчива.
МоТно ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MongoDB. Она довольно мСдлСнная ΠΈ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов. Но плюс Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ простая ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для старта.
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

4. АгрСгации

Аккуратно сохранив всС ΠΈΠ²Π΅Π½Ρ‚Ρ‹, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ· Π±Π°Ρ‚Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡˆΠ΅Π», ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всю Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π‘Π”. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Π΅ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. НапримСр, ΠΈΠ· ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ² ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π˜Π²Π΅Π½Ρ‚Ρ‹ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ, ΠΈ снова ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ (ΡƒΠΆΠ΅ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹). ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Ρƒ-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€: ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΈΠ²Π΅Π½Ρ‚ΠΎΠ².
ПослС этого, Ссли ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ высокоуровнСвая Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ внСшниС систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ. МоТно снова Π²Π·ΡΡ‚ΡŒ Mixpanel. Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° довольно дорогая, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΡƒΠΆΠ΅ Π½Π΅ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠ²Π΅Π½Ρ‚Ρ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сырыС ΠΈΠ²Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сами Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅, Π²ΠΎ внСшниС систСмы, АПИ ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

5. Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄

К созданной систСмС Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” сСрвис redash, это GUI для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Π½Π΅Π»ΠΈ. Как устроСно взаимодСйствиС:

  1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ SQL запрос.
  2. Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ.
  3. Для Π½Π΅Π΅ создаСт β€˜new visualization’ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ красивый Π³Ρ€Π°Ρ„ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ сСбС.

Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² сСрвисС автообновляСмыС, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ свои ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ. Redash бСсплатСн, Π² случаС self-hosted, Π° ΠΊΠ°ΠΊ SaaS Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ 50 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² мСсяц.
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ систСмы Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅! Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ вопросам Π² коммСнтариях.

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