Frigivelse af Tarantool 2.8 DBMS

En ny version af Tarantool 2.8 DBMS er tilgængelig, som giver permanent datalagring med information hentet fra databasen i hukommelsen. DBMS kombinerer den høje hastighed af forespørgselsbehandling, der er karakteristisk for NoSQL-systemer (for eksempel Memcached og Redis) med pålideligheden af ​​traditionelle DBMS'er (Oracle, MySQL og PostgreSQL). Tarantool er skrevet i C og giver dig mulighed for at oprette lagrede procedurer i Lua. Koden distribueres under BSD-licensen.

DBMS giver dig mulighed for effektivt at arbejde med store mængder data under høje belastninger. Blandt funktionerne i Tarantool, muligheden for at oprette handlere i Lua-sproget (LuaJIT er indbygget), brugen af ​​MessagePack-formatet ved udveksling af data med klienten, tilstedeværelsen af ​​to indbyggede motorer (lagring i RAM med nulstilling til et permanent drev og to-niveau disklager baseret på LSM-træ), understøttelse af sekundære nøgler, fire typer indekser (HASH, TREE, RTREE, BITSET), værktøjer til synkron og asynkron replikering i master-master mode, understøttelse af forbindelsesgodkendelse og adgangskontrol, evnen til at behandle SQL-forespørgsler.

Vigtigste ændringer:

  • Stabilisering af MVCC (Multi-Version Concurrency Control) i memtx in-memory motoren.
  • Transaktionsunderstøttelse i den binære IPROTO protokol. Tidligere krævede en transaktion at skrive en lagret procedure i Lua.
  • Understøttelse af synkron replikering, som fungerer i forhold til individuelle tabeller.
  • En mekanisme til automatisk at skifte til en backup node (failover) baseret på RAFT-protokollen. Asynkron WAL-baseret replikering har længe været implementeret i Tarantool; nu behøver du ikke manuelt at overvåge masterknuden.
  • Automatisk masterknudeskift er også tilgængelig i tilfælde af en topologi med datasharding (vshard-biblioteket bruges, som distribuerer data på tværs af servere ved hjælp af virtuelle buckets).
  • Forbedring af rammerne for opbygning af Tarantool Cartridge-klyngeapplikationer, når du arbejder i virtuelle miljøer. Tarantool Cartridge holder nu belastningen bedre.
  • Arbejdet med Ansible-rollen til klyngeimplementering er blevet fremskyndet med op til 15-20 gange. Dette gør arbejdet med store klynger nemmere.
  • Der er dukket et værktøj op til forenklet migrering fra ældre versioner >1.6 og <1.10, som er tilgængeligt ved at bruge en ekstra mulighed ved opstart. Tidligere skulle migreringen ske ved at implementere den midlertidige version 1.10.
  • Opbevaringen af ​​små tupler er blevet optimeret.
  • SQL understøtter nu UUID'er og forbedrer typekonvertering.

Det er værd at bemærke, at fra og med version 2.10 vil der være en overgang til en ny politik for generering af udgivelser. For væsentlige udgivelser, der bryder bagudkompatibiliteten, ændres det første ciffer i versionen, for mellemudgivelser - det andet, og for korrigerende udgivelser - det tredje (efter 2.10 frigives udgivelse 3.0.0).

Kilde: opennet.ru

Tilføj en kommentar