Release av Tarantool 2.8 DBMS

En ny version av Tarantool 2.8 DBMS är tillgänglig, som ger permanent datalagring med information hämtad från minnesdatabasen. DBMS kombinerar den höga hastigheten för frågebehandling som är karakteristisk för NoSQL-system (till exempel Memcached och Redis) med tillförlitligheten hos traditionella DBMS (Oracle, MySQL och PostgreSQL). Tarantool är skrivet i C och låter dig skapa lagrade procedurer i Lua. Koden distribueras under BSD-licensen.

DBMS tillåter dig att effektivt arbeta med stora datamängder under hög belastning. Bland funktionerna i Tarantool, möjligheten att skapa hanterare på Lua-språket (LuaJIT är inbyggt), användningen av MessagePack-formatet vid datautbyte med klienten, närvaron av två inbyggda motorer (lagring i RAM med återställning till en permanent enhet och tvånivås 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 anslutningsautentisering och åtkomstkontroll, förmågan att bearbeta SQL-frågor.

Huvudändringar:

  • Stabilisering av MVCC (Multi-Version Concurrency Control) i memtx in-memory motor.
  • Transaktionsstöd i det binära IPROTO-protokollet. Tidigare krävde en transaktion att skriva en lagrad procedur i Lua.
  • Stöd för synkron replikering, som fungerar i förhållande till enskilda tabeller.
  • En mekanism för att automatiskt byta till en backupnod (failover) baserad på RAFT-protokollet. Asynkron WAL-baserad replikering har länge implementerats i Tarantool; nu behöver du inte övervaka masternoden manuellt.
  • Automatisk huvudnodbyte är också tillgänglig i fallet med en topologi med datadelning (vshard-biblioteket används, som distribuerar data över servrar med hjälp av virtuella hinkar).
  • Förbättra ramverket för att bygga Tarantool Cartridge-klusterapplikationer när du arbetar i virtuella miljöer. Tarantool Cartridge håller nu lasten bättre.
  • Arbetet med Ansible-rollen för klusterinstallation har påskyndats med upp till 15-20 gånger. Detta gör det lättare att arbeta med stora kluster.
  • Ett verktyg har dykt upp för förenklad migrering från äldre versioner >1.6 och <1.10, som är tillgängligt med ett extra alternativ vid start. Tidigare behövde migreringen ske genom att implementera den interimistiska versionen 1.10.
  • Lagringen av små tuplar har optimerats.
  • SQL stöder nu UUID och förbättrar typkonvertering.

Det är värt att notera att från och med version 2.10 kommer det att ske en övergång till en ny policy för att generera utgåvor. För betydande utgåvor som bryter bakåtkompatibiliteten kommer den första siffran i versionen att ändras, för mellanliggande utgåvor - den andra och för korrigerande utgåvor - den tredje (efter 2.10 kommer version 3.0.0 att släppas).

Källa: opennet.ru

Lägg en kommentar