Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° SQLite Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ Π±Π΅ΠΊΠ΅Π½Π΄ HC-tree с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ запис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° SQLite Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° тСстванС Π½Π° СкспСримСнталСн Π±Π΅ΠΊΠ΅Π½Π΄ HCtree, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Ρ€Π΅Π΄ ΠΈ осигурява висок ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΡŠΠΌ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° заявки. Новият Π±Π΅ΠΊΠ΅Π½Π΄ Π΅ насочСн към ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° СфСктивността Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° SQLite Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ систСми, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ голям Π±Ρ€ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈ записи Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅ b-tree, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² SQLite Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π½Π΅ са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° SQLite Π΄ΠΎ запис Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ. ΠšΠ°Ρ‚ΠΎ СкспСримСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° структура HC-tree, ΠΏΠΎ-подходяща Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ запис.

Π—Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ изпълнСния Π½Π° мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² HCtree записитС сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° раздСлянС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° Π½ΠΈΠ²ΠΎ страници ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° MVCC (многовСрсионно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ), Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° основата Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ вмСсто Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ страници. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ запис сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ към снимката Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Ρ‡ΠΈΠΈΡ‚ΠΎ измСнСния стават Π²ΠΈΠ΄ΠΈΠΌΠΈ Π² основната Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ само слСд ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° транзакцията.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° отварянС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ:

  • Β«BEGINΒ» β€” Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π΅ Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. Π’ случай Π½Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ запис Π²ΡŠΡ‚Ρ€Π΅ Π² транзакцията, тя ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС фиксирана само Π°ΠΊΠΎ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π½Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ запис Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.
  • Β«BEGIN CONCURRENTΒ» β€” Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΡΡŠΠ±ΠΈΡ€Π°Ρ‚ информация Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. Π’ случай Π½Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ запис Π²ΡŠΡ‚Ρ€Π΅ Π² транзакцията, тя ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС фиксирана, Π°ΠΊΠΎ ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° снимката Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ са Π±ΠΈΠ»ΠΈ фиксирани Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
  • Β«BEGIN EXCLUSIVEΒ» β€” слСд отварянС Π½Π° транзакцията Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄ΠΎ Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅.

HCtree ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° рСпликация Π² стил "master-slave", позволяваща прСнасянС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π΄Ρ€ΡƒΠ³Π° Π‘Π” ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΈ Π‘Π” Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, синхронизирано с основната Π‘Π”. HCtree ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ограничСнията Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π‘Π” - вмСсто 32-Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° страници Π΄Π°Π½Π½ΠΈ, HCtree ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° 48-Π±ΠΈΡ‚ΠΎΠ²ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° максималния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Π‘Π” ΠΎΡ‚ 16 Ρ‚Π΅Π±ΠΈΠ±Π°ΠΉΡ‚Π° Π΄ΠΎ 1 эксбибайт (ΠΌΠΈΠ»ΠΉΠΎΠ½ Ρ‚Π΅Π±ΠΈΠ±Π°ΠΉΡ‚Π°). ΠžΡ‡Π°ΠΊΠ²Π° сС производитСлността Π½Π° SQLite с HCtree ΠΊΠ°Ρ‚ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ Π΄Π° Π½Π΅ бъдС ΠΏΠΎ-ниска ΠΎΡ‚ класичСския Π΅Π΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π΅Π½ Π±Π΅ΠΊΠ΅Π½Π΄. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° SQLite с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° HCtree Ρ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΊΠ°ΠΊΡ‚ΠΎ Π΄ΠΎ Π‘Π” Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° структурата HC-tree, Ρ‚Π°ΠΊΠ° ΠΈ Π΄ΠΎ стари SQLite Π‘Π”.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster