Dostupno izdanje distribuiranog DBMS-a TiDB 4.0, razvijen pod utjecajem Googleovih tehnologija ključ za matice и F1. TiDB pripada kategoriji hibridnih HTAP (Hybrid Transactional/Analytical Processing) sustava, sposobnih i za pružanje transakcija u stvarnom vremenu (OLTP) i za obradu analitičkih upita. Projekt je napisan u Go and distribuira licenciran pod Apache 2.0.
Značajke TiDB-a:
SQL podrška i pružanje klijentskog sučelja kompatibilnog s MySQL protokolom, što pojednostavljuje prilagodbu postojećih aplikacija napisanih za MySQL u TiDB, a također omogućuje korištenje uobičajenih klijentskih biblioteka. Uz MySQL protokol, možete koristiti API temeljen na JSON-u i konektor za Spark za pristup DBMS-u.
Značajke SQL-a podržavaju indekse, agregatne funkcije, GROUP BY, ORDER BY, DISTINCT izraze, spajanja (LEFT JOIN / RIGHT JOIN / CROSS JOIN), poglede, funkcije prozora i podupiti. Pružene mogućnosti dovoljne su za organizaciju rada s TiDB-om za takve web aplikacije kao što su PhpMyAdmin, GOGS i WordPress;
Horizontalna skalabilnost i otpornost na pogreške: veličina pohrane i procesorska snaga mogu se povećati jednostavnim povezivanjem novih čvorova. Podaci se distribuiraju preko čvorova s redundancijom, što omogućuje nastavak rada ako pojedinačni čvorovi zakažu. Kvarovi se rješavaju automatski.
Sustav jamči konzistentnost i za klijentski softver izgleda kao jedan veliki DBMS, unatoč činjenici da se zapravo podaci iz mnogih čvorova privlače za dovršetak transakcije.
Za fizičko pohranjivanje podataka na čvorovima mogu se koristiti različiti backendovi, na primjer, lokalni strojevi za pohranu GoLevelDB i BoltDB ili naši vlastiti distribuirani strojevi za pohranu TiKV i TiFlash. TiKV pohranjuje podatke u nizovima u formatu ključ/vrijednost i optimalniji je za zadatke obrade transakcija (OLTP). TiFlash pohranjuje podatke na stupčasti način i omogućuje vam postizanje većih performansi pri rješavanju analitičkih problema (OLAP).
Sposobnost asinkrone promjene sheme pohrane, što vam omogućuje dodavanje stupaca i indeksa u hodu bez zaustavljanja obrade tekućih operacija.
U novom izdanju:
Prema zadanim postavkama omogućen je distribuirani skupljač smeća Green GC, koji može značajno povećati brzinu skupljanja smeća u velikim klasterima i poboljšati stabilnost;
Dodana podrška za velike transakcije, čija je veličina ograničena gotovo veličinom fizičke memorije. Ograničenje veličine za jednu transakciju povećano je sa 100 MB na 10 GB;
Dodana podrška za naredbe BACKUP i RESTORE za sigurnosno kopiranje;
Dodana mogućnost postavljanja brava na tablice;
Dodan mehanizam za izolaciju transakcije na razini čitanja kompatibilan s MySQL (READ COMMITTED);
Dodana podrška za izraze LIKE i WHERE naredbi “ADMIN PRIKAŽI DDL POSLOVE”;
Dodan je parametar oom-use-tmp-storage, koji vam omogućuje korištenje privremenih datoteka za predmemoriju međurezultata kada nema dovoljno RAM-a;
Dodana je ključna riječ Random za dodjeljivanje nasumičnih vrijednosti atributima;
Naredba LOAD DATA sada ima mogućnost korištenja heksadecimalnih i binarnih izraza;
Dodano je 15 parametara za kontrolu ponašanja optimizatora;
Dodani alati za dijagnosticiranje izvedbe SQL upita. Dodan zapisnik sporih upita, dostupan kroz sistemske tablice SLOW_QUERY / CLUSTER_SLOW_QUERY;
Dodana podrška za funkcije za rad sa sekvencama;
Dodana mogućnost dinamičke promjene konfiguracijskih parametara očitanih iz PD-a (Placement Driver, poslužitelj za upravljanje klasterom). Dodana je mogućnost korištenja izraza “SET CONFIG” za promjenu postavki PD/TiKV čvorova.
Dodana postavka max-server-connections za ograničavanje maksimalnog broja istodobnih veza s poslužiteljem (zadano 4096);
Poboljšana izvedba u situacijama kada su traženi stupci potpuno pokriveni indeksima;
Dodana optimizacija upita na temelju spajanja indeksa;
Poboljšana izvedba operacija s rasponima vrijednosti;
Smanjeno opterećenje CPU-a predmemoriranjem rezultata pristupa indeksima i filtriranjem duplikata;
Dodana podrška za novi format pohrane redaka koji vam omogućuje povećanje performansi tablica s velikim brojem stupaca;
Funkcija GROUP_CONCAT sada podržava izraz "ORDER BY";
Dodana mogućnost izdvajanja podataka iz TiFlash dnevnika putem SQL-a;
Naredba RECOVER TABLE sada podržava vraćanje skraćenih tablica;
Dodana DDLJobs sistemska tablica za upit pojedinosti o izvršenju DDL posla;
Dodana mogućnost korištenja naredbe SHOW CONFIG za prikaz PD i TiKV postavki;
Uključen predmemorija koprocesora prema zadanim postavkama;
Broj korutina (goroutines) u fazi ponovnog pokušaja urezivanja sada se može kontrolirati pomoću postavke istovremenosti izvršavanja;
Dodana je mogućnost prikaza particijskih regija tablice;
Mogućnost ograničavanja veličine privremene pohrane dodana je na tidb-poslužitelj;
Dodana podrška za operacije “umetni u tbl_name particiju(partition_name_list)” i “zamijeni u tbl_name particiju(partition_name_list)”;
U hash koji se koristi za particioniranje, dodana je podrška za filtriranje na temelju atributa "is null";
Za particionirane tablice dodana je podrška za operacije provjere indeksa, čišćenja i popravka.