Na voljo je nova različica DBMS Tarantool 2.8, ki omogoča trajno shranjevanje podatkov z dostopom do informacij iz pomnilnika (in-memory database). DBMS združuje visoko hitrost obdelave poizvedb, značilno za NoSQL sisteme (na primer Memcached in Redis), z zanesljivostjo tradicionalnih DBMS (Oracle, MySQL in PostgreSQL). Tarantool je napisan v jeziku C in omogoča ustvarjanje shranjenih postopkov v jeziku Lua. Koda se distribuira pod BSD licenco.
DBMS omogoča učinkovito delo z velikimi količinami podatkov pri visokih obremenitvah. Med značilnostmi Tarantoola izstopa možnost ustvarjanja obdelovalcev v jeziku Lua (vključen LuaJIT), uporaba formata MessagePack pri izmenjavi podatkov s stranko, prisotnost dveh vgrajenih motorjev (hranjevanje v RAM-u z ogledom na trajni spomin in dvostopenjsko diskovno shranjevanje na osnovi LSM-tree), podpora sekundarnim ključem, štirje tipi indeksov (HASH, TREE, RTREE, BITSET), orodja za sinhrono in asinhrono replikacijo v režimu master-master, podpora avtentikaciji povezav in nadzoru dostopa ter možnost obdelave SQL poizvedb.
Glavne spremembe:
- Stabilizacija MVCC (Mnogovrstno upravljanje konkurenčnim dostopom) v in-memory motorju memtx.
- Podpora transakčnosti v binarnem protokolu IPROTO. Prej je bilo za transakcijo potrebno napisati shranjeni postopek v jeziku Lua.
- Podpora sinhroni replikaciji, ki deluje v povezavi s posameznimi tabelami.
- Mehanizem samodejnega preklopa na rezervni vozlišče (failover) na osnovi protokola RAFT. V Tarantoolu je bila dolgo časa implementirana asinhrona WAL-based replikacija, sedaj ni več potrebno ročno spremljati master-vozlišča.
- Samodejni preklop master-vozlišča je prav tako na voljo v primeru topologije s segmentacijo (shardingom) podatkov (uporablja se knjižnica vshard, ki razporeja podatke po strežnikih s pomočjo virtualnih košar (bucket)).
- Izboljšava ogrodja za gradnjo klasterskih aplikacij Tarantool Cartridge pri delu v virtualnih okoljih. Tarantool Cartridge zdaj bolje obvladuje obremenitev.
- Delovanje Ansible vloge za nameščanje klasterja je pospešeno do 15-20 krat. Tako je delo z velikimi klasterji postalo lažje.
- Pojavil se je orodje za poenostavljeno selitev s starejših različic >1.6 in < 1.10, ki je na voljo z dodatno možnostjo pri zagonu. Prej je bilo selitev potrebno opraviti preko namestitve vmesne različice 1.10.
- Izvedena je optimizacija shranjevanja majhnih tuplov.
- V SQL je bila uvedena podpora za UUID in izboljšana pretvorba tipov.
Upoštevati je treba, da bo od različice 2.10 začela veljati nova politika oblikovanja izdaj. Pri pomembnih izdajah z nezdružljivostjo bo spremenjena prva cifra različice, pri vmesnih različicah druga, pri popravnih pa tretja (po 2.10 bo izšla različica 3.0.0).
Izvor: opennet.ru
