Dostupno izdanje distribuiranog DBMS-a TiDB 4.0, razvijena pod uticajem Google tehnologija Spanner и F1. TiDB spada u kategoriju hibridnih HTAP (Hybrid Transactional/Analytical Processing) sistema, sposobnih da obezbede transakcije u realnom vremenu (OLTP) i obradu analitičkih upita. Projekat je napisan na Go and distribuira licenciran pod Apache 2.0.
Karakteristike TiDB-a:
SQL podrška i obezbeđivanje klijentskog interfejsa kompatibilnog sa MySQL protokolom, što pojednostavljuje prilagođavanje postojećih aplikacija napisanih za MySQL na TiDB, a takođe omogućava korišćenje zajedničkih klijentskih biblioteka. Pored MySQL protokola, možete koristiti JSON baziran API i konektor za Spark za pristup DBMS-u.
SQL karakteristike podržavaju indekse, agregatne funkcije, izraze GROUP BY, ORDER BY, DISTINCT, spajanja (LEFT JOIN / RIGHT JOIN / CROSS JOIN), poglede, funkcije prozora i podupite. Obezbeđene mogućnosti su dovoljne za organizovanje rada sa TiDB za web aplikacije kao što su PhpMyAdmin, naočare i WordPress;
Horizontalna skalabilnost i tolerancija grešaka: veličina skladišta i procesorska snaga mogu se povećati jednostavnim povezivanjem novih čvorova. Podaci se distribuiraju preko čvorova sa redundantnošću, omogućavajući nastavak operacije ako pojedini čvorovi ne uspiju. Greške se obrađuju automatski.
Sistem garantuje konzistentnost i za klijentski softver izgleda kao jedan veliki DBMS, uprkos činjenici da se u stvari podaci iz mnogih čvorova privlače za završ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 pogoni za pohranu TiKV i TiFlash. TiKV pohranjuje podatke u nizove u formatu ključ/vrijednost i optimalniji je za zadatke obrade transakcija (OLTP). TiFlash pohranjuje podatke na kolonaran način i omogućava vam postizanje većih performansi pri rješavanju analitičkih problema (OLAP).
Mogućnost asinhrone promjene šeme skladištenja, omogućavajući vam da dodajete stupce i indekse u hodu bez zaustavljanja obrade tekućih operacija.
U novom izdanju:
Podrazumevano je omogućen distribuirani sakupljač smeća Green GC, koji može značajno povećati brzinu sakupljanja smeća u velikim klasterima i poboljšati stabilnost;
Dodata podrška za velike transakcije, čija je veličina ograničena gotovo veličinom fizičke memorije. Ograničenje veličine za jednu transakciju je povećano sa 100 MB na 10 GB;
Dodata podrška za BACKUP i RESTORE komande za backup;
Dodata mogućnost postavljanja brava na stolove;
Dodan MySQL-kompatibilan mehanizam izolacije transakcija na nivou čitanja (READ COMMITTED);
Dodata podrška za LIKE i WHERE izraze naredbi “ADMIN SHOW DDL JOBS”;
Dodan parametar oom-use-tmp-storage, koji vam omogućava da koristite privremene datoteke za keširanje međurezultata kada nema dovoljno RAM-a;
Dodata ključna riječ Random za dodjelu nasumičnih vrijednosti atributima;
Naredba LOAD DATA sada ima mogućnost korištenja heksadecimalnih i binarnih izraza;
Dodato 15 parametara za kontrolu ponašanja optimizatora;
Dodati alati za dijagnosticiranje performansi SQL upita. Dodan dnevnik sporih upita, dostupan kroz SLOW_QUERY / CLUSTER_SLOW_QUERY sistemske tabele;
Dodata podrška za funkcije za rad sa sekvencama;
Dodata mogućnost dinamičke promjene konfiguracijskih parametara pročitanih iz PD (Placement Driver, server za upravljanje klasterom). Dodata mogućnost korištenja izraza “SET CONFIG” za promjenu postavki PD/TiKV čvorova.
Dodata postavka max-server-connections za ograničavanje maksimalnog broja istovremenih veza sa serverom (podrazumevano 4096);
Poboljšane performanse u situacijama kada su tražene kolone u potpunosti pokrivene indeksima;
Dodata optimizacija upita zasnovana na spajanju indeksa;
Poboljšane performanse operacija s rasponima vrijednosti;
Smanjeno opterećenje CPU-a keširanjem rezultata pristupa indeksima i filtriranjem duplikata;
Dodata podrška za novi format skladištenja reda koji vam omogućava da povećate performanse tabela sa velikim brojem kolona;
Funkcija GROUP_CONCAT sada podržava izraz "ORDER BY";
Dodata mogućnost izdvajanja podataka iz TiFlash dnevnika putem SQL-a;
Komanda RECOVER TABLE sada podržava vraćanje skraćenih tabela;
Dodata DDLJobs sistemska tabela za upite detalja o izvršavanju DDL posla;
Dodata mogućnost korištenja naredbe SHOW CONFIG za prikaz PD i TiKV postavki;