เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ‚เบญเบ‡ Tarantool 2.8 DBMS

เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡ Tarantool 2.8 DBMS เบกเบตเปƒเบซเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบ–เบฒเบงเบญเบ™เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ”เบถเบ‡เบกเบฒเบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. DBMS เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡เบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš NoSQL (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ Memcached เปเบฅเบฐ Redis) เบ”เป‰เบงเบเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ‚เบญเบ‡ DBMSs เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก (Oracle, MySQL เปเบฅเบฐ PostgreSQL). Tarantool เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ Lua. เบฅเบฐเบซเบฑเบ”เบ–เบทเบเปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

DBMS เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡ Tarantool, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปƒเบ™เบžเบฒเบชเบฒ Lua (LuaJIT เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบ•เบปเบง), เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฎเบนเบšเปเบšเบš MessagePack เป€เบกเบทเปˆเบญเปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ, เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบชเบญเบ‡เบ•เบปเบง (เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปƒเบ™ RAM เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเบกเปˆ. เป„เบ›เบเบฑเบ‡เป„เบ”เบฃเบŸเปŒเบ–เบฒเบงเบญเบ™เปเบฅเบฐเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบœเปˆเบ™เบชเบญเบ‡เบฅเบฐเบ”เบฑเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ LSM-tree), เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบซเบฑเบ”เบฎเบญเบ‡, เบชเบตเปˆเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ”เบฑเบ”เบชเบฐเบ™เบต (HASH, TREE, RTREE, BITSET), เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบšเบš synchronous เปเบฅเบฐ asynchronous เปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเป‰เบ™เบ•เป:

  • เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเบ‚เบญเบ‡ MVCC (เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบซเบผเบฒเบเบฎเบธเปˆเบ™) เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ memtx.
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™ IPROTO binary protocol. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เปƒเบ™ Lua.
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ replication synchronous, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.
  • เบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ›เบชเบนเปˆเป‚เบซเบ™เบ”เบชเปเบฒเบฎเบญเบ‡ (failover) เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป‚เบ›เป‚เบ•เบ„เบญเบ™ RAFT. เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบšเบš Asynchronous WAL เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฒเบ”เบปเบ™เปเบฅเป‰เบงเปƒเบ™ Tarantool; เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฒเบกเป‚เบซเบกเบ”เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.
  • เบเบฒเบ™เบ›เปˆเบฝเบ™ master node เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบ‡เบกเบตเบขเบนเปˆเปƒเบ™เบเปเบฅเบฐเบ™เบต topology เบ—เบตเปˆเบกเบต data sharding (เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” vshard เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ—เบปเปˆเบงเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰ buckets virtual).
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบธเปˆเบก Tarantool Cartridge เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก virtual. เบ›เบฐเบˆเบธเบšเบฑเบ™เบ•เบญเบเบ•เบฐเบซเบฅเบฑเบš Tarantool เบชเบฒเบกเบฒเบ”เบฎเบฑเบเบชเบฒเบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰เบ”เบตเบ‚เบถเป‰เบ™.
  • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบšเบปเบ”เบšเบฒเบ” Ansible เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบธเปˆเบกเป„เบ”เป‰เบ–เบทเบเป€เบฅเบฑเปˆเบ‡เบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡ 15-20 เป€เบ—เบทเปˆเบญ. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบธเปˆเบกเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™.
  • เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เป„เบ”เป‰โ€‹เบ›เบฐเบเบปเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เบเป‰เบฒเบโ€‹เบ—เบตเปˆโ€‹เบ‡เปˆเบฒเบโ€‹เบ‚เบถเป‰เบ™โ€‹เบˆเบฒเบโ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เป€เบเบปเปˆเบฒโ€‹>1.6 เปเบฅเบฐ <1.10โ€‹, เป€เบŠเบดเปˆเบ‡โ€‹เบกเบตโ€‹เปƒเบซเป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบฎเบฑเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเบšเบฑเบšเบŠเบปเปˆเบงเบ„เบฒเบง 1.10.
  • เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เบญเบ‡ tuples เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบก.
  • เบ”เบฝเบงเบ™เบตเป‰ SQL เบฎเบญเบ‡เบฎเบฑเบš UUIDs เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เปเบ›เบ‡เบ›เบฐเป€เบžเบ”.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบฎเบธเปˆเบ™ 2.10 เบˆเบฐเบกเบตเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบ™เบฐเป‚เบเบšเบฒเบเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบ›เปˆเบญเบเบญเบญเบเบกเบฒ. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบ—เปเบฒเบฅเบฒเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡, เบ•เบปเบงเป€เบฅเบเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบฎเบธเปˆเบ™เบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบเบฒเบ‡ - เบ—เบตเบชเบญเบ‡, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบเบฒเบ™เปเบเป‰เป„เบ‚ - เบ—เบตเบชเบฒเบก (เบซเบผเบฑเบ‡เบˆเบฒเบ 2.10, เบเบฒเบ™เบ›เปˆเบญเบ 3.0.0 เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™