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

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

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

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

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Ρ€ΠΈ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

  • β€žΠΠΠ§ΠΠ›Πžβ€œ β€” Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π΅ Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. Ако ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° запис сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° транзакция, транзакцията ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π° само Π°ΠΊΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ изпълнСниС Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° запис Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.
  • β€žΠΠΠ§ΠΠ›Πž НА ΠŸΠΠ Π’ΠΠ•Π Πβ€œ – Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΡΡŠΠ±ΠΈΡ€Π°Ρ‚ информация Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. Ако сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° запис Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° транзакция, транзакцията ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π°, Π°ΠΊΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ са Π±ΠΈΠ»ΠΈ Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ слСд ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π°Ρ‚Π° снимка.
  • β€œΠΠΠ§ΠΠ›Πž НА Π•ΠšΠ‘ΠšΠ›Π£Π—Π˜Π’ΠΠžβ€ - слСд отварянС Π½Π° транзакция, Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ бъдС Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½Π°.

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

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€