Den nya versionen av databashanteraren Tarantool 2.8 Àr nu tillgÀnglig, vilket möjliggör konstant datalagring med informationsavlÀmning frÄn minnet (in-memory database). Databashanteraren kombinerar den höga hastigheten för förfrÄgningsbehandling som kÀnnetecknar NoSQL-system (t.ex. Memcached och Redis) med tillförlitligheten hos traditionella databashanterare (Oracle, MySQL och PostgreSQL). Tarantool Àr skrivet i C och gör det möjligt att skapa lagrade procedurer med Lua. Koden distribueras under BSD-licens.
Databashanteraren möjliggör effektiv hantering av stora datamÀngder under hög belastning. Bland egenskaperna hos Tarantool kan nÀmnas möjligheten att skapa hanterare i Lua (inbyggd LuaJIT), anvÀndningen av MessagePack-format vid datakommunikation med klienten, tvÄ inbyggda motorer (lagring i RAM med överföring till permanent lagring och tvÄnivÄdisklagring baserad pÄ LSM-trÀd), stöd för sekundÀra nycklar, fyra typer av index (HASH, TREE, RTREE, BITSET), verktyg för synkron och asynkron replikering i master-master-lÀge, stöd för autentisering av anslutningar och Ätkomstkontroll samt möjligheten att behandla SQL-frÄgor.
HuvudÀndringar:
- Stabilisering av MVCC (Multiversion Concurrency Control) i in-memory-motorn memtx.
- Stöd för transaktioner i det binÀra protokollet IPROTO. Tidigare krÀvdes det att man skrev en lagrad procedur i Lua för att skapa en transaktion.
- Stöd för synkron replikering som fungerar kopplad till individuella tabeller.
- Automatiserat vÀxelsystem till en reservnod (failover) baserat pÄ RAFT-protokollet. Tarantool har lÀnge haft asynkron WAL-baserad replikation, och nu behöver man inte övervaka master-noden manuellt.
- Automatiserad vÀxling av master-noden Àr ocksÄ tillgÀnglig i en toppologi med datasegmentering (sharding) (anvÀnder biblioteket vshard, som distribuerar data över servrar med virtuella korgar (bucket)).
- FörbÀttring av ramen för att bygga klusterapplikationer Tarantool Cartridge vid arbete i virtuella miljöer. Tarantool Cartridge hanterar nu belastningen bÀttre.
- Arbetet med Ansible-rollen för klusterutveckling har snabbats upp 15-20 gÄnger. DÀrmed har hanteringen av stora kluster blivit enklare.
- Ett verktyg har introducerats för förenklad migration frÄn Àldre versioner >1.6 och <1.10, som finns tillgÀngligt via en tillÀggsalternativ vid starten. Tidigare var migrationen tvungen att göras genom att installera en mellanversion 1.10.
- Lagring av smÄ tupler har optimerats.
- SQL har fÄtt stöd för UUID och typkonvertering har förbÀttrats.
Det Àr vÀrt att notera att frÄn version 2.10 kommer en ny policy för releaseframstÀllning att införas. Vid större utgÄvor som bryter bakÄtkompatibiliteten kommer den första siffran i versionen att Àndras, vid mellanliggande versioner den andra, och vid korrigerande versioner den tredje (efter 2.10 kommer version 3.0.0 att slÀppas).
KĂ€lla: opennet.ru
