ΠΠ΄ΡΠ°Π²Π΅ΠΉ, Π₯Π°Π±Ρ! ΠΠ°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π·Π° Π½ΠΎΠ² ΠΏΠΎΡΠΎΠΊ ΠΎΡ ΠΊΡΡΡΠΎΠ²Π΅ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² OTUS
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ
Π‘ΠΈΠ»Π½ΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π° Twitter Engineering. ΠΠΎΠΊΠ°ΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ BigQuery Π² Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π½ΠΈΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΡΡ
Ρ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ° Π΄Π° ΠΎΡΠΊΡΠΈΠ²Π°ΠΌΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ, Π½ΠΈΠ΅ ΡΠ°Π·ΡΠΈΡΠΈΡ
ΠΌΠ΅ Π½Π°ΡΠΈΡ ΡΠ»ΠΎΠΉ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π΄ΠΎ
BigQuery ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠΌ ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Π‘ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π‘ΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ : ΠΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° BigQuery Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ·Π²ΡΠ½ Twitter.ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° VPC ΡΡΠ»ΡΠ³Π°ΡΠ° : ΠΠΎΠ½ΡΡΠΎΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ BigQuery ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° IP Π°Π΄ΡΠ΅ΡΠΈ.
ΠΡΠ²Π΅Π΄ΠΎΡ ΠΌΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΠ΄ΠΈΡ (AAA) Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ GCP ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π·Π° ad hoc Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
- Π£ΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ°Π²Π°Π½Π΅: ΠΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΌΠ΅ Π²ΡΠ΅ΠΊΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π΄Π° ΠΈΠΌΠ° Π°ΠΊΠ°ΡΠ½Ρ Π·Π° ΡΡΠ»ΡΠ³Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ ΠΈ Π³ΡΡΠΏΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅.
- ΠΠ΄ΠΈΡ: ΠΠΊΡΠΏΠΎΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° BigQuery stackdriver, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, Π² Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° BigQuery Π·Π° Π»Π΅ΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ·.
ΠΠ° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Twitter ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° BigQuery, Π΄Π° ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΠΌ (ΠΈΠ·ΡΡΠΈΠ΅ΠΌ) Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·ΡΡΠΈΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅.
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ
ΠΌΠ΅ Google
Π Twitter ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΡΠ΅ΡΠΈΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡ Π·Π° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² BigQuery, ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ ΡΡΠΊ Π² Π½ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΠ΅Π΄ Π½Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ:
- Π‘ΠΈΠ»Π½ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ. ΠΡΠ΅ΠΊΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½Π° Π³ΡΡΠΏΠ° ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΈ Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ.
- ΠΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΡΡΡ ΡΡΠ΅Π΄Π½Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ (Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΡΠΎΠ»ΠΈΡΠ°Π½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅) Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π»ΠΈΡΠ½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (PII) ΠΈ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° Π³ΡΡΠΏΠ° ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π·Π°Π΄Π°ΡΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, Π±Π΅Π· Π΄Π° Π·Π½Π°ΡΡ ΠΊΠΎΠΈ ΡΠ° ΠΈΡΡΠΈΠ½ΡΠΊΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
- ΠΠ°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Ρ Π½ΠΈΡΠΊΠ° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ Ρ ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π».
- ΠΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ (ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠ·Π²ΡΠ½ Twitter) ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ Π½Π° Twitter.
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΌΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±ΡΠΎΠΈΠΌ Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° BigQuery ΠΈ Π΄Π° Π³ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ Π² ΡΠ»ΠΎΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ (
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
Π’ΡΠΉ ΠΊΠ°ΡΠΎ BigQuery Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΡΡΠ»ΡΠ³Π°, Π½ΡΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° SRE Π΅ΠΊΠΈΠΏΡΡ Π½Π° Twitter Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΠΈΠ»ΠΈ Π·Π°Π΄ΡΠ»ΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° Π±ΡΡΠΎΡΠΎ. ΠΠ΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ»ΠΎΡ, ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π±ΠΈΠ»Π΅Ρ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Google. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ»ΠΎΡΠΎΠ²Π΅ Π·Π° ΡΠ°ΠΌΠΎΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡ ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΈΡΠΊΠ°Π½ΠΈΡ Π΄ΠΎ Google.
Π¦Π΅Π½Π°
ΠΠ°ΡΠΈΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π΅Π½ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° BigQuery ΠΈ Presto ΡΠ° Π½Π° ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ. ΠΠ°ΠΊΡΠΏΠΈΡ
ΠΌΠ΅ ΡΠ»ΠΎΡΠΎΠ²Π΅ Π·Π°
Π‘ΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² BigQuery Π΄ΠΎΠ½Π΅ΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° GCS. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Scalding ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² GCS ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ BigQuery ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈΠΌ ΡΡΡΠΈΡΠ΅ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ BigQuery
ΠΠ° ΡΠ΅Π΄ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ΅Π΄ΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡΠ°, ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² BigQuery Π½Π΅ Π΅ ΡΠ΅Π½ΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Presto Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² GCS. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° BigQuery.
Π‘Π»Π΅Π΄Π²Π°ΡΠΈ ΡΠ°Π³ΠΈ
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅ Π³ΠΎΠ»ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊΡΠΌ BigQuery ΡΠ»Π΅Π΄ Π°Π»ΡΠ° Π²Π΅ΡΡΠΈΡΡΠ°. ΠΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΎΡΠ΅ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΡΠΌ BigQuery. ΠΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡΠΈ Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ Scalding Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° BigQuery. Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Looker ΠΈ Apache Zeppelin Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΎΡΡΠ΅ΡΠΈ Π·Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ BigQuery.
Π‘ΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½ΠΈ Ρ Google Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎ ΠΈ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΡΠΎΠ²Π° ΠΏΠ°ΡΡΠ½ΡΠΎΡΡΡΠ²ΠΎ. Π Π°Π±ΠΎΡΠΈΡ
ΠΌΠ΅ Ρ Google, Π·Π° Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ
ΠΡΠΎ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π²ΠΈΡΠΎΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π·Π° Google:
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° LZO-Thrift.
- ΠΠΎΡΠ°ΡΠΎΠ²Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡΠ°, ΡΠ΅Π΄ ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π°.
- BigQuery
ΠΡΠ½ΡΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Hive Metastore ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° LZO-Thrift. - ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° BigQuery
- Π‘Π°ΠΌΠΎΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ»ΠΎΡΠΎΠ²Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΠΌΠΎΠΊΡΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π΄Π°Π½Π½ΠΈ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π·Π° Π΅ΠΊΠΈΠΏΠ° Π½Π° Data Platform. ΠΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅ Google BigQuery ΠΈ Data Studio ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΡΠ΅Π», ΠΈ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ BigQuery Alpha Π·Π° ΡΡΠ»Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΡΠΊΡΠΈΡ ΠΌΠ΅, ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π² BigQuery ΡΠ° ΠΏΡΠΎΡΡΠΈ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° Google, Π·Π° Π΄Π° ΠΏΠΎΠ΅ΠΌΠ΅ΠΌ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΡΡΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ, Π½ΠΎ Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π½Π°ΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ°ΠΌΠΊΠ° Π½Π° Airflow. Π ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° BigQuery Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΠ΄ΠΈΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ. ΠΠ° Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΠΌΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅Ρ ΠΌΠ΅ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ ΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π½Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΡΡΠ»ΡΠ³Π° BigQuery Π±Π΅ΡΠ΅ Π»Π΅ΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π Π°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ Π±ΡΡ Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² BigQuery Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ GCS ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ BigQuery ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠ΅ Π·Π° ΠΎΠ±Ρ SQL Π°Π½Π°Π»ΠΈΠ·. ΠΠΈΠΆΠ΄Π°ΠΌΠ΅ Π³ΠΎΠ»ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊΡΠΌ BigQuery ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΏΡΠΈΠ²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π΅ΠΊΠΈΠΏΠΈ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ Ρ BigQuery. Twitter ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Scalding, Spark, Presto ΠΈ Druid. ΠΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ Π΄Π° ΡΠΊΡΠ΅ΠΏΠ²Π°ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΡΡΠ½ΠΈ Π½Π°ΡΠΎΠΊΠΈ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΌΠΈ Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡ
ΠΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° ΠΌΠΎΠΈΡΠ΅ ΡΡΠ°Π²ΡΠΎΡΠΈ ΠΈ ΡΡΠΎΡΠ±ΠΎΡΠ½ΠΈΡΠΈ, Anju Jha ΠΈ Will Pascucci, Π·Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΎ ΠΈΠΌ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠΏΠΎΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΈΡ ΠΈΡΠΊΠ°Π» ΡΡΡΠΎ Π΄Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΠΈΠΏΠ° Π² Twitter ΠΈ Google, ΠΊΠΎΠΈΡΠΎ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π°, ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° BigQuery Π² Twitter, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π° ΡΠ΅Π½Π½Π° ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ°.
ΠΠΊΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ Π½Π°ΡΠΈΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com