ืฉื—ืจื•ืจ ืฉืœ 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-tree), ืชืžื™ื›ื” ื‘ืžืคืชื—ื•ืช ืžืฉื ื™ื™ื, ืืจื‘ืขื” ืกื•ื’ื™ ืื™ื ื“ืงืกื™ื (HASH, TREE, RTREE, BITSET), ื›ืœื™ื ืœืฉื›ืคื•ืœ ืกื™ื ื›ืจื•ื ื™ ื•ื-ืกื™ื ื›ืจื•ื ื™ ื‘ืžืฆื‘ ืžืืกื˜ืจ-ืžืืกื˜ืจ, ืชืžื™ื›ื” ื‘- ืื™ืžื•ืช ื—ื™ื‘ื•ืจ ื•ื‘ืงืจืช ื’ื™ืฉื”, ื”ื™ื›ื•ืœืช ืœืขื‘ื“ ืฉืื™ืœืชื•ืช SQL.

ืฉื™ื ื•ื™ื™ื ืขื™ืงืจื™ื™ื:

  • ื™ื™ืฆื•ื‘ ืฉืœ MVCC (Concurrency Multi-Version Control) ื‘ืžื ื•ืข memtx in-memory.
  • ืชืžื™ื›ื” ื‘ืขืกืงืื•ืช ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ื‘ื™ื ืืจื™ IPROTO. ื‘ืขื‘ืจ, ืขืกืงื” ื“ืจืฉื” ื›ืชื™ื‘ืช ื ื•ื”ืœ ืžืื•ื—ืกืŸ ื‘-Lua.
  • ืชืžื™ื›ื” ื‘ืฉื›ืคื•ืœ ืกื™ื ื›ืจื•ื ื™, ื”ืคื•ืขืœ ื‘ื™ื—ืก ืœื˜ื‘ืœืื•ืช ื‘ื•ื“ื“ื•ืช.
  • ืžื ื’ื ื•ืŸ ืœืžืขื‘ืจ ืื•ื˜ื•ืžื˜ื™ ืœืฆื•ืžืช ื’ื™ื‘ื•ื™ (failover) ื”ืžื‘ื•ืกืก ืขืœ ืคืจื•ื˜ื•ืงื•ืœ RAFT. ืฉื›ืคื•ืœ ืžื‘ื•ืกืก WAL ืืกื™ื ื›ืจื•ื ื™ ื™ื•ืฉื ื–ื” ืžื›ื‘ืจ ื‘-Tarantool; ื›ืขืช ืื™ื ืš ืฆืจื™ืš ืœืคืงื— ื‘ืื•ืคืŸ ื™ื“ื ื™ ืขืœ ื”ืฆื•ืžืช ื”ืจืืฉื™.
  • ืžื™ืชื•ื’ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืฆื•ืžืช ืจืืฉ ื–ืžื™ืŸ ื’ื ื‘ืžืงืจื” ืฉืœ ื˜ื•ืคื•ืœื•ื’ื™ื” ืขื ืคื™ืฆื•ืœ ื ืชื•ื ื™ื (ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื™ืช vshard, ืฉืžืคื™ืฆื” ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉืจืชื™ื ื‘ืืžืฆืขื•ืช ื“ืœื™ื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื).
  • ืฉื™ืคื•ืจ ื”ืžืกื’ืจืช ืœื‘ื ื™ื™ืช ื™ื™ืฉื•ืžื™ ืืฉื›ื•ืœื•ืช Tarantool Cartridge ื‘ืขื‘ื•ื“ื” ื‘ืกื‘ื™ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. Tarantool Cartridge ืžื—ื–ื™ืง ื›ืขืช ืืช ื”ืขื•ืžืก ื˜ื•ื‘ ื™ื•ืชืจ.
  • ื”ืขื‘ื•ื“ื” ืฉืœ ืชืคืงื™ื“ Ansible ืœืคืจื™ืกืช ืืฉื›ื•ืœ ื”ื•ืืฆื” ืขื“ ืคื™ 15-20. ื–ื” ืžืงืœ ืขืœ ื”ืขื‘ื•ื“ื” ืขื ืืฉื›ื•ืœื•ืช ื’ื“ื•ืœื™ื.
  • ื”ื•ืคื™ืข ื›ืœื™ ืœื”ืขื‘ืจื” ืคืฉื•ื˜ื” ืžื’ืจืกืื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ >1.6 ื•<1.10, ื”ื–ืžื™ืŸ ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช ื ื•ืกืคืช ื‘ืขืช ื”ื”ืคืขืœื”. ื‘ืขื‘ืจ, ื”ื”ืขื‘ืจื” ื”ื™ื™ืชื” ืฆืจื™ื›ื” ืœื”ื™ืขืฉื•ืช ื‘ืืžืฆืขื•ืช ืคืจื™ืกืช ื’ืจืกืช ื”ื‘ื™ื ื™ื™ื 1.10.
  • ื”ืื—ืกื•ืŸ ืฉืœ tuples ืงื˜ื ื™ื ืขื‘ืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”.
  • SQL ืชื•ืžืš ื›ืขืช ื‘-UUID ื•ืžืฉืคืจ ื”ืžืจืช ืกื•ื’ื™ื.

ืจืื•ื™ ืœืฆื™ื™ืŸ ืฉื”ื—ืœ ืžื’ืจืกื” 2.10 ื™ื”ื™ื” ืžืขื‘ืจ ืœืžื“ื™ื ื™ื•ืช ื—ื“ืฉื” ืœื”ืคืงืช ืžื”ื“ื•ืจื•ืช. ืขื‘ื•ืจ ืžื”ื“ื•ืจื•ืช ืžืฉืžืขื•ืชื™ื•ืช ืฉืฉื•ื‘ืจื•ืช ืชืื™ืžื•ืช ืœืื—ื•ืจ, ื”ืกืคืจื” ื”ืจืืฉื•ื ื” ืฉืœ ื”ื’ืจืกื” ืชืฉืชื ื”, ืขื‘ื•ืจ ืžื”ื“ื•ืจื•ืช ื‘ื™ื ื™ื™ื - ื”ืฉื ื™ื™ื”, ื•ืœืžื”ื“ื•ืจื•ืช ืžืชืงื ื•ืช - ื”ืฉืœื™ืฉื™ืช (ืื—ืจื™ 2.10, ืžื”ื“ื•ืจื” 3.0.0 ืชืฉื•ื—ืจืจ).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”