Utgivelse av Tarantool 2.8 DBMS

En ny versjon av Tarantool 2.8 DBMS er tilgjengelig, som gir permanent datalagring med informasjon hentet fra minnedatabasen. DBMS kombinerer den høye hastigheten på spørringsbehandling som er karakteristisk for NoSQL-systemer (for eksempel Memcached og Redis) med påliteligheten til tradisjonelle DBMS-er (Oracle, MySQL og PostgreSQL). Tarantool er skrevet i C og lar deg lage lagrede prosedyrer i Lua. Koden distribueres under BSD-lisensen.

DBMS lar deg effektivt arbeide med store datamengder under høy belastning. Blant funksjonene til Tarantool, muligheten til å lage behandlere på Lua-språket (LuaJIT er innebygd), bruken av MessagePack-formatet når du utveksler data med klienten, tilstedeværelsen av to innebygde motorer (lagring i RAM med tilbakestilling til en permanent stasjon og to-nivås disklagring basert på LSM-tree), støtte for sekundære nøkler, fire typer indekser (HASH, TREE, RTREE, BITSET), verktøy for synkron og asynkron replikering i master-master-modus, støtte for tilkoblingsautentisering og tilgangskontroll, muligheten til å behandle SQL-spørringer.

Hovedendringer:

  • Stabilisering av MVCC (Multi-Version Concurrency Control) i memtx-minnemotoren.
  • Transaksjonsstøtte i den binære IPROTO-protokollen. Tidligere krevde en transaksjon å skrive en lagret prosedyre i Lua.
  • Støtte for synkron replikering, som fungerer i forhold til individuelle tabeller.
  • En mekanisme for automatisk å bytte til en backup-node (failover) basert på RAFT-protokollen. Asynkron WAL-basert replikering har lenge vært implementert i Tarantool; nå trenger du ikke å overvåke masternoden manuelt.
  • Automatisk hovednodebytte er også tilgjengelig i tilfelle en topologi med datadeling (vshard-biblioteket brukes, som distribuerer data på tvers av servere ved hjelp av virtuelle bøtter).
  • Forbedre rammeverket for å bygge Tarantool Cartridge-klyngeapplikasjoner når du arbeider i virtuelle miljøer. Tarantool Cartridge holder nå lasten bedre.
  • Arbeidet med Ansible-rollen for klyngedistribusjon har blitt fremskyndet med opptil 15-20 ganger. Dette gjør arbeidet med store klynger enklere.
  • Et verktøy har dukket opp for forenklet migrering fra eldre versjoner >1.6 og <1.10, som er tilgjengelig ved å bruke et ekstra alternativ ved oppstart. Tidligere måtte migrering gjøres ved å distribuere den midlertidige versjonen 1.10.
  • Oppbevaringen av små tupler er optimert.
  • SQL støtter nå UUIDer og forbedrer typekonvertering.

Det er verdt å merke seg at fra og med versjon 2.10 vil det være en overgang til en ny policy for generering av utgivelser. For betydelige utgivelser som bryter bakoverkompatibiliteten, vil det første sifferet i versjonen endres, for mellomutgivelser - det andre, og for korrigerende utgivelser - det tredje (etter 2.10 vil utgivelse 3.0.0 bli utgitt).

Kilde: opennet.ru

Legg til en kommentar