DLC Π΄Π»Ρ Π²ΡΠΏΡΡΠΊΠ½ΠΈΠΊΠΎΠ² core
Realtime Analytics Pipelines Π·Π° 2 ΠΌΠ΅ΡΡΡΠ°
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠΎΠ±Π΅ΡΠ΅ΡΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΉ realtime-ΠΊΠΎΠ½ΡΡΡ: ΠΎΡ CDC ΠΈ Kafka Π΄ΠΎ ΠΌΠ΅ΡΡΠΈΠΊ, API, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π»Π΅ΡΡΠΎΠ² Π½Π° SLA/freshness.
Π§ΡΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅: Π²Ρ ΡΠΌΠ΅Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΡΠ΅ΠΊ, Π½ΠΎ ΠΈ ΠΏΠΎΠΉΠΌΠ°ΡΡ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ: Π»Π°Π³, schema drift, "ΠΏΠΎΡΠ΅ΠΌΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ Π²ΡΠ΅Ρ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ".
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ / Π½Π΅ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ
- ΠΡΠΏΡΡΠΊΠ½ΠΈΠΊΠΈ core, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π³.
- Junior/Middle DE, Ρ ΠΊΠΎΡΠΎΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ Kafka/CDC/ClickHouse.
- Backend/Data-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ Π²ΠΎΠΉΡΠΈ Π² realtime-Π·Π°Π΄Π°ΡΠΈ.
- Π’Π΅, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠΉΡΠΈ ΠΏΡΡΡ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
ΠΠ΅ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ
- ΠΡΠΎ Π½Π΅ BI design course.
- ΠΡΠΎ Π½Π΅ ΠΊΡΡΡ ΡΠΈΡΡΠΎ ΠΏΠΎ Flink.
- ΠΡΠΎ Π½Π΅ ΠΊΡΡΡ ΠΏΡΠΎ Database Internals.
- ΠΡΠΎ Π½Π΅ "Π²Ρ ΠΎΠ΄ Π² DE Ρ Π½ΡΠ»Ρ".
Π§ΡΠΎ Π²Π½ΡΡΡΠΈ: 4 Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΡ + ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ°Π±Π° 1. CDC fundamentals
ΠΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ Postgres + Debezium + Kafka, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ snapshot, INSERT/UPDATE/DELETE ΠΈ ΠΏΡΠΎΡΡΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΡΡ Π΅ΠΌΡ. Π‘ΠΌΠΎΡΡΠΈΠΌ, Π³Π΄Π΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π»ΠΎΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π±Π° 2. Realtime-Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π² ClickHouse
ΠΠ΅Π»Π°Π΅ΠΌ ingestion ΠΈΠ· Kafka Π² ClickHouse, ΡΡΡΠΎΠΈΠΌ materialized views ΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π΅ΡΠΆΠΈΡΡΡ freshness ΠΏΡΠΈ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠ°Π±Π° 3. API-ΡΠ»ΠΎΠΉ Π΄Π»Ρ ΠΌΠ΅ΡΡΠΈΠΊ
ΠΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ FastAPI Π½Π°Π΄ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ: ΡΠ°ΠΉΠΌ-Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΡΡ. ΠΠ΅Π»Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ freshness checks Π½Π° ΡΡΠΎΠ²Π½Π΅ API, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΎΡΠ΄Π°Π²Π°ΡΡ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°Π±Π° 4. Ops drill (ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅)
ΠΡΠ°ΠΊΡΠΈΠΊΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ: lag, schema drift, Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΡ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π΅, Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ SLA. ΠΡΠΆΠ½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ recovery-ΠΏΠ»Π°Π½.
Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Π‘ΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ end-to-end realtime analytics ΡΠ΅ΡΠ²ΠΈΡ: ingestion, Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ, API, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, freshness/SLA-Π°Π»Π΅ΡΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
Π€ΠΎΡΠΌΠ°Ρ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
- 2 ΠΌΠ΅ΡΡΡΠ°.
- ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΠ±ΠΎΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ: ΡΠ΄Π°Π²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΄Π°Π²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π΅Π΄Π»Π°ΠΉΠ½ΠΎΠ².
- Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ.
- Π Π°Π· Π² Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ live-ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ ΠΏΡΡΠΈ.
- ΠΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ.
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ°: ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 8-10 ΡΠ°ΡΠΎΠ² Π² Π½Π΅Π΄Π΅Π»Ρ.
Prerequisites
- Core-ΠΊΡΡΡ DE ΠΈΠ»ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠΉ ΠΎΠΏΡΡ Ρ Kafka/SQL/Python.
- Π£Π²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ docker
- ΠΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΡΡΠΊΠ°ΠΌΠΈ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π»Π΅ΠΊΡΠΈΠΈ.
- ΠΡΠ΅ΠΌΡ ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΊΠ».
Π ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅
Π’ΡΡ ΡΠΎΡΠΊΠ° ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΡΡΠΎΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Ρ:
- ΠΠΎΡ ΡΡ ΠΎΠΏΡΡΠ°
- Π‘ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΈ Π²Π΅Π΄Ρ core
- ΠΡΡ Π²ΠΎΡ ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π° core ΡΡΠΎ ΠΌΠΎΡ ΡΡΡΠΊΠ°
- Π€ΠΎΠΊΡΡ Π½Π° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ
- ΠΏΠΎΠ΄Ρ ΠΎΠ΄ "lab-first, Π½Π΅ lecture-first"
Π¦Π΅Π½Π° ΠΈ Π·Π°ΡΠ²ΠΊΠ° [ΠΏΡΠΈΠΌΠ΅Ρ]
ΠΡΠΈΠ΅Π½ΡΠΈΡ ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°:
ΠΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°ΡΠ²ΠΊΡ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΠΎ Π΄Π°ΡΠ°ΠΌ ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ ΡΠ»ΠΎΡ.
ΠΠ°ΠΆΠΈΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, Π²Ρ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΏ.