Objava distribuirane DBMS TiDB 3.0

Dostupno izdanje distribuirane DBMS TiDB 3.0, razvijen pod utjecajem tehnologija Google Spanner i F1. TiDB pripada kategoriji hibridnih HTAP sustava (Hibridno Transakcijsko/Analitičko Procesiranje) koji su sposobni kako za izvršavanje transakcija u stvarnom vremenu (OLTP), tako i za analitička upitna obračunavanja. Projekt je napisan na jeziku Go i distribuira se pod licencom Apache 2.0.

Značajke TiDB-a:

  • Podrška za SQL i pružanje korisničkog sučelja kompatibilnog s MySQL protokolom, što olakšava prilagodbu postojećih aplikacija napisanim za MySQL za TiDB, kao i omogućuje korištenje popularnih klijentskih biblioteka. Osim MySQL protokola, za pristup DBMS-u može se koristiti API temeljen na JSON-u i konektor za Spark.
  • Iz SQL mogućnosti podržavaju se indeksi, agregatne funkcije, izrazi GROUP BY, ORDER BY, DISTINCT, spojevi (LEFT JOIN / RIGHT JOIN / CROSS JOIN), prikazi, prozor funkcije i podupiti. Pružene mogućnosti su dovoljne za rad s TiDB u web-aplikacijama kao što su PhpMyAdmin, Gogs i WordPress;
  • Mogućnost horizontalnog skaliranja i osiguranje otpornosti: kapacitet pohrane i računalnu snagu moguće je povećati jednostavnim dodavanjem novih čvorova. Podaci se distribuiraju po čvorovima s redundancijom koja omogućava nastavak rada u slučaju kvara pojedinih čvorova. Kvarovi se automatski obrađuju.
  • Sustav jamči dosljednost i za klijentski softver izgleda kao jedna velika DBMS, iako se za izvršenje transakcija zapravo koriste podaci s više čvorova.
  • Različiti backendovi mogu se koristiti za fizičko pohranjivanje podataka na čvorovima, poput lokalnih storage engine-a GoLevelDB i BoltDB ili vlastitog engine-a distribuiranog skladišta. TiKV.
  • Mogućnost asinkrone promjene sheme pohrane, koja omogućava dodavanje stupaca i indeksa u hodu bez prekida obrade trenutnih operacija.

Glavne novosti:

  • Rad na povećanju performansi je završen. U testu Sysbench, verzija 3.0 nadmašuje granu 2.1 s 1,5 puta boljim rezultatima za select i update operacije, dok u TPC-C testu postiže 4,5 puta bolje rezultate. Optimizacije su obuhvatile razne vrste upita, uključujući podupite "IN", "DO" i "NOT EXISTS", operacije spajanja tablica (JOIN), korištenje indeksa i još mnogo toga.
    Objava distribuirane DBMS TiDB 3.0 Objava distribuirane DBMS TiDB 3.0
  • Dodana je nova TiFlash engine za skladištenje, koja omogućava postizanje viših performansi u analitičkim zadacima (OLAP) zahvaljujući skladištenju vezanom za stupce. TiFlash dopunjuje prethodno ponuđeno skladište TiKV, koje pohranjuje podatke po redovima u ključ/vrijednost formatu i optimalnije je za obradu transakcija (OLTP). TiFlash radi zajedno s TiKV, a podaci se i dalje repliciraju u TiKV koristeći Raft protokol za određivanje konsenzusa, ali za svaku grupu Raft replika stvara se dodatna replika koja se koristi u TiFlash-u. Takav pristup omogućava bolje razdvajanje resursa između OLTP i OLAP zadataka, kao i trenutnu dostupnost podataka transakcija za analitičke upite.

    Objava distribuirane DBMS TiDB 3.0
  • Implementiran je distribuirani sakupljač smeća, koji značajno povećava brzinu sakupljanja smeća u velikim klasterima i poboljšava stabilnost rada.
  • Dodana je eksperimentalna implementacija sustava za upravljanje pristupom na temelju uloga (RBAC). Također, omogućeno je postavljanje prava pristupa za operacije ANALYZE, USE, SET GLOBAL i SHOW PROCESSLIST.
  • Dodana je mogućnost korištenja SQL izraza za selekciju iz loga sporih upita.
  • Implementiran je mehanizam brzog vraćanja obrisanih tablica, koji omogućava povrat slučajno izbrisanih podataka.
  • Standardiziran je format zapisivanja logova.
  • Dodana je podrška za pesimistički način blokiranja, koji čini obradu transakcija bližom MySQL-u.
  • Dodana je podrška za prozorske funkcije (window-funkcije ili analitičke funkcije) koje su kompatibilne s MySQL 8.0. Prozorske funkcije omogućuju izvođenje izračuna za svaki redak upita koristeći druge retke. Za razliku od agregatnih funkcija koje sažimaju grupirani skup redaka u jedan redak, prozorske funkcije obavljaju agregaciju na temelju sadržaja 'prozora', koji uključuje jedan ili više redaka iz rezultantnog skupa. Među implementiranim prozorskim funkcijama su:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK i ROW_NUMBER;
  • Dodana je eksperimentalna podrška za prikaze (VIEW);
  • Poboljšan je sustav particioniranja, dodana je mogućnost raspodjele podataka po sekcijama na temelju raspona vrijednosti ili hešova;
  • Dodana je struktura za razvoj dodataka, na primjer, već su pripremljeni dodaci za korištenje bijele liste IP-a ili vođenje audit loga;
  • Osigurana je eksperimentalna podrška za funkciju 'EXPLAIN ANALYZE' za izradu plana izvršenja SQL upita (SQL Plan Management);
  • Dodana je naredba next_row_id za dobivanje identifikatora sljedećeg retka;
  • Dodane su nove ugrađene funkcije JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE i NAME_CONST.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster