Выпуск СКБД Tarantool 2.8

Даступная новая версія СКБД Tarantool 2.8, якая забяспечвае пастаяннае захоўвання дадзеных з аддачай інфармацыі з аператыўнай памяці (in-memory database). СКБД спалучае высокую хуткасць апрацоўкі запытаў, характэрную для NoSQL-сістэм (напрыклад, Memcached і Redis), c надзейнасцю традыцыйных СКБД (Oracle, MySQL і PostgreSQL). Tarantool напісаны на мове C і дазваляе ствараць захоўваемыя працэдуры на мове Lua. Код распаўсюджваецца пад ліцэнзіяй BSD.

СКБД дазваляе эфектыўна працаваць з вялікімі аб'ёмамі дадзеных пад высокімі нагрузкамі. З асаблівасцяў Tarantool адзначаецца магчымасць ствараць апрацоўшчыкі на мове Lua (убудаваны LuaJIT), ужыванне фармату MessagePack пры абмене дадзенымі з кліентам, наяўнасць двух убудаваных рухавічкоў (захоўванне ў АЗП са скідам на сталы назапашвальнік і двухузроўневае дыскавае сховішча на базе LSM-tree), падтрымка ключоў, чатыры тыпу індэксаў (HASH, TREE, RTREE, BITSET), сродкі для сінхроннай і асінхроннай рэплікацыі ў рэжыме master-master, падтрымка аўтэнтыфікацыі падлучэнняў і кантролю доступу, магчымасць апрацоўкі SQL-запытаў.

Галоўныя змены:

  • Стабілізацыя MVCC (шматверсійнае кіраванне канкурэнтным доступам) у in-memory рухавічку memtx.
  • Падтрымка транзакцыйнасці ў бінарным пратаколе IPROTO. Раней для транзакцыі неабходна было напісаць захоўваемую працэдуру на мове Lua.
  • Падтрымка сінхроннай рэплікацыі, якая працуе ў прывязцы да асобных табліц.
  • Механізм аўтаматычнага пераключэння на запасны вузел (failover) на базе пратаколу RAFT. У Tarantool даўно была рэалізаваная асінхронная WAL-based рэплікацыя, зараз можна не сачыць за майстар-вузлом уручную.
  • Аўтаматычнае пераключэнне майстар-вузла таксама даступна ў выпадку тапалогіі з сегментаваннем (шардынгам) дадзеных (выкарыстоўваецца бібліятэка vshard, якая размяркоўвае дадзеныя па серверах з дапамогай віртуальных кошыкаў (bucket)).
  • Паляпшэнне фрэймворка для пабудовы кластарных прыкладанняў Tarantool Cartridge пры працы ў віртуальных асяроддзях. Tarantool Cartridge зараз лепш трымае нагрузку.
  • Паскорана праца Ansible-ролі для разгортвання кластара да 15-20 разоў. Такім чынам праца з вялікімі кластарамі стала прасцей.
  • З'явілася прылада для спрошчанай міграцыі са старых версій >1.6 і < 1.10, які даступны з дапамогай дадатковай опцыі пры старце. Раней міграцыю неабходна было рабіць праз разгортванне прамежкавай версіі 1.10.
  • Праведзена аптымізацыя захоўвання картэжаў невялікага памеру.
  • У SQL рэалізавана падтрымка UUID і палепшана пераўтварэнне тыпаў.

Варта адзначыць, што пачынаючы з версіі 2.10 будзе ажыццёўлены пераход на новую палітыку фармавання рэлізаў. Пры значных выпусках з парушэннем зваротнай сумяшчальнасці будзе мяняцца першая лічба версіі, пры прамежкавых - другая, а пры карэкціруючых - трэцяя (пасля 2.10 будзе выпушчаны рэліз 3.0.0).

Крыніца: opennet.ru

Дадаць каментар