ΠžΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Tarantool 2.8 DBMS

Достапна Π΅ Π½ΠΎΠ²Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Tarantool 2.8 DBMS, која ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Ρ‚Ρ€Π°Ρ˜Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°. DBMS ја ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° високата Π±Ρ€Π·ΠΈΠ½Π° Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π±Π°Ρ€Π°ΡšΠ° карактСристика Π½Π° NoSQL систСмитС (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Memcached ΠΈ Redis) со довСрливоста Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ DBMS (Oracle, MySQL ΠΈ PostgreSQL). Tarantool Π΅ напишан Π²ΠΎ C ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ складирани ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ Π²ΠΎ Lua. ΠšΠΎΠ΄ΠΎΡ‚ сС дистрибуира ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° BSD.

DBMS Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Сфикасно Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ со Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΡ€ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ°. ΠœΠ΅Ρ“Ρƒ карактСристикитС Π½Π° Tarantool, моТноста Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Lua (LuaJIT Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½), ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΡ‚ MessagePack ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚, присуството Π½Π° Π΄Π²Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΌΠΎΡ‚ΠΎΡ€ΠΈ (ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° со Ρ€Π΅ΡΠ΅Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ ΠΏΠΎΠ³ΠΎΠ½ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° диск Π½Π° Π΄Π²Π΅ Π½ΠΈΠ²ΠΎΠ° засновано Π½Π° LSM-Π΄Ρ€Π²ΠΎ), ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° сСкундарни ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ, Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Ρ‚ΠΈΠΏΠ° индСкси (HASH, TREE, RTREE, BITSET), Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° синхрона ΠΈ асинхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π²ΠΎ master-master Ρ€Π΅ΠΆΠΈΠΌ, ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΡ˜Π° ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° пристап, моТност Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° SQL Π±Π°Ρ€Π°ΡšΠ°.

Π“Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° MVCC (Multi-Version Concurrency Control) Π²ΠΎ мСморискиот ΠΌΠΎΡ‚ΠΎΡ€ memtx.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° трансакции Π²ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IPROTO. ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π±Π°Ρ€Π°ΡˆΠ΅ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ складирана ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²ΠΎ Π›ΡƒΠ°.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, која Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ однос Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° автоматско ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π΅Π½ јазол (failover) Π²Ρ€Π· основа Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ RAFT. Асинхроната Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° WAL ΠΎΠ΄Π°ΠΌΠ½Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π²ΠΎ Tarantool; сСга Π½Π΅ ΠΌΠΎΡ€Π° Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° Π³ΠΎ слСдитС Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ јазол.
  • Автоматското ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ јазол Π΅ исто Ρ‚Π°ΠΊΠ° достапно Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° со ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (сС користи Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° vshard, која Π³ΠΈ дистрибуира ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½ΠΈΠ· сСрвСритС ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ ΠΊΠΎΡ„ΠΈ).
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° кластСри Tarantool Cartridge ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ срСдини. Tarantool Cartridge сСга ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π³ΠΎ Π΄Ρ€ΠΆΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΡ‚.
  • Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΡƒΠ»ΠΎΠ³Π°Ρ‚Π° Ansible Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ кластСри Π΅ Π·Π°Π±Ρ€Π·Π°Π½Π° Π΄ΠΎ 15-20 ΠΏΠ°Ρ‚ΠΈ. Ова ја олСснува Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° со Π³ΠΎΠ»Π΅ΠΌΠΈ кластСри.
  • Π‘Π΅ појави Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° поСдноставСна ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ постаритС Π²Π΅Ρ€Π·ΠΈΠΈ >1.6 ΠΈ <1.10, која Π΅ достапна со помош Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΎΠΏΡ†ΠΈΡ˜Π° ΠΏΡ€ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅. ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€Π΅ΠΊΡƒ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.10.
  • Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ°Π»ΠΈ Ρ‚ΠΎΡ€ΠΊΠΈ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ.
  • SQL сСга ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° UUID ΠΈ ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΈ.

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

Π˜Π·Π²ΠΎΡ€: opennet.ru

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