Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

Π’ΠΎ прСсрСт Π½Π° Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊ ΠΏΠΎ стапка Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠŸΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠ²ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° интСрСсСн ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π».

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

ΠŸΡ€Π΅Π³Π»Π΅Π΄

ЌС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½Π° шСма со која Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ користат повСќС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сСкоја ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π° сС користи Π·Π° свои Ρ†Π΅Π»ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° канонската Ρ„ΠΎΡ€ΠΌΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (MySQL, ΠΈΡ‚Π½.), ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ моТности Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ (ElasticSearch, ΠΈΡ‚Π½.) .), ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ (Memcached, ΠΈΡ‚Π½.) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ. Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ, ΠΊΠΎΠ³Π° сС користат повСќС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π΅Π΄Π½Π°Ρ‚Π° ΠΎΠ΄ Π½ΠΈΠ² Π΄Π΅Π»ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π°, Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π·Π° Π΄Π΅Ρ€ΠΈΠ²Π°Ρ‚ΠΈ. ЕдинствСниот ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° сС синхронизираат ΠΎΠ²ΠΈΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π Π°Π·Π³Π»Π΅Π΄Π°Π²ΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΈ сС ΠΎΠ±ΠΈΠ΄ΠΎΠ° Π΄Π° Π³ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° повСќС ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС двојно Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, дистрибуирани трансакции ΠΈΡ‚Π½. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²ΠΈΠ΅ пристапи ΠΈΠΌΠ°Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π²ΠΎ однос Π½Π° Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, довСрливоста ΠΈ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. ΠŸΠΎΠΊΡ€Π°Ρ˜ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, Π½Π΅ΠΊΠΎΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ исто Ρ‚Π°ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ со ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ услуги.

Π”Π΅Π»Ρ‚Π° бСшС Ρ€Π°Π·Π²ΠΈΠ΅Π½Π° Π·Π° Π΄Π° Π³ΠΈ Ρ€Π΅ΡˆΠΈ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π”Π΅Π»Ρ‚Π° Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° конзистСнтна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½Π° ΠΎΠ΄ настани.

ΠŸΠΎΡΡ‚ΠΎΡ˜Π½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°

Π”Π²ΠΎΠ΅Π½ Π²Π»Π΅Π·

Π—Π° Π΄Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°Ρ‚Π΅ синхронизирани Π΄Π²Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС двојно Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, ΠΊΠΎΠ΅ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π²ΠΎ Π΅Π΄Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π°, Π° ΠΏΠΎΡ‚ΠΎΠ° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π²ΠΎ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° вСднаш ΠΏΠΎΡ‚ΠΎΠ°. ΠŸΡ€Π²Π°Ρ‚Π° снимка ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈ, Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΊΠΈΠ½Π΅ Π°ΠΊΠΎ ΠΏΡ€Π²Π°Ρ‚Π° Π½Π΅ успСС ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС сС исцрпи Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΎΠ±ΠΈΠ΄ΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, Π΄Π²Π΅Ρ‚Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° станат нСсинхронизирани Π°ΠΊΠΎ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π° Π½Π΅ успСС. Овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС Ρ€Π΅ΡˆΠ°Π²Π° со ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ која ΠΌΠΎΠΆΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° прСнСсува ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ ΠΏΡ€Π²ΠΎΡ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ, ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ стори Ρ‚ΠΎΠ° само Π°ΠΊΠΎ сС ΠΎΡ‚ΠΊΡ€ΠΈΡ˜Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΠΊΠΈ Π²ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

Π˜Π·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π΅ спСцифична Ρ€Π°Π±ΠΎΡ‚Π° ΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° сС користи. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ остануваат нСсинхронизирани Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅. Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ станува покомплСксно Π°ΠΊΠΎ сС користат повСќС ΠΎΠ΄ Π΄Π²Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, постапката Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ ΠΈΠ·Π²ΠΎΡ€ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ ја Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ

Кога сС случуваат ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π·Π±ΠΈΡ€ Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈ (ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅, Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ запис), записитС Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ сС Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ‚ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ истата Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°. Π”Ρ€ΡƒΠ³Π° нишка ΠΈΠ»ΠΈ процСс ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ Π±Π°Ρ€Π° настани ΠΎΠ΄ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ ΠΈ Π³ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π²ΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ повСќС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ настанитС ΠΎΠ΄ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ записот ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΡ‚Π²Ρ€Π΄Π΅Π½ ΠΎΠ΄ ситС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

Оваа шСма Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΈ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΡˆΡ‚ΠΎ ја користи. Π’ΠΎ ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡ‚Π½Π° срСдина, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ‚Π°ΠΊΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° постои Π½Π° кој Π±ΠΈΠ»ΠΎ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π΅Π½ јазик, Π½ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ конзистСнтност Π½Π° функционалноста ΠΈ ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΌΠ΅Ρ“Ρƒ Ρ˜Π°Π·ΠΈΡ†ΠΈΡ‚Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Ρ‚Π΅ΡˆΠΊΠΎ.

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π»Π΅ΠΆΠΈ Π²ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π²ΠΎ систСмитС ΠΊΠΎΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° трансакцискитС шСми [1][2], ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ MySQL. Π—Π°Ρ‚ΠΎΠ°, ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π°Π²Π΅ΡšΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° ΡˆΠ΅ΠΌΠ°Ρ‚Π°) ΠΈ трансакциско снимањС Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° со Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π΅ΠΌΠ° сСкогаш Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Дистрибуирани трансакции

ДистрибуиранитС трансакции ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат Π·Π° ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π½Π° повСќС Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΈΠ»ΠΈ посвСтСна Π½Π° ситС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π΅ посвСтСна Π½Π° Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½Π° ΠΎΠ΄ Π½ΠΈΠ².

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

ДистрибуиранитС трансакции сС ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ»Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. По ΡΠ²ΠΎΡ˜Π°Ρ‚Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°, Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΏΠΎΡ‚ΠΏΡ€Π°Ρ‚ само Π½Π° Π½Π°Ρ˜ΠΌΠ°Π»ΠΈΠΎΡ‚ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π» Π½Π° Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ систСми. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, XA трансакциитС Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π°ΠΊΠΎ процСсот Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π΅ успСС Π²ΠΎ Ρ„Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, XA Π½Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° ΡœΠΎΡ€ΡΠΎΠΊΠ°ΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° оптимистички шСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° истоврСмСност. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Π½Π΅ΠΊΠΎΠΈ систСми ΠΊΠ°ΠΊΠΎ ElasticSearch Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ XA ΠΈΠ»ΠΈ кој Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³ Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°. Π’Π°ΠΊΠ°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π°Ρ‚ΠΎΠΌΠΈΡ‡Π½ΠΎ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ останува ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΡƒΠ²Π°Ρ‡ΠΊΠ° Π·Π°Π΄Π°Ρ‡Π° Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ [3].

Π”Π΅Π»Ρ‚Π°

Π”Π΅Π»Ρ‚Π° Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π½Π° постоСчкитС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ, исто Ρ‚Π°ΠΊΠ°, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ Π»Π΅Ρ‚ΠΎΡ‚. ΠΠ°ΡˆΠ°Ρ‚Π° Ρ†Π΅Π» бСшС Π΄Π° ја апстрахирамС Ρ†Π΅Π»Π°Ρ‚Π° ΠΎΠ²Π°Π° слоТСност ΠΏΠΎΠ΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ°Ρ‚ цСлосно Π΄Π° сС фокусираат Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°Ρ‚Π° функционалност. Π‘Π»Π΅Π΄Π½ΠΎ, ќС Π³ΠΎ опишСмС β€žΠŸΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Ρ„ΠΈΠ»ΠΌΠΎΠ²ΠΈβ€œ, вистинската ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π·Π° Π”Π΅Π»Ρ‚Π° Π½Π° НСтфликс.

Netflix Π½Π°ΡˆΠΈΡ€ΠΎΠΊΠΎ користи микросСрвисна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ сСкоја микросСрвис ΠΎΠ±ΠΈΡ‡Π½ΠΎ опслуТува Π΅Π΄Π΅Π½ Ρ‚ΠΈΠΏ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ„ΠΈΠ»ΠΌΠΎΡ‚ сС содрТани Π²ΠΎ микроуслугата Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Movie Service, Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠ΄ΡƒΡ†Π΅Π½Ρ‚ΠΈΡ‚Π΅, Π°ΠΊΡ‚Π΅Ρ€ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ сС ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½ΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π΄Ρ€ΡƒΠ³ΠΈ микроуслуги (ΠΈΠΌΠ΅Π½ΠΎ Deal Service, Talent Service ΠΈ Vendor Service).
Π”Π΅Π»ΠΎΠ²Π½ΠΈΡ‚Π΅ корисници Π²ΠΎ студиото Netflix чСсто ΠΈΠΌΠ°Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°Π°Ρ‚ Π½ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡƒΠΌΠΈ Π·Π° Ρ„ΠΈΠ»ΠΌ, ΠΏΠ° Π·Π°Ρ‚ΠΎΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π½ΠΈΠ² Π΄Π° ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°Π°Ρ‚ Π½ΠΈΠ· ситС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Ρ„ΠΈΠ»ΠΌΠΎΠ²ΠΈ.

ΠŸΡ€Π΅Π΄ Delta, Ρ‚ΠΈΠΌΠΎΡ‚ Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Ρ„ΠΈΠ»ΠΌΠΎΠ²ΠΈ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π΄Π° ΠΏΠΎΠ²Π»Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ повСќС микросСрвиси ΠΏΡ€Π΅Π΄ Π΄Π° Π³ΠΈ индСксира ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° Ρ„ΠΈΠ»ΠΌΠΎΡ‚. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Ρ‚ΠΈΠΌΠΎΡ‚ ΠΌΠΎΡ€Π°ΡˆΠ΅ Π΄Π° Ρ€Π°Π·Π²ΠΈΠ΅ систСм кој ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ќС Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° индСксот Π½Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ со Π±Π°Ρ€Π°ΡšΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ микросСрвиси, Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ нСмашС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Овој систСм Π±Ρ€Π·ΠΎ стана слоТСн ΠΈ Ρ‚Π΅ΠΆΠΎΠΊ Π·Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅.

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π»ΠΈΠΊΠ° 1. БистСм Π·Π° гласањС Π΄ΠΎ Π”Π΅Π»Ρ‚Π°
По ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Delta, систСмот бСшС поСдноставСн Π²ΠΎ систСм ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½ ΠΎΠ΄ настани ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ Π½Π° слСдната слика. НастанитС Π½Π° CDC (Change-Data-Capture) сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ Ρ‚Π΅ΠΌΠΈΡ‚Π΅ Π½Π° Keystone Kafka со помош Π½Π° Delta-Connector. ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Delta ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° со помош Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Delta Stream (заснована Π½Π° Flink) ΠΏΡ€ΠΈΠΌΠ° CDC настани ΠΎΠ΄ Ρ‚Π΅ΠΌΠ°, Π³ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π° со ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π΄Ρ€ΡƒΠ³ΠΈ микросСрвиси ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π³ΠΈ прСнСсува Π·Π±ΠΎΠ³Π°Ρ‚Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° индСксот Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Elasticsearch. Π¦Π΅Π»ΠΈΠΎΡ‚ процСс сС ΠΎΠ΄Π²ΠΈΠ²Π° рСчиси Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, односно, ΡˆΡ‚ΠΎΠΌ сС ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, индСкситС Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚.

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π»ΠΈΠΊΠ° 2. Гасовод Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Delta
Π’ΠΎ слСднитС Π΄Π΅Π»ΠΎΠ²ΠΈ, ќС ја опишСмС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Delta-Connector, кој сС ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π° со ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ ΠΈ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π° Π¦Π”Π¦ настани Π²ΠΎ транспортниот слој, ΡˆΡ‚ΠΎ Π΅ инфраструктура Π·Π° прСнос Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΡˆΡ‚ΠΎ Π³ΠΈ насочува настанитС Π½Π° Π¦Π”Π¦ ΠΊΠΎΠ½ Ρ‚Π΅ΠΌΠΈΡ‚Π΅ Π½Π° ΠšΠ°Ρ„ΠΊΠ°. И Π½Π° самиот ΠΊΡ€Π°Ρ˜, ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Delta stream, која Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ја користат Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅.

CDC (Change-Data-Capture)

Π Π°Π·Π²ΠΈΠ²ΠΌΠ΅ CDC услуга Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Delta-Connector, која ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ сними ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π΄Π° Π³ΠΈ запишС Π²ΠΎ прСнос. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ сС Π·Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакции ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°Ρ‚Π°. Π”Π΅ΠΏΠΎΠ½ΠΈΠΈ сС користат Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° трансакции ΠΎΠ±ΠΈΡ‡Π½ΠΎ Π½Π΅ ја складираат Ρ†Π΅Π»Π°Ρ‚Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС ΡΠ΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ ΠΊΠ°ΠΊΠΎ настани Π½Π° Delta, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ°Ρ‡ΠΎΡ‚ Π½Π΅ ΠΌΠΎΡ€Π° Π΄Π° сС Π³Ρ€ΠΈΠΆΠΈ ΠΎΠ΄ ΠΊΠ°Π΄Π΅ Π΄ΠΎΠ°Ρ“Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π°Ρ‚Π°.

Delta-Connector ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС:

  • Бпособност Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ сопствСни ΠΈΠ·Π»Π΅Π·Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΠΎΠΊΡ€Π°Ρ˜ ΠšΠ°Ρ„ΠΊΠ°.
  • Бпособност Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π°Ρ‚ Ρ€Π°Ρ‡Π½ΠΈ Π΄Π΅ΠΏΠΎΠ½ΠΈΠΈ Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ситС Ρ‚Π°Π±Π΅Π»ΠΈ, ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π΅Π»Π° ΠΈΠ»ΠΈ Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ.
  • Π”Π΅ΠΏΠΎΠ½ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅Π·Π΅ΠΌΠ°Ρ‚ Π½Π° ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ°, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° сС Π·Π°ΠΏΠΎΡ‡Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²ΠΎ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° нСуспСх.
  • НСма ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° поставуватС Π±Ρ€Π°Π²ΠΈ Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅, ΡˆΡ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π΄Π° сС осигура Π΄Π΅ΠΊΠ° ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜ΠΎΡ‚ Π·Π° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ никогаш Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ ΠΎΠ΄ Π½Π°ΡˆΠ°Ρ‚Π° услуга.
  • Висока достапност ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π²ΠΎ Π·ΠΎΠ½ΠΈΡ‚Π΅ Π·Π° достапност Π½Π° AWS.

Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°ΠΌΠ΅ MySQL ΠΈ Postgres, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ° Π½Π° AWS RDS ΠΈ Aurora. Ја ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°ΠΌΠ΅ ΠΈ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° (ΠΌΡƒΠ»Ρ‚ΠΈ-ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€). ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ·Π½Π°Π΅Ρ‚Π΅ повСќС Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π° Delta-Connector ΠΎΠ²Π΄Π΅ Π±Π»ΠΎΠ³ пост.

ΠšΠ°Ρ„ΠΊΠ° ΠΈ транспортниот слој

Π‘Π»ΠΎΡ˜ΠΎΡ‚ Π·Π° транспорт Π½Π° настани Π½Π° Delta Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π½Π° услугата Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠ»ΡƒΡ‡.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠΊΠΈ Π³Π»Π΅Π΄Π°Π½ΠΎ, ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Netflix Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π·Π° пристапност намСсто долговСчност (Π²ΠΈΠ΄ΠΈ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ). ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°). Π Π°Π·ΠΌΠ΅Π½Π°Ρ‚Π° бСшС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π»Π½Π° нСдослСдност Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΡ‚ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСчист ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π»ΠΈΠ΄Π΅Ρ€ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΏΡ€ΠΈΠΌΠ°Ρ‡ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π΄Π° ΠΈΠΌΠ° Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ‚ ΠΈΠ»ΠΈ ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ настани.

Π‘ΠΎ Delta, сакавмС посилни Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° издрТливост Π·Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΌΠ΅ испорака Π½Π° Π¦Π”Π¦ настани Π΄ΠΎ ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†ΠΈ. Π—Π° Ρ‚Π°Π° Ρ†Π΅Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ²ΠΌΠ΅ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ кластСр ΠšΠ°Ρ„ΠΊΠ° ΠΊΠ°ΠΊΠΎ првокласСн ΠΎΠ±Ρ˜Π΅ΠΊΡ‚. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π½Π΅ΠΊΠΎΠΈ поставки Π½Π° Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΡ‚ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ»Ρƒ:

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

Π’ΠΎ кластСритС ΠšΠΈΡΡ‚ΠΎΡƒΠ½ ΠšΠ°Ρ„ΠΊΠ°, нСчист ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π»ΠΈΠ΄Π΅Ρ€ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π·Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ пристапност Π½Π° ΠΈΠ·Π΄Π°Π²Π°Ρ‡ΠΎΡ‚. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° Π°ΠΊΠΎ нСсинхронизирана Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° Π±ΠΈΠ΄Π΅ ΠΈΠ·Π±Ρ€Π°Π½Π° Π·Π° Π²ΠΎΠ΄Π°Ρ‡. Π—Π° Π½ΠΎΠ² кластСр ΠšΠ°Ρ„ΠΊΠ° со висока достапност, ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° нСчист ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π»ΠΈΠ΄Π΅Ρ€ исклучСн Π·Π° Π΄Π° спрСчи Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π°.

Π—Π³ΠΎΠ»Π΅ΠΌΠΈΠ²ΠΌΠ΅ ΠΈ Π½ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ 2 Π΄ΠΎ 3 ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ нСсинхронизирани Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Од 1 Π΄ΠΎ 2. Π˜Π·Π΄Π°Π²Π°Ρ‡ΠΈΡ‚Π΅ ΠΊΠΎΠΈ ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ овој кластСр Π±Π°Ρ€Π°Π°Ρ‚ Π°ΠΊΡ‚ΠΈ ΠΎΠ΄ ситС Π΄Ρ€ΡƒΠ³ΠΈ, со ΡˆΡ‚ΠΎ сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π΄Π΅ΠΊΠ° 2 ΠΎΠ΄ 3 Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π³ΠΈ ΠΈΠΌΠ°Π°Ρ‚ Π½Π°Ρ˜Π°ΠΊΡ‚ΡƒΠ΅Π»Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ€Π°ΠΊΠΈ испратСни ΠΎΠ΄ ΠΈΠ·Π΄Π°Π²Π°Ρ‡ΠΎΡ‚.

Кога брокСрската инстанца Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°, Π½ΠΎΠ²Π° инстанца ја Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π° старата. Π‘Π΅ΠΏΠ°ΠΊ, Π½ΠΎΠ²ΠΈΠΎΡ‚ Π±Ρ€ΠΎΠΊΠ΅Ρ€ ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ достигнС нСсинхронизиранитС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡ‚Ρ€Π°Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ часа. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π·Π° ΠΎΠ²Π° сцСнарио, ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ Π΄Π° користимС Π±Π»ΠΎΠΊ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (Amazon Elastic Block Store) намСсто Π»ΠΎΠΊΠ°Π»Π½ΠΈ брокСрски дискови. Кога Π½ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π° ΠΏΡ€Π΅ΠΊΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ Π½Π° Π±Ρ€ΠΎΠΊΠ΅Ρ€, Ρ‚ΠΎΡ˜ Π³ΠΎ ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π° Π²ΠΎΠ»ΡƒΠΌΠ΅Π½ΠΎΡ‚ Π½Π° EBS ΡˆΡ‚ΠΎ Π³ΠΎ ΠΈΠΌΠ°Π» ΠΏΡ€Π΅ΠΊΠΈΠ½Π°Ρ‚ΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΡ‡Π½ΡƒΠ²Π° Π΄Π° Π³ΠΈ достигнува Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ€Π°ΠΊΠΈ. Овој процСс Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°ΡΡ‡ΠΈΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° заостанатитС ΠΎΠ΄ часови Π½Π° ΠΌΠΈΠ½ΡƒΡ‚ΠΈ бидСјќи Π½ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ повСќС Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π° ΠΎΠ΄ ΠΏΡ€Π°Π·Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°. Π‘Π΅Π²ΠΊΡƒΠΏΠ½ΠΎ, ΠΎΠ΄Π΄Π΅Π»Π½ΠΎΡ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈΠΎΡ‚ циклус Π½Π° посрСдникот Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°Π°Ρ‚ Π²Π»ΠΈΡ˜Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΈΡ‚Π΅.

Π—Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ја Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ Π³Π°Ρ€Π°Π½Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° испорака Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, користСвмС систСм Π·Π° слСдСњС ΠΏΠΎΡ€Π°ΠΊΠΈ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ ΠΊΠ°ΠΊΠ²Π° Π±ΠΈΠ»ΠΎ Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ° Π²ΠΎ СкстрСмни услови (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° часовникот Π²ΠΎ Π²ΠΎΠ΄Π°Ρ‡ΠΎΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π°).

Π Π°ΠΌΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ‚Π΅ΠΊ

Π‘Π»ΠΎΡ˜ΠΎΡ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Delta Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Netflix SPaaS, која ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Apache Flink со СкосистСмот Netflix. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° кориснички ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ кој ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ мСста Π½Π° Flink ΠΈ ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° кластСритС Π½Π° Flink Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Titus. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚, исто Ρ‚Π°ΠΊΠ°, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° корисницитС Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π΄Π° ΠΏΡ€Π°Π²Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π±Π΅Π· Π΄Π° ΠΌΠΎΡ€Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π°Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° Flink.

Π”Π΅Π»Ρ‚Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Ρ€Π°ΠΌΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прСнос Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Flink ΠΈ SPaaS ΡˆΡ‚ΠΎ користи Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠ±Π΅Π»Π΅ΡˆΠΊΠΈ DSL (Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅Π½ јазик Π·Π° Π΄ΠΎΠΌΠ΅Π½) Π·Π° апстрактни Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Ρ‡Π΅ΠΊΠΎΡ€ΠΎΡ‚ Π²ΠΎ кој настанитС ќС сС Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°Π°Ρ‚ со ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ сСрвиси, корисницитС Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ слСдниов DSL, Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ќС создадС ΠΌΠΎΠ΄Π΅Π» Π²Ρ€Π· основа Π½Π° Π½Π΅Π³ΠΎ, кој ќС Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈ Flink.

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π»ΠΈΠΊΠ° 3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° DSL Π²ΠΎ Π”Π΅Π»Ρ‚Π°

Π Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ само ΡˆΡ‚ΠΎ ја Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° ΠΊΡ€ΠΈΠ²Π°Ρ‚Π° Π½Π° ΡƒΡ‡Π΅ΡšΠ΅, Ρ‚ΡƒΠΊΡƒ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈ карактСристики Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ‚Π΅ΠΊΠΎΠ²ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, ΡˆΠ΅ΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ флСксибилност ΠΈ Сластичност Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Π Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Delta Stream сС состои ΠΎΠ΄ Π΄Π²Π° ΠΊΠ»ΡƒΡ‡Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π°, ΠΌΠΎΠ΄ΡƒΠ»ΠΎΡ‚ DSL ΠΈ API ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΎΡ‚ Runtime. ΠœΠΎΠ΄ΡƒΠ»ΠΎΡ‚ DSL & API ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° DSL ΠΈ UDF (User-Defined-Function) API, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ корисницитС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ сопствСна Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (ΠΊΠ°ΠΊΠΎ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ»ΠΈ трансформации). ΠœΠΎΠ΄ΡƒΠ»ΠΎΡ‚ Runtime ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° DSL парсСр кој Π³Ρ€Π°Π΄ΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΎ ΠΏΡ€Π΅Ρ‚ΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ‡Π΅ΠΊΠΎΡ€ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΎ DAG ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ‚Π° Execution Π³ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° DAG ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π·Π° Π΄Π° Π³ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π° вистинскитС изјави Π½Π° Flink ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Flink. АрхитСктурата Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ илустрирана Π½Π° слСдната слика.

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π»ΠΈΠΊΠ° 4. АрхитСктура Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π΅Π»Ρ‚Π° Ρ‚Π΅ΠΊ

Овој пристап ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ прСдности:

  • ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС фокусираат Π½Π° Π½ΠΈΠ²Π½Π°Ρ‚Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π±Π΅Π· Π΄Π° ΠΌΠΎΡ€Π° Π΄Π° истраТуваат Π²ΠΎ спСцификитС Π½Π° Flink ΠΈΠ»ΠΈ структурата SPaaS.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π° Π½Π°Ρ‡ΠΈΠ½ кој Π΅ транспарСнтСн Π·Π° корисницитС, Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠΏΡ€Π°Π²Π°Ρ‚ Π±Π΅Π· Π΄Π° сС Π±Π°Ρ€Π°Π°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ корисничкиот ΠΊΠΎΠ΄ (UDF).
  • Π˜ΡΠΊΡƒΡΡ‚Π²ΠΎΡ‚ΠΎ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Delta Π΅ поСдноставСно Π·Π° корисницитС бидСјќи ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° флСксибилност ΠΈ Сластичност Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π° ΠΈ собира Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π΅Ρ‚Π°Π»Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат Π·Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°

Π”Π΅Π»Ρ‚Π° Π΅ Π²ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ˜Π° повСќС ΠΎΠ΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΈΠ³Ρ€Π° ΠΊΠ»ΡƒΡ‡Π½Π° ΡƒΠ»ΠΎΠ³Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Netflix Studio. Π’Π°Π° ΠΈΠΌ ΠΏΠΎΠΌΠΎΠ³Π½Π° Π½Π° Ρ‚ΠΈΠΌΠΎΠ²ΠΈΡ‚Π΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅, ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½ΠΈ ΠΎΠ΄ настани. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π”Π΅Π»Ρ‚Π°.

Π”Π΅Π»Ρ‚Π°: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π»ΠΈΠΊΠ° 5. АрхитСктура Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° Π”Π΅Π»Ρ‚Π°.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΈΡ†ΠΈ

Π‘ΠΈ сакалС Π΄Π° ΠΈΠΌ сС Π·Π°Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅ Π½Π° слСднитС Π»ΡƒΡ“Π΅ ΠΊΠΎΠΈ Π±Π΅Π° Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π²ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Π”Π΅Π»Ρ‚Π° Π²ΠΎ НСтфликс: АлСн Π’Π°Π½Π³, Чарлс Π–Π°ΠΎ, ЏСбин ΠˆΡƒΠ½, Џош Π‘Π½Π°Ρ˜Π΄Π΅Ρ€, ΠšΠ°ΡΡ‚ΡƒΡ€ΠΈ Π§Π°Ρ‚Π΅Ρ€ΡŸΠΈ, ΠœΠ°Ρ€ΠΊ Π§ΠΎ, ΠžΠ»ΠΎΡ„ ΠˆΠΎΡ…Π°Π½ΡΠΎΠ½, ΠŸΠΈΡ˜ΡƒΡˆ Π“ΠΎΡ˜Π°Π», ΠŸΡ€Π°ΡˆΠ°Π½Ρ‚ Рамдас, Π Π°Π³ΡƒΡ€Π°ΠΌ ΠžΠ½Ρ‚ΠΈ Бринивасан, Π‘Π°Π½Π΄ΠΈΠΏ Π“ΡƒΠΏΡ‚Π°, Π‘Ρ‚ΠΈΠ²Π΅Π½ Π’Ρƒ, Π’Π°Ρ€Π°Π½Π³Π° Π“Π°ΠΌΠ°Π΅Ρ‚ΠΈΠ³Π΅, ΠˆΡƒΠ½ Π’Π°Π½Π³ ΠΈ ЏСнџонг ΠšΡΡƒ.

Π˜Π·Π²ΠΎΡ€ΠΈ

  1. dev.mysql.com/doc/refman/5.7/en/implicit-commit.html
  2. dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html
  3. Martin Kleppmann, Alastair R. Beresford, Boerge Svingen: ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° онлајн настани. Commun. ACM 62 (5): 43–49 (2019). DOI: doi.org/10.1145/3312527

ΠŸΡ€ΠΈΡ˜Π°Π²Π΅Ρ‚Π΅ сС Π·Π° бСсплатСн Π²Π΅Π±ΠΈΠ½Π°Ρ€: β€žΠΠ»Π°Ρ‚ΠΊΠ° Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° Amazon Redshiftβ€œ.

Π˜Π·Π²ΠΎΡ€: www.habr.com