Как Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π³Π»Π°Π·Π° ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π΅ ΠΈ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Ρƒ Π² NoSQL

Как Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π³Π»Π°Π·Π° ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π΅ ΠΈ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Ρƒ Π² NoSQL

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

Π― расскаТу ΠΏΡ€ΠΎ наш ΠΎΠΏΡ‹Ρ‚ внСдрСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, основанного Π½Π° Π‘Π£Π‘Π” Cassandra: с Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΈΠ· Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… ситуаций, ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π»ΠΈ Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ ΠΎΡ‚ использования NoSQL ΠΈ Π³Π΄Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ усилия/срСдства.
Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° β€” это построСниС систСмы, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π·Π²ΠΎΠ½ΠΊΠΈ Π² Π½Π΅ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

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

Как Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π³Π»Π°Π·Π° ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π΅ ΠΈ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Ρƒ Π² NoSQL

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρƒ Π²ΠΏΠΎΠ»Π½Π΅ понятно β€” ΠΎΠ½Π° ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΡƒΠ»Π΅ΠΌΠ΅Ρ‚, Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°, отказоустойчива.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ΄Π°Ρ€ΠΈΠ» ΠΎΠΏΡ‹Ρ‚

Π”Π°, Π²Ρ‹Π»Π΅Ρ‚Π΅Π²ΡˆΠ°Ρ Π½ΠΎΠ΄Π° β€” Π½Π΅ трагСдия. Π’ Ρ‚ΠΎΠΌ ΠΈ ΡΡƒΡ‚ΡŒ отказоустойчивости ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹. Но Π½ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΆΠΈΠ²ΠΎΠΉ ΠΈ ΠΏΡ€ΠΈ этом Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΠ΅Π΄Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Как Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, это сразу отраТаСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСго кластСра.

ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π° Π½Π΅ подстрахуСт Ρ‚Π°ΠΌ, Π³Π΄Π΅ Oracle спасал своими констрСйнтами. И Ссли Π°Π²Ρ‚ΠΎΡ€ прилоТСния Π·Π°Ρ€Π°Π½Π΅Π΅ этого Π½Π΅ понял, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»Π΅Ρ‚Π΅Π²ΡˆΠΈΠΉ Π΄ΡƒΠ±Π»ΡŒ для ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹ Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ Ρ…ΡƒΠΆΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°. Π Π°Π· ΠΏΡ€ΠΈΡˆΠ΅Π», Π·Π½Π°Ρ‡ΠΈΡ‚ вставим.

БСсплатная ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π° Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Ρ€Π΅Π·ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ Π˜Π‘: логирования дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅Ρ‚, разграничСния ΠΏΡ€Π°Π² Ρ‚ΠΎΠΆΠ΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… относится ΠΊ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΅Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°ΡƒΠ΄ΠΈΡ‚Π°. Π’Π°ΠΊΠΆΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ уровням для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ эксплуатации ΠΈ супСрадмин, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ свободно ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь keyspace – это Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ, разная ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ, компСтСнция. Π‘Π΅Π· Ρ‚Π°ΠΊΠΎΠ³ΠΎ разграничСния ΠΏΡ€Π°Π² доступа Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… сразу окаТСтся ΠΏΠΎΠ΄ вопросом быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ консистСнтности ANY.

ΠœΡ‹ Π½Π΅ ΡƒΡ‡Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ трСбуСтся ΠΊΠ°ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, Ρ‚Π°ΠΊ ΠΈ пСриодичСскиС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ самым Ρ€Π°Π·Π½Ρ‹ΠΌ условиям. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи ΠΏΠΎΡ‚ΠΎΠΌ прСдполагаСтся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ (Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ процСсс Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΡ… ΠΊ Π½Π°ΠΌ Π² ΠΊΠΎΠ½Ρ‚ΡƒΡ€ Π΄Π°Π½Π½Ρ‹Ρ…), Ρ‚ΠΎ ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π° Π½Π°ΠΌ здСсь Π½Π΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰. ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π°, ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΠ»ΠΊΠ° – Π² Π½Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Π½ΠΎ Π² Π½Π΅ΠΉ Π½Π΅ получится ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π‘Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… Π² тСстовыС Π·ΠΎΠ½Ρ‹ (5 Π½ΠΎΠ΄ Π² тСстС ΠΏΡ€ΠΎΡ‚ΠΈΠ² 20 Π² ΠΏΡ€ΠΎΠΌΠ΅). Π”Π°ΠΌΠΏ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ получится.

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

Π’Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ ΠΏΡ€ΠΈ вставкС. ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π° Π² записи прСкрасна, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° входящий ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π΅ сущСствСнно ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΎΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π³ΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ нСсколько записСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ удаСтся Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅. И Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ сСбС настоящий ДБА, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ станСт ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° gc.log, Π»ΠΎΠ³ΠΈ system ΠΈ debug Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ slow query, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° compaction pending.

НСсколько Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² Π² кластСрС. ΠžΡ‚ΠΊΡƒΠ΄Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΊΡƒΠ΄Π° ΠΏΠΈΡΠ°Ρ‚ΡŒ?
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Π½Π° запись? И Ссли Π΄Π°, Ρ‚ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π”Π¦ для записи ΠΈΠ»ΠΈ для чтСния? И Π½Π΅ получится Π»ΠΈ Ρƒ нас настоящий split brain, Ссли Π½Π΅Π²Π΅Ρ€Π½ΠΎ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ согласованности? ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов, ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½Ρ‹Ρ… настроСк, возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊ хочСтся ΠΏΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ.

Как ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π»ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ΄Π° Π½Π΅ ΠΏΡ€ΠΎΡΠ°ΠΆΠΈΠ²Π°Π»Π°ΡΡŒ, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ SWAP. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ΅ памяти Π½ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π»Π΅Ρ‡ΡŒ, Π° Π½Π΅ ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ΡŒ большиС gc ΠΏΠ°ΡƒΠ·Ρ‹.

Π˜Ρ‚Π°ΠΊ, Π½Π° Π»ΠΎΠ³ΠΈΠΊΡƒ Π² Π‘Π” ΠΌΡ‹ большС Π½Π΅ надССмся. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прилоТСния ΠΏΠ΅Ρ€Π΅ΡƒΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² своСм ΠΆΠ΅ ΠΊΠΎΠ΄Π΅. ИдСальноС Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠΊΡƒΠΏΠ°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ‚ DataStax. ΠšΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½ΡƒΡŽ ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρƒ ΡƒΠΆΠ΅ пСрСстали Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ (послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ 2018 Π³ΠΎΠ΄Π°). Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Datastax ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ сСрвис ΠΈ большоС количСство Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ИБ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

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

Рассматривали Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ пишСм Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π‘*, Π½ΠΎ ΠΈ Π² Π°Ρ€Ρ…ΠΈΠ²Π½ΡƒΡŽ Π‘Π” Oracle. Волько Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C* Π² этой Π‘Π” хранятся Π²Ρ‹Π·ΠΎΠ²Ρ‹ лишь Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ мСсяц (достаточная Π³Π»ΡƒΠ±ΠΈΠ½Π° хранСния Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для кСйсов ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ). Π—Π΄Π΅ΡΡŒ сразу видСлась ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ссли ΠΏΠΈΡΠ°Ρ‚ΡŒ синхронно, Ρ‚ΠΎ ΠΌΡ‹ тСряСм всС ΠΏΠ»ΡŽΡΡ‹ Π‘*, связанныС с быстрой вставкой, Ссли асинхронно – Π½Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Oracle. Плюс Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½, Π½ΠΎ большой: для эксплуатации остаСтся всС Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ PL/SQL Developer, Ρ‚. Π΅. практичСски Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «Ѐасад».ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈΠ· C*, тянСт ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ для обогащСния ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π² Oracle, Π΄ΠΆΠΎΠΉΠ½ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ (ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅ΠΌ, пСрСповторяСм, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ, восхищаСмся). ΠœΠΈΠ½ΡƒΡΡ‹: процСсс получаСтся довольно ΠΌΠ½ΠΎΠ³ΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ, Π° ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, отсутствуСт интСрфСйс для сотрудников эксплуатации.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ всС ΠΆΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅. Для Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π°Π½ΠΎΠΊ использовали Apache Spark. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° свСлась ΠΊ Java-ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ (Π°Π±ΠΎΠ½Π΅Π½Ρ‚, врСмя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Π·ΠΎΠ²Π° – ΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π°) вытаскиваСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· C*, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для обогащСния ΠΈΠ· любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π‘Π”. ПослС Ρ‡Π΅Π³ΠΎ Π΄ΠΆΠΎΠΉΠ½ΠΈΡ‚ ΠΈΡ… Π² своСй памяти ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Над спарком нарисовали Π²Π΅Π±-ΠΌΠΎΡ€Π΄ΠΎΡ‡ΠΊΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎ ΠΊ эксплуатации.

Как Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π³Π»Π°Π·Π° ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Π΅ ΠΈ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Ρƒ Π² NoSQL

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΌ-тСст ΠΎΠΏΡΡ‚ΡŒ рассматривали нСсколько способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Как пСрСнос Ρ‡Π΅Ρ€Π΅Π· Sstloader, Ρ‚Π°ΠΊ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ кластСра Π² тСстовой Π·ΠΎΠ½Π΅ Π½Π° Π΄Π²Π΅ части, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΠ΄ΠΈΠ½ кластСр с промовским, Π·Π°ΠΏΠΈΡ‚Ρ‹Π²Π°ΡΡΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚ Π½Π΅Π³ΠΎ. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ тСста ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… мСстами: Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ, которая Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π² тСстС, очищаСтся ΠΈ вводится Π² ΠΏΡ€ΠΎΠΌ, Π° другая Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Однако, ΠΏΠΎΠ΄ΡƒΠΌΠ°Π² Π΅Ρ‰Π΅ Ρ€Π°Π·, ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ, ΠΈ поняли, Ρ‡Ρ‚ΠΎ сами ΠΏΠΎ сСбС Π²Ρ‹Π·ΠΎΠ²Ρ‹ – нСконсистСнтная ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ для тСстов, быстро гСнСрируСмая Π² случаС нСобходимости, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ промовский Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ цСнности для пСрСноса Π² тСст. Π•ΡΡ‚ΡŒ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ, Π½ΠΎ это Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΏΠ°Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ, Π½Π΅ сильно тяТСлых. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π² качСствС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΈΡˆΠ΅Π» Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Spark, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ написали ΠΈ стали Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΌ-тСст.

Наша тСкущая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° дСплоя позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠΌΠΎΠΌ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°ΠΊΠ°Ρ‚ Π½Π° тСст, Π³Π΄Π΅ ошибка Π½Π΅ Ρ‚Π°ΠΊ Π΄ΠΎΡ€ΠΎΠ³Π°. Π’ случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ всСгда ΠΌΠΎΠΆΠ½ΠΎ Π΄Ρ€ΠΎΠΏΠ½ΡƒΡ‚ΡŒ кСйспСйс ΠΈ Π½Π°ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ всю схСму с Π½Π°Ρ‡Π°Π»Π°.

Для обСспСчСния Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ доступности ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹ Π½ΡƒΠΆΠ΅Π½ Π΄Π±Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½. ВсС, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ ΠΊΠ°ΠΊ своСврСмСнно Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Для этого ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ DataStax OpsCenter (АдминистрированиС ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ), систСмныС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Cassandra Driver (ΠΊΠΎΠ»-Π²ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² Π½Π° запись Π² C*, ΠΊΠΎΠ»-Π²ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· C*, максимальная latency ΠΈ Ρ‚. Π΄.), ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ самого прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с ΠšΠ°ΡΡΠ°Π½Π΄Ρ€ΠΎΠΉ.

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

Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ согласованности для записи EACH_QUORUM, для чтСния – LOCAL_QUORUM

ΠšΡ€Π°Ρ‚ΠΊΠΈΠ΅ впСчатлСния ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния эксплутационной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ пСрспСктив дальнСйшСго развития, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Если с Ρ…ΠΎΠ΄Ρƒ, Ρ‚ΠΎ скоринг Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚ΠΈΠΏΠ° Β«ΠŸΠ»Π°Ρ‚ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎΒ» (Π³Ρ€ΡƒΠ·ΠΈΠΌ Π² Π‘* ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, расчСт Π½Π° скриптах Spark), ΡƒΡ‡Π΅Ρ‚ ΠΏΡ€Π΅Ρ‚Π΅Π½Π·ΠΈΠΎΠ½ΠΊΠΈ с Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ направлСниям, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ вычислСниС ΠΏΠΎ Ρ€ΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΏΡ€Π°Π² доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Как Π²ΠΈΠ΄ΠΈΠΌ, Ρ€Π΅ΠΏΠ΅Ρ€Ρ‚ΡƒΠ°Ρ€ ΡˆΠΈΡ€ΠΎΠΊ ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π΅Π½. И Ссли Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π»Π°Π³Π΅Ρ€ΡŒ сторонников/ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ² NoSQL, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠΊΠ½Π΅ΠΌ ΠΊ сторонникам, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ свои ΠΏΠ»ΡŽΡΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.

Π”Π°ΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ€Π΅Π°Π»Ρ‚Π°ΠΉΠΌΠ΅, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ вопрос увСличСния Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС. Π£ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ вынСсти Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ ΠΎΡ‡Π΅Π½ΡŒ высоконагруТСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎ расчСту Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ² ΠΏΠΎ Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ схСму ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния, избавившись ΠΎΡ‚ ΠΏΠΎΡ€ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ написания кастомных Π΄ΠΆΠΎΠ±ΠΎΠ² ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² самой Π‘Π”. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ, для ускорСния, Π½Π° ΠΊΠ°ΠΊΠΈΡ… Π”Π¦ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ расчСт, Π° Π½Π° ΠΊΠ°ΠΊΠΈΡ… запись Π΄Π°Π½Π½Ρ‹Ρ…, подстраховали сСбя Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΠ΄, Ρ‚Π°ΠΊ ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ Π”Π¦.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Π½Π°ΡˆΡƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ, ΡƒΠΆΠ΅ обладая Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ сразу ΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ описанныС Π²Ρ‹ΡˆΠ΅ Π½ΡŽΠ°Π½ΡΡ‹, ΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ошибок, ΡΠ³Π»Π°Π΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ острыС ΡƒΠ³Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ.

НапримСр, воврСмя ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ обновлСния самой ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ извСстны ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ.

НС ΡΠ°ΠΆΠ°Ρ‚ΡŒ ΠΈ саму Π‘Π”, ΠΈ Π‘ΠΏΠ°Ρ€ΠΊ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π½ΠΎΠ΄Ρ‹ (ΠΈΠ»ΠΈ строго Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎ количСству допустимого использования рСсурсов), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π‘ΠΏΠ°Ρ€ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡŠΠ΅ΡΡ‚ΡŒ ОП большС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ, ΠΈ ΠΌΡ‹ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€ 1 ΠΈΠ· нашСго списка.

ΠŸΡ€ΠΎΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΡŽ эксплуатации Π΅Ρ‰Π΅ Π½Π° этапС тСстирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ максимуму всСх ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ нашСго Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ этого Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² ΠΈΡ‚ΠΎΠ³Π΅ структура Π‘Π”.

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

НСплохо сразу ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ навСшиваниС TTL ΠΈ чистку ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρ‹ Π»ΠΎΠ³ΠΈΠΊΠ° прилоТСния Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ FETCH, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ всС строки Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈΡΡŒ ΠΏΠ°Ρ‡ΠΊΠ°ΠΌΠΈ.

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

Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ (Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ для провСдСния Π±ΠΈΠ»Π»ΠΈΠ½Π³Π°, расчСт задолТСнности Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π°), Ρ‚ΠΎ стоит Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ инструмСнтам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ риски, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π² силу особСнностСй Π‘Π£Π‘Π”. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ nodesync (Datastax), Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Π΅Π΅ использования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π΄ΠΈ консистСнтности Π½Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠšΠ°ΡΡΠ°Π½Π΄Ρ€Ρƒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.

Π§Ρ‚ΠΎ ΠΆΠ΅, спустя ΠΏΠΎΠ»Π³ΠΎΠ΄Π° ΠΆΠΈΠ·Π½ΠΈ, с ΠšΠ°ΡΡΠ°Π½Π΄Ρ€ΠΎΠΉ? Π’ Ρ†Π΅Π»ΠΎΠΌ, Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ‚. Π‘Π΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Π°Π²Π°Ρ€ΠΈΠΉ ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ допустили. Π”Π°, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π°Π΄ компСнсациСй Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π²ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ это Π½Π΅ сильно ΠΎΠΌΡ€Π°Ρ‡ΠΈΠ»ΠΎ нашС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈ Π½Π΅ Π±ΠΎΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΈ ΠΏΡ€ΠΈ этом Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ сильно Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ бСсплатного Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚. Π Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ, Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ свои ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€Π°Π±Π»ΠΈ придётся большС, Ρ‡Π΅ΠΌ Π² старом legacy Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΈ никакая тСория Π½Π΅ подскаТСт Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π³Ρ€Π°Π±Π»ΠΈ ΠΆΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ вас.

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