NewSQL = NoSQL+ACID
ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ Π΄ΠΎ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡˆΠ΅ ΠΎΠΊΠΎΠ»Ρƒ 50 TB ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π²ΠΎ SQL Server. Π—Π° Ρ‚Π°ΠΊΠΎΠ² Π²ΠΎΠ»ΡƒΠΌΠ΅Π½, рСчиси Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π±Ρ€Π· ΠΈ сигурСн, ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π΅Π½ пристап Π΄ΠΎ нСуспСх Π½Π° Ρ†Π΅Π½Ρ‚Π°Ρ€ΠΎΡ‚ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ SQL DBMS. Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ, Π²ΠΎ Ρ‚Π°ΠΊΠ²ΠΈ случаи, сС користи Π΅Π΄Π½ΠΎ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°Ρ‚Π° Π½Π° NoSQL, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ сè Π΄Π° сС прСнСсС Π½Π° NoSQL: Π½Π΅ΠΊΠΎΠΈ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ Π±Π°Ρ€Π°Π°Ρ‚ Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ACID.

Ова Π½Γ¨ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° NewSQL ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, односно DBMS ΡˆΡ‚ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, приспособливост ΠΈ пСрформанси Π½Π° NoSQL систСмитС, Π½ΠΎ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ACID ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Π½Π° класичнитС систСми. Има ΠΌΠ°Π»ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ индустриски систСми ΠΎΠ΄ ΠΎΠ²Π°Π° Π½ΠΎΠ²Π° класа, ΠΏΠ° Π½ΠΈΠ΅ самитС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ Ρ‚Π°ΠΊΠΎΠ² систСм ΠΈ Π³ΠΎ ставивмС Π²ΠΎ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΈ ΡˆΡ‚ΠΎ сС случи - ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ ΠΏΠΎΠ΄ Ρ€Π΅Π·ΠΎΡ‚.

ДСнСс, мСсСчната ΠΏΡƒΠ±Π»ΠΈΠΊΠ° Π½Π° ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ Π΅ повСќС ΠΎΠ΄ 70 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΈ посСтитСли. НиС НиС смС Π²ΠΎ ΠΏΡ€Π²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ‚ Π½Π°Ρ˜Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ ΡΠΎΡ†ΠΈΡ˜Π°Π»Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ Π²ΠΎ свСтот ΠΈ ΠΌΠ΅Ρ“Ρƒ дваСсСттС ΡΠ°Ρ˜Ρ‚ΠΎΠ²ΠΈ Π½Π° ΠΊΠΎΠΈ корисницитС ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π°Π°Ρ‚ Π½Π°Ρ˜ΠΌΠ½ΠΎΠ³Ρƒ Π²Ρ€Π΅ΠΌΠ΅. ОК инфраструктурата сС справува со ΠΌΠ½ΠΎΠ³Ρƒ високи ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ°: повСќС ΠΎΠ΄ ΠΌΠΈΠ»ΠΈΠΎΠ½ HTTP Π±Π°Ρ€Π°ΡšΠ°/сСк ΠΏΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚. Π”Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ Ρ„Π»ΠΎΡ‚Π° Π½Π° сСрвСри ΠΎΠ΄ повСќС ΠΎΠ΄ 8000 ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ° сС Π½Π°ΠΎΡ“Π°Π°Ρ‚ блиску Π΅Π΄Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ - Π²ΠΎ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΈ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Москва, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΌΡ€Π΅ΠΆΠ½Π° латСнтност ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ 1 ms ΠΌΠ΅Ρ“Ρƒ Π½ΠΈΠ².

ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° ја користимС ΠΎΠ΄ 2010 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΎΠ΄ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 0.6. ДСнСс ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ дСсСтици кластСри Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°. ΠΠ°Ρ˜Π±Ρ€Π·ΠΈΠΎΡ‚ кластСр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° повСќС ΠΎΠ΄ 4 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ сСкунда, Π° Π½Π°Ρ˜Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ складираат 260 Π’Π‘.

Π‘Π΅ΠΏΠ°ΠΊ, ситС ΠΎΠ²ΠΈΠ΅ сС ΠΎΠ±ΠΈΡ‡Π½ΠΈ NoSQL кластСри ΠΊΠΎΠΈ сС користат Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ слабо ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π‘Π°ΠΊΠ°Π²ΠΌΠ΅ Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ΅ Π³Π»Π°Π²Π½ΠΎΡ‚ΠΎ дослСдно ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, Microsoft SQL Server, кој сС користи ΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ. Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ сС ΡΠΎΡΡ‚ΠΎΠ΅ΡˆΠ΅ ΠΎΠ΄ повСќС ΠΎΠ΄ 300 SQL Server Standard Edition машини, ΠΊΠΎΠΈ содрТСа 50 TB ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ - Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΡΡƒΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ. ОвиС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ сС ΠΈΠ·ΠΌΠ΅Π½Π΅Ρ‚ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ACID трансакциитС ΠΈ Π±Π°Ρ€Π°Π°Ρ‚ висока конзистСнтност.

Π—Π° Π΄Π° дистрибуирамС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½ΠΈΠ· Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ Π½Π° SQL Server, користСвмС ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΈ ΠΈ Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΈ ΠΏΡ€Π΅Π³Ρ€Π°Π΄ΡƒΠ²Π°ΡšΠ΅ (ΠΏΠ°Ρ€Ρ‡Π΅ΡšΠ΅). Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠΊΠΈ Π³Π»Π΅Π΄Π°Π½ΠΎ, користСвмС Сдноставна шСма Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ: сСкој Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ бСшС ΠΏΠΎΠ²Ρ€Π·Π°Π½ со Ρ‚ΠΎΠΊΠ΅Π½ - Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π° ID Π½Π° Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚. Π•Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ со ист Ρ‚ΠΎΠΊΠ΅Π½ Π±Π΅Π° поставСни Π½Π° истиот SQL сСрвСр. ΠžΠ΄Π½ΠΎΡΠΎΡ‚ господар-Π΄Π΅Ρ‚Π°Ρ™ бСшС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΈ Π½Π° дСтската записа сСкогаш сС совпаѓаа ΠΈ сС Π½Π°ΠΎΡ“Π°Π° Π½Π° истиот сСрвСр. Π’ΠΎ ΡΠΎΡ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°, рСчиси ситС записи сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° корисникот - ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° ситС кориснички ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ потсистСм сС складираат Π½Π° Π΅Π΄Π΅Π½ сСрвСр. Односно, Π΄Π΅Π»ΠΎΠ²Π½Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° рСчиси сСкогаш Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Ρ‚Π°Π±Π΅Π»ΠΈ ΠΎΠ΄ Π΅Π΄Π΅Π½ SQL сСрвСр, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ конзистСнтност Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ трансакции со ACID, Π±Π΅Π· ΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π±Π°Π²Π½ΠΎ ΠΈ нСсигурно дистрибуирани ACID трансакции.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ Π·Π°Π±Ρ€Π·ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° SQL:

  • НС користимС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π·Π° странски ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ, бидСјќи ΠΏΡ€ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅, ID Π½Π° Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΎΡ“Π° Π½Π° Π΄Ρ€ΡƒΠ³ сСрвСр.
  • НС користимС складирани ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΡƒΠ²Π°Ρ‡ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° процСсорот Π½Π° DBMS.
  • НС користимС JOIN ΠΏΠΎΡ€Π°Π΄ΠΈ сСто Π³ΠΎΡ€Π΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ° ΠΎΠ΄ дискот.
  • Надвор ΠΎΠ΄ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°, Π³ΠΎ користимС Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Read Uncommitted Π·Π° Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ ΡœΠΎΡ€-сокакот.
  • Π’Ρ€ΡˆΠΈΠΌΠ΅ само ΠΊΡ€Π°Ρ‚ΠΊΠΈ трансакции (Π²ΠΎ просСк ΠΏΠΎΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΎΠ΄ 100 ms).
  • НС користимС ΠΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π‘Π Π˜Π¨Π•ΠŠΠ• со повСќС Ρ€Π΅Π΄ΠΎΠ²ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π±Ρ€ΠΎΡ˜ ΡœΠΎΡ€-сокак - Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ само Π΅Π΄Π΅Π½ запис одСднаш.
  • БСкогаш ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΠΌΠ΅ Π±Π°Ρ€Π°ΡšΠ° само Π½Π° индСкси - Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ со ΠΏΠ»Π°Π½ Π·Π° цСлосна ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° нас Π·Π½Π°Ρ‡ΠΈ ΠΏΡ€Π΅ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ нСјзино нСуспСх.

ОвиС Ρ‡Π΅ΠΊΠΎΡ€ΠΈ Π½ΠΈ овозмоТија Π΄Π° Π³ΠΈ притиснСмС рСчиси максималнитС пСрформанси ΠΎΠ΄ SQL сСрвСритС. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ стануваа сС ΠΏΠΎΠ±Ρ€ΠΎΡ˜Π½ΠΈ. АјдС Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со SQL

  • Π‘ΠΎ ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ користСвмС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡ˜Π½ΠΎ напишано ΡΠ΅Ρ‡Π΅ΡšΠ΅, Π΄ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½ΠΎΠ²ΠΈ ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ° бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ Ρ€Π°Ρ‡Π½ΠΎ ΠΎΠ΄ администраторитС. Π‘Π΅Ρ‚ΠΎ ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅, скалабилнитС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ Π³ΠΈ сСрвисираа Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°.
  • Како ΡˆΡ‚ΠΎ растС Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° записи Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°, Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° ΠΊΠΎΠ³Π° сС Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ‚ индСкси Π½Π° постоСчка Ρ‚Π°Π±Π΅Π»Π°, Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π·Π° Π΅Π΄Π΅Π½ Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΡ‚ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° индСкситС сС случува со Π·Π°ΡΡ‚ΠΎΡ˜;
  • Π˜ΠΌΠ°ΡšΠ΅Ρ‚ΠΎ ΠΌΠ°Π»Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π½Π° Windows Π·Π° SQL Server Π²ΠΎ производството Π³ΠΎ ΠΎΡ‚Π΅ΠΆΠ½ΡƒΠ²Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со инфраструктурата

Но, Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅

Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ

ΠšΠ»Π°ΡΠΈΡ‡Π½ΠΈΠΎΡ‚ SQL сСрвСр ΠΈΠΌΠ° слаба Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°Ρ‚Π΅ само Π΅Π΄Π΅Π½ сСрвСр Π·Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Ρ‚ΠΎΡ˜ ΠΎΡ‚ΠΊΠ°ΠΆΡƒΠ²Π° Сднаш Π½Π° сСкои Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π—Π° Ρ‚ΠΎΠ° Π²Ρ€Π΅ΠΌΠ΅, страницата Π΅ Π²ΠΎ ΠΏΡ€Π΅ΠΊΠΈΠ½ 20 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΡ„Π°Ρ‚Π»ΠΈΠ²ΠΎ. Ако ΠΈΠΌΠ°Ρ‚Π΅ 64 сСрвСри, Ρ‚ΠΎΠ³Π°Ρˆ страницата Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Сднаш Π½Π° сСкои Ρ‚Ρ€ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ. И Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ 200 сСрвСри, Ρ‚ΠΎΠ³Π°Ρˆ страницата Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ сСкоја Π½Π΅Π΄Π΅Π»Π°. Ова Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π¨Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π·Π° Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° SQL сСрвСрот? Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ˜Π° Π½Π΅ ΠΏΠΎΠΊΠ°Π½ΡƒΠ²Π° Π΄Π° Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ високо достапСн кластСр: ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° нСкоја ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠΌΠ° Ρ€Π΅Π·Π΅Ρ€Π²Π½Π°.

Ова Π±Π°Ρ€Π° Ρ„Π»ΠΎΡ‚Π° ΠΎΠ΄ скапа ΠΎΠΏΡ€Π΅ΠΌΠ°: Π±Ρ€ΠΎΡ˜Π½ΠΈ Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΎΠΏΡ‚ΠΈΡ‡ΠΊΠΈ Π²Π»Π°ΠΊΠ½Π°, Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π° Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° сигурно: ΠΎΠΊΠΎΠ»Ρƒ 10% ΠΎΠ΄ ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ со ΠΎΡ‚ΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈΠΎΡ‚ јазол ΠΊΠ°ΠΊΠΎ Π²ΠΎΠ· Π·Π°Π΄ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ јазол.

Но, Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ нСдостаток Π½Π° Ρ‚Π°ΠΊΠΎΠ² високо достапСн кластСр Π΅ Π½ΡƒΠ»Ρ‚Π° достапност Π°ΠΊΠΎ Ρ†Π΅Π½Ρ‚Π°Ρ€ΠΎΡ‚ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ кој сС Π½Π°ΠΎΡ“Π° Π½Π΅ успСС. ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ ΠΈΠΌΠ° Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΈ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° цСлосСн Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ².

Π—Π° ΠΎΠ²Π° Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄Π° искористимС ΠœΡƒΠ»Ρ‚ΠΈ-ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π²ΠΎ SQL Server. Ова Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ поскапо ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ†Π΅Π½Π°Ρ‚Π° Π½Π° софтвСрот ΠΈ страда ΠΎΠ΄ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° - Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ Π΄ΠΎΡ†Π½Π΅ΡšΠ° Π½Π° трансакциитС со синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΈ Π΄ΠΎΡ†Π½Π΅ΡšΠ΅ Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΈ, ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ) со асинхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. Π˜ΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ Ρ€Π°Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ја ΠΏΡ€Π°Π²ΠΈ ΠΎΠ²Π°Π° ΠΎΠΏΡ†ΠΈΡ˜Π° цСлосно Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ²Π° Π·Π° нас.

Π‘ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π±Π°Ρ€Π°Π° Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ Π΄Π΅Ρ‚Π°Π»Π½ΠΎ Π΄Π° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅. Π’ΡƒΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌΠ΅ со ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π³Π»Π°Π²Π½ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ SQL Server - трансакциитС.

Едноставна Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°

Π”Π° ја Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Ρ‚ΠΈΠΎΡ‚ SQL ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€: додавањС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π° Π²ΠΎ Π°Π»Π±ΡƒΠΌ. АлбумитС ΠΈ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈΡ‚Π΅ сС Ρ‡ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠΈ. Албумот ΠΈΠΌΠ° јавСн Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. ΠŸΠΎΡ‚ΠΎΠ°, Ρ‚Π°ΠΊΠ²Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π½Π° слСднитС Ρ‡Π΅ΠΊΠΎΡ€ΠΈ:

  1. Π“ΠΎ Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΠΌΠ΅ Π°Π»Π±ΡƒΠΌΠΎΡ‚ со ΠΊΠ»ΡƒΡ‡.
  2. НаправСтС запис Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° со Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ.
  3. Ако Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π°Ρ‚Π° ΠΈΠΌΠ° јавСн статус, Ρ‚ΠΎΠ³Π°Ρˆ Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ јавСн Π±Ρ€ΠΎΡ˜Π°Ρ‡ Π·Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π²ΠΎ Π°Π»Π±ΡƒΠΌΠΎΡ‚, Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ записот ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ΅Ρ‚Π΅ ја Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°.

Или во псСвдокод:

TX.start("Albums", id);
Album album = albums.lock(id);
Photo photo = photos.create(…);

if (photo.status == PUBLIC ) {
    album.incPublicPhotosCount();
}
album.update();

TX.commit();

Π“Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎΡ‚ΠΎ сцСнарио Π·Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π΅ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° сСрвСрот Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° Π½Π΅ΡˆΡ‚ΠΎ ΠΈ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ врСдности Π½Π°Π·Π°Π΄ Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠžΠ±ΠΈΡ‡Π½ΠΎ Π²ΠΎ Ρ‚Π°ΠΊΠ²Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ, Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ‚Π°Π±Π΅Π»ΠΈ.

ΠŸΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° дојдС Π΄ΠΎ истоврСмСна ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° иститС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ систСм. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Антиспам ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄Π»ΡƒΡ‡ΠΈ Π΄Π΅ΠΊΠ° корисникот Π΅ Π½Π΅ΠΊΠ°ΠΊΠΎ сомнитСлСн ΠΈ Π·Π°Ρ‚ΠΎΠ° ситС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° корисникот повСќС Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ јавни, Ρ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π½Π° умСрСност, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° статусот Π½Π° Ρ„ΠΎΡ‚ΠΎ.статусот Π½Π° нСкоја Π΄Ρ€ΡƒΠ³Π° врСдност ΠΈ ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° соодвСтнитС Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈ. ΠžΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ, Π°ΠΊΠΎ ΠΎΠ²Π°Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° сС случи Π±Π΅Π· Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° атомичноста Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚Π° ΠΈ ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊΠΎ Π²ΠΎ КисСлина, Ρ‚ΠΎΠ³Π°Ρˆ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ - ΠΈΠ»ΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΎΡ‚ Π·Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ќС ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½Π° врСдност, ΠΈΠ»ΠΈ ситС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ испратСни Π½Π° умСрСност.

ΠœΠ½ΠΎΠ³Ρƒ слични ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΡΡƒΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ Π²ΠΎ Π΅Π΄Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, сС напишани Π½ΠΈΠ· Ρ†Π΅Π»ΠΎΡ‚ΠΎ ΠΏΠΎΡΡ‚ΠΎΠ΅ΡšΠ΅ Π½Π° ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ. Π’Ρ€Π· основа Π½Π° искуството ΠΎΠ΄ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° NoSQL ΠΎΠ΄ Π•Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½Π° конзистСнтност Π—Π½Π°Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π°Ρ˜Π³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊ (ΠΈ ΠΈΠ½Π²Π΅ΡΡ‚ΠΈΡ†ΠΈΡ˜Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅) Π΄ΠΎΠ°Ρ“Π° ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡšΠ΅ ΠΊΠΎΠ΄ Π·Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° конзистСнтноста Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅. Π—Π°Ρ‚ΠΎΠ°, смСтавмС Π΄Π΅ΠΊΠ° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ услов Π·Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅Π°Π»Π½ΠΈ ACID трансакции Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°.

Π”Ρ€ΡƒΠ³ΠΈ, Π½Π΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π²Π°ΠΆΠ½ΠΈ, Π±Π°Ρ€Π°ΡšΠ° Π±Π΅Π°:

  • Ако Ρ†Π΅Π½Ρ‚Π°Ρ€ΠΎΡ‚ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ успСС, ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ достапни ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°.
  • ΠžΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° Π±Ρ€Π·ΠΈΠ½Π° Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜. Односно, ΠΊΠΎΠ³Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ со Π½ΠΎΠ²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅, ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ иста, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° сС Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΈΡˆΡ‚ΠΎ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ, Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° сСкундарни индСкси ΠΈΡ‚Π½.
  • Π‘Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΌΠΎΡ€Π°ΡˆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ доста висока, ΠΈ ΠΏΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° трансакции, ΡˆΡ‚ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π·Π½Π°Ρ‡Π΅ΡˆΠ΅ Π΄Π΅ΠΊΠ° акадСмски Ρ€ΠΈΠ³ΠΎΡ€ΠΎΠ·Π½ΠΈ, ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΈ, Π½ΠΎ Π±Π°Π²Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°, ΠΊΠ°ΠΊΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΄Π²ΠΎΡ„Π°Π·Π½ΠΈ ΠΎΠ±Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ°.
  • Автоматско ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Π»Π΅Ρ‚.
  • ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π½ΠΈ Π΅Π²Ρ‚ΠΈΠ½ΠΈ сСрвСри, Π±Π΅Π· ΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ ΠΊΡƒΠΏΡƒΠ²Π°ΡšΠ΅ Π΅Π³Π·ΠΎΡ‚ΠΈΡ‡Π΅Π½ Ρ…Π°Ρ€Π΄Π²Π΅Ρ€.
  • ΠœΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ ΠΎΠ΄ страна Π½Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π°. Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ бСшС Π΄Π°Π΄Π΅Π½ Π½Π° сопствСнички ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, ΠΏΠΎ моТност Π²ΠΎ Java.

ΠžΠ΄Π»ΡƒΠΊΠΈ, ΠΎΠ΄Π»ΡƒΠΊΠΈ

ΠΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ˜ΡœΠΈ Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°, дојдовмС Π΄ΠΎ Π΄Π²Π° ΠΌΠΎΠΆΠ½ΠΈ ΠΈΠ·Π±ΠΎΡ€Π° Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°:

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

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π΅ Π΄Π° Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ NoSQL со ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅, кластСр Π·Π° Ρ„Π°Ρ˜Π»ΠΎΠ²Π΅Ρ€, Ρ€Π°Π·Ρ€Π΅ΡˆΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΈ сами Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ трансакции ΠΈ SQL. На ΠΏΡ€Π² ΠΏΠΎΠ³Π»Π΅Π΄, Π΄ΡƒΡ€ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° SQL, Π° Π΄Π° Π½Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° трансакциитС со ACID, ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ Π·Π°Π΄Π°Ρ‡Π° која ќС Ρ‚Ρ€Π°Π΅ со Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Но, Ρ‚ΠΎΠ³Π°Ρˆ сфативмС Π΄Π΅ΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚ΠΎΡ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SQL ΡˆΡ‚ΠΎ Π³ΠΎ користимС Π²ΠΎ пракса Π΅ ΠΏΠΎΠ΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ ANSI SQL ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° CQL Π΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ ANSI SQL. Π£ΡˆΡ‚Π΅ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ глСдајќи Π³ΠΎ CQL, сфативмС Π΄Π΅ΠΊΠ° Π΅ доста блиску Π΄ΠΎ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°.

ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° ΠΈ CQL

Π—Π½Π°Ρ‡ΠΈ, ΡˆΡ‚ΠΎ Π΅ интСрСсно Π·Π° ΠšΠ°ΡΠ°Π½Π΄Ρ€Π°, ΠΊΠ°ΠΊΠ²ΠΈ способности ΠΈΠΌΠ°?

ΠŸΡ€Π²ΠΎ, Ρ‚ΡƒΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Π°Π±Π΅Π»ΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ SELECT ΠΈΠ»ΠΈ UPDATE Π½Π° ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡.

CREATE TABLE photos (id bigint KEY, owner bigint,…);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET … WHERE id=?;

Π—Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ конзистСнтност Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° користи кворумски пристап. Π’ΠΎ Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, Ρ‚ΠΎΠ° Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° ΠΊΠΎΠ³Π° Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΎΠ΄ истиот Ρ€Π΅Π΄ сС поставСни Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ јазли ΠΎΠ΄ кластСрот, Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС смСта Π·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π°ΠΊΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ (односно, Π΄Π²Π° ΠΎΠ΄ Ρ‚Ρ€ΠΈ) Π³ΠΎ ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈΠ»Π΅ успСхот Π½Π° ΠΎΠ²Π°Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅. . ΠŸΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ Ρ€Π΅Π΄ΠΎΠ²ΠΈΡ‚Π΅ сС смСтаат Π·Π° конзистСнтни Π°ΠΊΠΎ, ΠΏΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ јазли Π±ΠΈΠ»Π΅ Π°Π½ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΏΠΎΡ‚Π²Ρ€Π΄Π΅Π½ΠΈ. Π’Π°ΠΊΠ°, со Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° цСлосна ΠΈ инстант конзистСнтност Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π°ΠΊΠΎ Π΅Π΄Π΅Π½ јазол Π½Π΅ успСС. Овој пристап Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° спровСдСмС ΡƒΡˆΡ‚Π΅ посигурна шСма: сСкогаш ΠΈΡΠΏΡ€Π°ΡœΠ°Ρ˜Ρ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° Π΄ΠΎ ситС Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Ρ‡Π΅ΠΊΠ°Ρ˜ΡœΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΎΠ΄ Π΄Π²Π΅Ρ‚Π΅ Π½Π°Ρ˜Π±Ρ€Π·ΠΈ. Π”ΠΎΡ†Π½ΠΈΠΎΡ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° Π΅ ΠΎΡ‚Ρ„Ρ€Π»Π΅Π½ Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜. ΠˆΠ°Π·ΠΎΠ»ΠΎΡ‚ ΡˆΡ‚ΠΎ Π΄ΠΎΡ†Π½ΠΈ Π²ΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° сСриозни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ - сопирачки, ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅ Ρ“ΡƒΠ±Ρ€Π΅ Π²ΠΎ JVM, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux, Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ΠΎΡ‚, ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° Π½Π΅ влијаС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° кој Π±ΠΈΠ»ΠΎ Π½Π°Ρ‡ΠΈΠ½.

ΠŸΡ€ΠΈΡΡ‚Π°ΠΏΠΎΡ‚ ΠΊΠΎΠ³Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ со Ρ‚Ρ€ΠΈ јазли ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΎΠ΄ Π΄Π²Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° ΡˆΠΏΠ΅ΠΊΡƒΠ»Π°Ρ†ΠΈΠΈ: Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π΄ΡƒΡ€ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ Π΄Π° β€žΠΏΠ°Π΄Π½Π΅β€œ.

Π”Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠ° Π½Π° ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° Π΅ Batchlog, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ кој Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° Π΄Π΅ΠΊΠ° ΡΠ΅Ρ€ΠΈΡ˜Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΡˆΡ‚ΠΎ Π³ΠΈ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ сС ΠΈΠ»ΠΈ цСлосно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Ρ‚ΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚. Ова Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ Ρ€Π΅ΡˆΠΈΠΌΠ΅ А Π²ΠΎ ΠšΠ˜Π‘Π•Π›Π˜ΠΠ - атомичноста Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°.

ΠΠ°Ρ˜Π±Π»ΠΈΡΠΊΡƒ Π΄ΠΎ трансакциитС Π²ΠΎ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° сС Ρ‚.Π½.лСсни Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΠΈβ€œ. Но, Ρ‚ΠΈΠ΅ сС Π΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ β€žΠ²ΠΈΡΡ‚ΠΈΠ½ΡΠΊΠΈβ€œ трансакции со ΠΠ¦Π˜Π”: Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚, ΠΎΠ²Π° Π΅ моТност Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ CAS Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ само Π΅Π΄Π΅Π½ запис, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ консСнзус ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Ρ‚Π΅ΡˆΠΊΠΈΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Паксос. Π—Π°Ρ‚ΠΎΠ°, Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ трансакции Π΅ ΠΌΠ°Π»Π°.

Она ΡˆΡ‚ΠΎ Π½ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡΡƒΠ²Π°ΡˆΠ΅ Π²ΠΎ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π°

Π—Π½Π°Ρ‡ΠΈ, ΠΌΠΎΡ€Π°Π²ΠΌΠ΅ Π΄Π° спровСдСмС вистински ACID трансакции Π²ΠΎ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Ρ‚ΠΎΠ°, лСсно ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ Π΄Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ карактСристики Π½Π° класичнитС DBMS: конзистСнтни Π±Ρ€Π·ΠΈ индСкси, ΠΊΠΎΠΈ ќС Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π²Ρ€ΡˆΠΈΠΌΠ΅ ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ само со ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡, ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅Π½ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ со автоматско Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅.

C * Π•Π΄Π΅Π½

Π’Π°ΠΊΠ° сС Ρ€ΠΎΠ΄ΠΈ Π½ΠΎΠ² DBMS C * Π•Π΄Π΅Π½, кој сС состои ΠΎΠ΄ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° сСрвСрски јазли:

  • Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ – (рСчиси) стандардни Cassandra сСрвСри ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ дискови. Како ΡˆΡ‚ΠΎ растС ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ ΠΎΠ±Π΅ΠΌΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π½ΠΈΠ²Π½Π°Ρ‚Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π° дСсСтици ΠΈ стотици.
  • ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° трансакции - ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° трансакциитС.
  • ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС апликациски сСрвСри ΠΊΠΎΠΈ спровСдуваат Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ трансакции. МоТС Π΄Π° ΠΈΠΌΠ° ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ Ρ‚Π°ΠΊΠ²ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

NewSQL = NoSQL+ACID

Π‘Π΅Ρ€Π²Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ ситС Ρ‚ΠΈΠΏΠΎΠ²ΠΈ сС Π΄Π΅Π» ΠΎΠ΄ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ кластСр, користСтС Π³ΠΎ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° Π·Π° Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ Π΅Π΄Π½ΠΈ со Π΄Ρ€ΡƒΠ³ΠΈ ΠΈ ΠΎΠ·Π±ΠΎΡ€ΡƒΠ²Π°ΡšΠ° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° кластСрот. Π‘ΠΎ Heartbeat, сСрвСритС ΡƒΡ‡Π°Ρ‚ Π·Π° мСѓусСбнитС нСуспСси, ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ СдинствСна шСма Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ - Ρ‚Π°Π±Π΅Π»ΠΈ, Π½ΠΈΠ²Π½Π°Ρ‚Π° структура ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°; шСма Π·Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅, Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° Π½Π° кластСри ΠΈΡ‚Π½.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈ

NewSQL = NoSQL+ACID

НамСсто стандардни Π΄Ρ€Π°Ρ˜Π²Π΅Ρ€ΠΈ, сС користи Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ Fat Client. Π’Π°ΠΊΠ²ΠΈΠΎΡ‚ јазол Π½Π΅ складира ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Ρ˜ΡΡ‚Π²ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°, односно самиот ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π΄Π΅Π»ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ°: Π±Π°Ρ€Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ Ρ€Π΅ΡˆΠ°Π²Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ. Ова Π½Π΅ само ΡˆΡ‚ΠΎ Π΅ посигурно ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ ΠΎΠ΄ стандардниот Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», кој Π±Π°Ρ€Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со далСчински ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€, Ρ‚ΡƒΠΊΡƒ исто Ρ‚Π°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ прСносот Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°. Надвор ΠΎΠ΄ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚, Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°Ρ‚Π°. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ» Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, Ρ‚ΠΎΠ³Π°Ρˆ ситС Π±Π°Ρ€Π°ΡšΠ° Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°.
NewSQL = NoSQL+ACID

C*One ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ Π·Π° трансакции

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ Π·Π° C*One ΠΎΠ΄ Π½ΡƒΠ»Π°. Вој Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со трансакциитС, Π±Ρ€Π°Π²ΠΈΡ‚Π΅ ΠΈ рСдослСдот ΠΏΠΎ кој сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ трансакциитС.

Π—Π° сСкоја сСрвисирана Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° врСмСнска ΠΎΠ·Π½Π°ΠΊΠ°: сСкоја слСдна Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ систСмот Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ Π½Π° ΠšΠ°ΡΠ°Π½Π΄Ρ€Π° сС заснова Π½Π° врСмСнски ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ (ΠΎΠ΄ Π΄Π²Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΈ записи, оној со Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΠΎΡ‚ врСмСнски ΠΏΠ΅Ρ‡Π°Ρ‚ сС смСта Π·Π° Π°ΠΊΡ‚ΡƒΠ΅Π»Π΅Π½), ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΡ‚ сСкогаш ќС сС Ρ€Π΅ΡˆΠ°Π²Π° Π²ΠΎ корист Π½Π° слСдната Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°. Π’Π°ΠΊΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ Часовник Π›Π°ΠΌΠΏΠΎΡ€Ρ‚ - Π΅Π²Ρ‚ΠΈΠ½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ Π²ΠΎ дистрибуиран систСм.

Π‘Ρ€Π°Π²ΠΈ

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

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

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС вСќС дистрибуирани ΠΌΠ΅Ρ“Ρƒ Π³Ρ€ΡƒΠΏΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ трансакции Π²ΠΎ SQL, бСшС ΠΎΠ΄Π»ΡƒΡ‡Π΅Π½ΠΎ Π΄Π° сС Π΄ΠΎΠ΄Π΅Π»Π°Ρ‚ Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ Π½Π° трансакции Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅: Π΅Π΄Π΅Π½ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° ситС трансакции со Ρ‚ΠΎΠΊΠ΅Π½ΠΈ ΠΎΠ΄ 0 Π΄ΠΎ 9, Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ - со Ρ‚ΠΎΠΊΠ΅Π½ΠΈ ΠΎΠ΄ 10 Π΄ΠΎ 19, ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, сСкој ΠΎΠ΄ координаторскитС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ станува господар Π½Π° трансакциската Π³Ρ€ΡƒΠΏΠ°.

Вогаш Π±Ρ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π±Π°Π½Π°Π»Π΅Π½ HashMap Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚.

НСуспСси Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅

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

БСкој Ρ†Π΅Π½Ρ‚Π°Ρ€ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π΅ домаќин Π½Π° Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ Π΄Π²Π° координаторски јазли. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ, сСкој ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΏΠΎΡ€Π°ΠΊΠ° Π·Π° ΠΎΡ‚Ρ‡ΡƒΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° срцСто Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ Π³ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΠΎΠΈ ΠΏΠΎΡ€Π°ΠΊΠΈ Π·Π° ΠΎΡ‚Ρ‡ΡƒΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° срцСто Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ» ΠΎΠ΄ ΠΊΠΎΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈ Π²ΠΎ кластСрот послСдСн ΠΏΠ°Ρ‚.

NewSQL = NoSQL+ACID

Π”ΠΎΠ±ΠΈΠ²Π°Ρ˜ΡœΠΈ слични ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ Π·Π° Ρ‡ΡƒΠΊΠ°ΡšΠ΅ Π½Π° срцСто, сСкој ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ сам ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π° ΠΊΠΎΠΈ јазли Π½Π° кластСрот Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚, Π° ΠΊΠΎΠΈ Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚, водСјќи сС ΠΎΠ΄ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΡ‚ Π½Π° ΠΊΠ²ΠΎΡ€ΡƒΠΌ: Π°ΠΊΠΎ Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ X Π΄ΠΎΠ±ΠΈΠ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ мнозинството јазли Π²ΠΎ кластСрот Π·Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ. ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ Y, ΠΏΠΎΡ‚ΠΎΠ°, Y Ρ€Π°Π±ΠΎΡ‚ΠΈ. И ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΡˆΡ‚ΠΎΠΌ мнозинството ΠΏΡ€ΠΈΡ˜Π°Π²ΠΈ Π΄Π΅ΠΊΠ° нСдостасуваат ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ Y, Ρ‚ΠΎΠ³Π°Ρˆ Y ΠΎΠ΄Π±ΠΈ. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ ΠΊΠ²ΠΎΡ€ΡƒΠΌΠΎΡ‚ Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ X Π΄Π΅ΠΊΠ° повСќС Π½Π΅ ΠΏΡ€ΠΈΠΌΠ° ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎ, Ρ‚ΠΎΠ³Π°Ρˆ самиот јазол X ќС смСта Π΄Π΅ΠΊΠ° Π½Π΅ успСал.

ΠŸΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ Π·Π° ΠΎΡ‚Ρ‡ΡƒΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° срцСто сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ со висока Ρ„Ρ€Π΅ΠΊΠ²Π΅Π½Ρ†ΠΈΡ˜Π°, ΠΎΠΊΠΎΠ»Ρƒ 20 ΠΏΠ°Ρ‚ΠΈ Π²ΠΎ сСкунда, со ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΠ΄ 50 ms. Π’ΠΎ Java, Ρ‚Π΅ΡˆΠΊΠΎ Π΅ Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Ρ€ΠΎΠΊ ΠΎΠ΄ 50 ms ΠΏΠΎΡ€Π°Π΄ΠΈ спорСдливата Π΄ΠΎΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΏΠ°ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ собирачот Π½Π° Ρ“ΡƒΠ±Ρ€Π΅. МоТСвмС Π΄Π° Π³ΠΎ постигнСмС ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ собирачот Π½Π° Ρ“ΡƒΠ±Ρ€Π΅ G1, кој Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ Ρ†Π΅Π» Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° GC ΠΏΠ°ΡƒΠ·ΠΈΡ‚Π΅. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, понСкогаш, доста Ρ€Π΅Ρ‚ΠΊΠΎ, ΠΏΠ°ΡƒΠ·ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΠΎΡ‚ Π½Π°Π΄ΠΌΠΈΠ½ΡƒΠ²Π°Π°Ρ‚ 50 ms, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π»Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΈ. Π—Π° Π΄Π° сС спрСчи Ρ‚ΠΎΠ° Π΄Π° сС случи, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π΅ извСстува Π·Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° далСчинскиот јазол ΠΊΠΎΠ³Π° ќС исчСзнС ΠΏΡ€Π²Π°Ρ‚Π° ΠΏΠΎΡ€Π°ΠΊΠ° Π·Π° ΠΎΡ‚Ρ‡ΡƒΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° срцСто ΠΎΠ΄ Π½Π΅Π³ΠΎ, само Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ исчСзналС ΠΏΠΎ Ρ€Π΅Π΄ Госпоѓица.

Но, Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π±Ρ€Π·ΠΎ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ кој јазол прСстанал Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°. Π’Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΎΠΊΠΎΠ»Ρƒ ΠΎΠ²Π°.

Π Π΅Π·Π΅Ρ€Π²Π°Ρ†ΠΈΡ˜Π°

ΠšΠ»Π°ΡΠΈΡ‡Π½Π°Ρ‚Π° шСма Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°, Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ нСуспСх, Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ·Π±ΠΎΡ€ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΌΠΎΠ΄Π΅Ρ€Π΅Π½ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, Π²Π°ΠΊΠ²ΠΈΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΈΠΌΠ°Π°Ρ‚ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со врСмСнската ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° ΠΈ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° самиот ΠΈΠ·Π±ΠΎΡ€Π΅Π½ процСс. МоТСвмС Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌΠ΅ Ρ‚Π°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ шСма Π·Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π²ΠΎ цСлосно ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° ΠΌΡ€Π΅ΠΆΠ°:

NewSQL = NoSQL+ACID

Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° сакамС Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π²ΠΎ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° 50. АјдС ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π΄Π° ја ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π·Π° Π·Π°ΠΌΠ΅Π½Π°, односно ΠΊΠΎΠΈ јазли ќС Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ трансакциитС Π²ΠΎ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° 50 Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° нСуспСх Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€. ΠΠ°ΡˆΠ°Ρ‚Π° Ρ†Π΅Π» Π΅ Π΄Π° ја ΠΎΠ΄Ρ€ΠΆΠΈΠΌΠ΅ функционалноста Π½Π° систСмот Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° Ρ†Π΅Π½Ρ‚Π°Ρ€ΠΎΡ‚ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π”Π° ΡƒΡ‚Π²Ρ€Π΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΡ€Π²Π°Ρ‚Π° Ρ€Π΅Π·Π΅Ρ€Π²Π° ќС Π±ΠΈΠ΄Π΅ јазол ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ Ρ†Π΅Π½Ρ‚Π°Ρ€ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π΅Π·Π΅Ρ€Π²Π° ќС Π±ΠΈΠ΄Π΅ јазол ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚. Оваа шСма сС ΠΈΠ·Π±ΠΈΡ€Π° Сднаш ΠΈ Π½Π΅ сС ΠΌΠ΅Π½ΡƒΠ²Π° Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° кластСрот, односно Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ Π²Π»Π΅Π·Π°Ρ‚ Π½ΠΎΠ²ΠΈ јазли (ΡˆΡ‚ΠΎ сС случува ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π΅Ρ‚ΠΊΠΎ). ΠŸΠΎΡΡ‚Π°ΠΏΠΊΠ°Ρ‚Π° Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π½ΠΎΠ² Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ господар Π°ΠΊΠΎ стариот Π½Π΅ успСС сСкогаш ќС Π±ΠΈΠ΄Π΅ слСдна: ΠΏΡ€Π²Π°Ρ‚Π° Ρ€Π΅Π·Π΅Ρ€Π²Π° ќС станС Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ господар, Π° Π°ΠΊΠΎ прСстанала Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°, Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π΅Π·Π΅Ρ€Π²Π° ќС станС Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ господар.

Оваа шСма Π΅ посигурна ΠΎΠ΄ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΈΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ, бидСјќи Π·Π° Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Π½ΠΎΠ² господар Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π΅ Π΄Π° сС ΡƒΡ‚Π²Ρ€Π΄ΠΈ нСуспСхот Π½Π° стариот.

Но, ΠΊΠ°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ќС Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ кој господар Ρ€Π°Π±ΠΎΡ‚ΠΈ сСга? НСвозмоТно Π΅ Π΄Π° сС испратат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎ ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π·Π° 50 ms. МоТна Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΠ³Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈΡΠΏΡ€Π°ΡœΠ° Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, сè ΡƒΡˆΡ‚Π΅ Π½Π΅ знаСјќи Π΄Π΅ΠΊΠ° овој господар повСќС Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΈ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ќС истСчС. Π—Π° Π΄Π° сС спрСчи Ρ‚ΠΎΠ° Π΄Π° сС случи, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΡˆΠΏΠ΅ΠΊΡƒΠ»Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π΄ΠΎ Π³Ρ€ΡƒΠΏΠ½ΠΈΠΎΡ‚ господар ΠΈ Π΄Π²Π΅Ρ‚Π΅ Π½Π΅Π³ΠΎΠ²ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈ одСднаш, Π½ΠΎ само оној кој Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ господар Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ ќС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° ΠΎΠ²Π° Π±Π°Ρ€Π°ΡšΠ΅. Π¦Π΅Π»Π°Ρ‚Π° слСдна ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ќС ја Π²Ρ€ΡˆΠΈ само со Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ господар.

Π Π΅Π·Π΅Ρ€Π²Π½ΠΈΡ‚Π΅ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΈ Π³ΠΈ ставаат ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° Π·Π° трансакции ΠΊΠΎΠΈ Π½Π΅ сС Π½ΠΈΠ²Π½ΠΈ Π²ΠΎ Ρ€Π΅Π΄ΠΎΡ‚ Π½Π° Π½Π΅Ρ€ΠΎΠ΄Π΅Π½ΠΈ трансакции, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сС Ρ‡ΡƒΠ²Π°Π°Ρ‚ Π½Π΅ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅. Ако Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ господар ΡƒΠΌΡ€Π΅, Π½ΠΎΠ²ΠΈΠΎΡ‚ господар Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ трансакции ΠΎΠ΄ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π΅Π΄ΠΈΡ†Π° ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚. Ако ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ вСќС ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ» Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° со стариот господар, Ρ‚ΠΎΠ³Π°Ρˆ Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ сС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° (ΠΈ, ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ, Ρ‚Π°ΠΊΠ²Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π½Π΅ΠΌΠ° Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈ ΠΈ ќС сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈ ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚).

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°

Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ испратил Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π·Π° Ρ‚Π°ΠΊΠΎΠ² ΠΈ Ρ‚Π°ΠΊΠΎΠ² Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ со Ρ‚Π°ΠΊΠΎΠ² ΠΈ Ρ‚Π°ΠΊΠΎΠ² ΠΏΡ€ΠΈΠΌΠ°Ρ€Π΅Π½ ΠΊΠ»ΡƒΡ‡. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π³ΠΎ Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° овој Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ ΠΈ Π³ΠΎ става Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π³ΠΎ Ρ‡ΠΈΡ‚Π° овој Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ ΠΈ Π³ΠΈ складира Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚.

NewSQL = NoSQL+ACID

Кога ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ сака Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°, Ρ‚ΠΎΡ˜ ΠΈΡΠΏΡ€Π°ΡœΠ° Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚, Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π³ΠΈ става Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° статус Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°. Ова Π³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚ΠΈΡ€Π° ΡΠ½ΠΈΠΌΠ°ΡšΠ΅Ρ‚ΠΎ - Π½Π΅ сС ΠΏΡ€Π°Π²ΠΈ снимањС Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ.

NewSQL = NoSQL+ACID

Кога ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π±Π°Ρ€Π° свои ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π°ΠΊΡ‚ΠΈΠ²Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ постапува Π½Π° слСдниов Π½Π°Ρ‡ΠΈΠ½:

  • Π°ΠΊΠΎ ID Π΅ вСќС Π²ΠΎ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Ρˆ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС Π·Π΅ΠΌΠ°Π°Ρ‚ ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°;
  • Π°ΠΊΠΎ Π½Π΅ΠΌΠ° ID Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Ρˆ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ нСдостасуваат сС Ρ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΎΠ΄ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ со ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ сС вСќС Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ сС Π΄Π°Π²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚.

Π’Π°ΠΊΠ°, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ Ρ‡ΠΈΡ‚Π° сопствСнитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π½Π΅ Π³ΠΈ Π³Π»Π΅Π΄Π°Π°Ρ‚ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, бидСјќи Ρ‚ΠΈΠ΅ сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ само Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚, Ρ‚ΠΈΠ΅ сè ΡƒΡˆΡ‚Π΅ Π½Π΅ сС Π²ΠΎ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ Π½Π° ΠšΠ°ΡΠ°Π½Π΄Ρ€Π°.

NewSQL = NoSQL+ACID

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

NewSQL = NoSQL+ACID

И Π·Π° Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈ Π½Π°Π·Π°Π΄, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° само Π΄Π° ја ослободи ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΎΠΊΡƒΠΏΠΈΡ€Π°Π½Π° ΠΎΠ΄ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°.

Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Π³ΠΎΡ€Π΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ°, Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ACID ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅:

  • Атомичност. Ова Π΅ Π³Π°Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π΄Π΅ΠΊΠ° Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π΄Π΅Π»ΡƒΠΌΠ½ΠΎ Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π²ΠΎ систСмот ΠΈΠ»ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ Π·Π°Π²Ρ€ΡˆΠ΅Π½ΠΈ ситС Π½Π΅Π³ΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½Π° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π·Π°Π²Ρ€ΡˆΠ΅Π½Π°. НиС сС ΠΏΡ€ΠΈΠ΄Ρ€ΠΆΡƒΠ²Π°ΠΌΠ΅ Π΄ΠΎ овој ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΏΡ€Π΅ΠΊΡƒ најавСна ΡΠ΅Ρ€ΠΈΡ˜Π° Π²ΠΎ ΠšΠ°ΡΠ°Π½Π΄Ρ€Π°.
  • ΠšΠΎΠ½Π·ΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚. БСкоја ΡƒΡΠΏΠ΅ΡˆΠ½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΏΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°, Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π° само Π²Π°Π»ΠΈΠ΄Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎ ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄Π΅Π» ΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ сС ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ Π΄Π΅ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ Π΅ Π½Π΅Π²Π°ΠΆΠ΅Ρ‡ΠΊΠΈ, сС Π²Ρ€ΡˆΠΈ Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π°Π·Π°Π΄.
  • Π˜Π·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π°. Кога Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°, истоврСмСнитС трансакции Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ исход. ΠšΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈΡ‚Π΅ трансакции сС ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ пСсимистички Π±Ρ€Π°Π²ΠΈ Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚. Π—Π° Ρ‡ΠΈΡ‚Π°ΡšΠ° Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΡ‚ Π½Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° сС ΠΏΠΎΡ‡ΠΈΡ‚ΡƒΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Read Committed.
  • Бтабилност. Π‘Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π½Π° понискитС Π½ΠΈΠ²ΠΎΠ° - Π·Π°Ρ‚Π΅ΠΌΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° систСмот, Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ΠΎΡ‚ - ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΎΠ΄ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Ρ€ΡˆΠ΅Π½Π°Ρ‚Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° останат Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ ΠΊΠΎΠ³Π° ќС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅.

Π§ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎ индСкси

Π”Π° Π·Π΅ΠΌΠ΅ΠΌΠ΅ Сдноставна Ρ‚Π°Π±Π΅Π»Π°:

CREATE TABLE photos (
id bigint primary key,
owner bigint,
modified timestamp,
…)

Има ID (ΠΏΡ€ΠΈΠΌΠ°Ρ€Π΅Π½ ΠΊΠ»ΡƒΡ‡), сопствСник ΠΈ Π΄Π°Ρ‚ΡƒΠΌ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π°. Π’Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Сдноставно Π±Π°Ρ€Π°ΡšΠ΅ - ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° сопствСникот со Π΄Π°Ρ‚ΡƒΠΌΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π° β€žΠ·Π° послСдниот Π΄Π΅Π½β€œ.

SELECT *
WHERE owner=?
AND modified>?

Π—Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π±Ρ€Π·ΠΎ Π΄Π° сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚Π°ΠΊΠ²ΠΎΡ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅, Π²ΠΎ класичСн SQL DBMS Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ индСкс ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ (сопствСник, ΠΈΠ·ΠΌΠ΅Π½Π΅Ρ‚). Ова ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ лСсно, бидСјќи сСга ΠΈΠΌΠ°ΠΌΠ΅ Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° ΠšΠ˜Π‘Π˜Π”!

ИндСкси во C*One

ΠŸΠΎΡΡ‚ΠΎΠΈ ΠΈΠ·Π²ΠΎΡ€Π½Π° Ρ‚Π°Π±Π΅Π»Π° со Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π²ΠΎ ΠΊΠΎΠΈ ID Π½Π° записот Π΅ ΠΏΡ€ΠΈΠΌΠ°Ρ€Π΅Π½ ΠΊΠ»ΡƒΡ‡.

NewSQL = NoSQL+ACID

Π—Π° индСкс, C*One создава Π½ΠΎΠ²Π° Ρ‚Π°Π±Π΅Π»Π° која Π΅ копија ΠΎΠ΄ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΡ‚. ΠšΠ»ΡƒΡ‡ΠΎΡ‚ Π΅ ист ΠΊΠ°ΠΊΠΎ ΠΈΠ·Ρ€Π°Π·ΠΎΡ‚ Π½Π° индСксот, Π° Π³ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ Π½Π° записот ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡ€Π½Π°Ρ‚Π° Ρ‚Π°Π±Π΅Π»Π°:

NewSQL = NoSQL+ACID

Π‘Π΅Π³Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° β€žΡΠΎΠΏΡΡ‚Π²Π΅Π½ΠΈΠΊ Π·Π° послСдниот Π΄Π΅Π½β€œ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΏΠΈΡˆΠ΅ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π±ΠΎΡ€ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π° Ρ‚Π°Π±Π΅Π»Π°:

SELECT * FROM i1_test
WHERE owner=?
AND modified>?

ΠšΠΎΠ½Π·ΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡ€Π½Π°Ρ‚Π° Ρ‚Π°Π±Π΅Π»Π° ΠΈ индСксната Ρ‚Π°Π±Π΅Π»Π° i1 сС ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° автоматски ΠΎΠ΄ страна Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚. Π‘Π°ΠΌΠΎ Π²Ρ€Π· основа Π½Π° ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΊΠΎΠ³Π° ќС сС ΠΏΡ€ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π°, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΈ складира ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π΅ само Π²ΠΎ Π³Π»Π°Π²Π½Π°Ρ‚Π° Ρ‚Π°Π±Π΅Π»Π°, Ρ‚ΡƒΠΊΡƒ ΠΈ Π²ΠΎ ΠΊΠΎΠΏΠΈΠΈ. НС сС Π²Ρ€ΡˆΠ°Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π΅Ρ˜ΡΡ‚Π²Π° Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° со индСкси, Π½Π΅ сС Ρ‡ΠΈΡ‚Π°Π°Ρ‚ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΈ Π½Π΅ сС користат Π±Ρ€Π°Π²ΠΈ. Односно, Π΄ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ индСкси Π½Π΅ Ρ‚Ρ€ΠΎΡˆΠΈ рСчиси Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ рСсурси ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π½Π΅ΠΌΠ° Π΅Ρ„Π΅ΠΊΡ‚ Π²Ρ€Π· Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ACID, ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ индСкси слични Π½Π° SQL. Π’ΠΈΠ΅ сС конзистСнтни, скалабилни, Π±Ρ€Π·ΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΈΡ€Π°Ρ‡ΠΊΠΈ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΠΎ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ CQL. НС сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π½Π° индСкси. Π‘Γ¨ Π΅ Сдноставно ΠΊΠ°ΠΊΠΎ Π²ΠΎ SQL. И ΡˆΡ‚ΠΎ Π΅ најваТно, индСкситС Π½Π΅ Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° Ρ‚Π°Π±Π΅Π»Π° Π·Π° трансакции.

Π¨Ρ‚ΠΎ сС случи

Π“ΠΎ Ρ€Π°Π·Π²ΠΈΠ²ΠΌΠ΅ C*One ΠΏΡ€Π΅Π΄ Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Π³ΠΎ ΠΏΡƒΡˆΡ‚ΠΈΠ²ΠΌΠ΅ Π²ΠΎ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π¨Ρ‚ΠΎ Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚? АјдС Π΄Π° Π³ΠΎ ΠΎΡ†Π΅Π½ΠΈΠΌΠ΅ ΠΎΠ²Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ‚ Π½Π° потсистСмот Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΡΠΎΡ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°. НС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° самитС Ρ‚Π΅Π»Π° Π½Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈΡ‚Π΅, Ρ‚ΡƒΠΊΡƒ Π·Π° сСкакви ΠΌΠ΅Ρ‚Π°-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π‘Π΅Π³Π° ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡ†ΠΈ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»Ρƒ 20 ΠΌΠΈΠ»ΠΈΡ˜Π°Ρ€Π΄ΠΈ Ρ‚Π°ΠΊΠ²ΠΈ записи, систСмот ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° 80 илјади Π±Π°Ρ€Π°ΡšΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π²ΠΎ сСкунда, Π΄ΠΎ 8 илјади ACID трансакции Π²ΠΎ сСкунда ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅.

Кога користСвмС SQL со Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° = 1 (Π½ΠΎ Π²ΠΎ RAID 10), ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π°Ρ‚Π° Π±Π΅Π° Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π½Π° високо достапСн кластСр ΠΎΠ΄ 32 машини ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Microsoft SQL Server (плус 11 Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ). Π‘Π΅Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΈ 10 сСрвСри Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ. Π’ΠΊΡƒΠΏΠ½ΠΎ 50 скапи Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, систСмот Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ со Π½ΠΎΠΌΠΈΠ½Π°Π»Π½ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅, Π±Π΅Π· Ρ€Π΅Π·Π΅Ρ€Π²Π°.

По ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ Π½ΠΎΠ²ΠΈΠΎΡ‚ систСм, Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° = 3 - копија Π²ΠΎ сСкој Ρ†Π΅Π½Ρ‚Π°Ρ€ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. БистСмот сС состои ΠΎΠ΄ 63 Cassandra јазли Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ 6 ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΈ машини, Π·Π° Π²ΠΊΡƒΠΏΠ½ΠΎ 69 сСрвСри. Но, ΠΎΠ²ΠΈΠ΅ машини сС ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ΅Π²Ρ‚ΠΈΠ½ΠΈ, Π½ΠΈΠ²Π½Π°Ρ‚Π° Π²ΠΊΡƒΠΏΠ½Π° Ρ†Π΅Π½Π° Π΅ ΠΎΠΊΠΎΠ»Ρƒ 30% ΠΎΠ΄ Ρ†Π΅Π½Π°Ρ‚Π° Π½Π° систСмот SQL. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° Π½Π° 30%.

Π‘ΠΎ Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° C*One, латСнтноста исто Ρ‚Π°ΠΊΠ° сС Π½Π°ΠΌΠ°Π»ΠΈ: Π²ΠΎ SQL, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Ρ‚Ρ€Π°Π΅ΡˆΠ΅ ΠΎΠΊΠΎΠ»Ρƒ 4,5 ms. Π’ΠΎ C*One - ΠΎΠΊΠΎΠ»Ρƒ 1,6 ms. Π’Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π²ΠΎ просСк ΠΏΠΎΠΌΠ°Π»ΠΎ ΠΎΠ΄ 40 ms, ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС Π·Π°Π²Ρ€ΡˆΡƒΠ²Π° Π·Π° 2 ms, Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅ΡšΠ΅Ρ‚ΠΎ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π΅ Π²ΠΎ просСк 2 ms. 99-Ρ‚ΠΈ ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ» - само 3-3,1 ms, Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Ρ‚Π°Ρ˜ΠΌΠ°ΡƒΡ‚ΠΈ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ Π·Π° 100 ΠΏΠ°Ρ‚ΠΈ - сСто Ρ‚ΠΎΠ° сС Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ‚Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° ΡˆΠΏΠ΅ΠΊΡƒΠ»Π°Ρ†ΠΈΠΈ.

ДосСга, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ SQL Server Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ сС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ сС Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ само со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° C*One. Π“ΠΎ приспособивмС C*One Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΎΠ±Π»Π°ΠΊ Π΅Π΄Π½ΠΎΠΎΠ±Π»Π°ΠΊ, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° сС Π·Π°Π±Ρ€Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ кластСри, Π΄Π° сС поСдностави ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ. Π‘Π΅Π· ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄, Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΠ²Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΎ ΠΈ Π½Π΅Π·Π³ΠΎΠ΄Π½ΠΎ.

Π‘Π΅Π³Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ Π½Π° ΠΏΡ€Π΅Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎΡ‚ - Π½ΠΎ Ρ‚ΠΎΠ° Π΅ сосСма Π΄Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π½Π°.

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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€