K dispozícii vydanie distribuovaného DBMS TiDB 4.0, vyvinuté pod vplyvom technológií Google kľúč и F1. TiDB patrí do kategórie hybridných systémov HTAP (Hybrid Transactional/Analytical Processing), ktoré sú schopné poskytovať transakcie v reálnom čase (OLTP) a spracovávať analytické dotazy. Projekt je napísaný v Go and distribuovaný licencovaný pod Apache 2.0.
Vlastnosti TiDB:
Podpora SQL a poskytovanie klientskeho rozhrania kompatibilného s protokolom MySQL, čo zjednodušuje prispôsobenie existujúcich aplikácií napísaných pre MySQL na TiDB a zároveň umožňuje používanie bežných klientskych knižníc. Okrem protokolu MySQL môžete na prístup k DBMS použiť rozhranie API založené na JSON a konektor pre Spark.
Funkcie SQL podporujú indexy, agregačné funkcie, GROUP BY, ORDER BY, DISTINCT výrazy, zlúčenie (LEFT JOIN / RIGHT JOIN / CROSS JOIN), zobrazenia, funkcie okien a poddotazy. Poskytnuté možnosti sú dostatočné na organizáciu práce s TiDB pre webové aplikácie ako PhpMyAdmin, Gogs a WordPress;
Horizontálna škálovateľnosť a odolnosť voči chybám: veľkosť úložiska a výkon spracovania možno zvýšiť jednoduchým pripojením nových uzlov. Údaje sú distribuované medzi uzlami s redundanciou, čo umožňuje pokračovanie prevádzky v prípade zlyhania jednotlivých uzlov. Poruchy sa riešia automaticky.
Systém zaručuje konzistenciu a pre klientsky softvér vyzerá ako jeden veľký DBMS, napriek tomu, že v skutočnosti sú na dokončenie transakcie priťahované dáta z mnohých uzlov.
Na fyzické ukladanie údajov na uzloch je možné použiť rôzne backendy, napríklad miestne úložiská GoLevelDB a BoltDB alebo naše vlastné distribuované úložiská TiKV a TiFlash. TiKV ukladá dáta v reťazcoch vo formáte kľúč/hodnota a je optimálnejší pre úlohy spracovania transakcií (OLTP). TiFlash ukladá údaje stĺpcovým spôsobom a umožňuje vám dosiahnuť vyšší výkon pri riešení analytických problémov (OLAP).
Schopnosť asynchrónne meniť schému úložiska, čo vám umožňuje pridávať stĺpce a indexy za behu bez zastavenia spracovania prebiehajúcich operácií.
V novom vydaní:
V predvolenom nastavení je povolený distribuovaný zberač odpadu Green GC, ktorý môže výrazne zvýšiť rýchlosť zberu odpadu vo veľkých klastroch a zlepšiť stabilitu;
Pridaná podpora veľkých transakcií, ktorých veľkosť je obmedzená takmer veľkosťou fyzickej pamäte. Limit veľkosti pre jednu transakciu sa zvýšil zo 100 MB na 10 GB;
Pridaná podpora príkazov BACKUP a RESTORE pre zálohovanie;
Pridaná možnosť nastaviť zámky na stoloch;
Pridaný mechanizmus izolácie transakcií na úrovni čítania kompatibilný s MySQL (READ COMMITTED);
Pridaná podpora pre výrazy LIKE a WHERE do príkazu „ADMIN SHOW DDL JOBS“;
Pridaný parameter oom-use-tmp-storage, ktorý vám umožňuje použiť dočasné súbory na ukladanie medzivýsledkov v prípade nedostatku pamäte RAM;
Pridané kľúčové slovo Random na priradenie náhodných hodnôt atribútom;
Príkaz LOAD DATA má teraz možnosť používať hexadecimálne a binárne výrazy;
Pridaných 15 parametrov na ovládanie správania optimalizátora;
Pridané nástroje na diagnostiku výkonu SQL dotazov. Pridaný protokol pomalých dopytov, prístupný cez systémové tabuľky SLOW_QUERY / CLUSTER_SLOW_QUERY;
Pridaná podpora funkcií pre prácu so sekvenciami;
Pridaná možnosť dynamicky meniť konfiguračné parametre načítané z PD (Placement Driver, server správy klastra). Pridaná možnosť použiť výraz „SET CONFIG“ na zmenu nastavení uzlov PD/TiKV.
Pridané nastavenie max-server-connections na obmedzenie maximálneho počtu súčasných pripojení k serveru (predvolené 4096);
Vylepšený výkon v situáciách, keď sú požadované stĺpce úplne pokryté indexmi;
Pridaná optimalizácia dotazov založená na zlučovaní indexov;
Zlepšený výkon operácií s rozsahmi hodnôt;
Znížené zaťaženie procesora ukladaním výsledkov prístupu k indexom do vyrovnávacej pamäte a odfiltrovaním duplikátov;
Pridaná podpora pre nový formát ukladania riadkov, ktorý umožňuje zvýšiť výkon tabuliek s veľkým počtom stĺpcov;
Funkcia GROUP_CONCAT teraz podporuje výraz "ORDER BY";
Pridaná možnosť extrahovať údaje z denníka TiFlash cez SQL;
Príkaz RECOVER TABLE teraz podporuje obnovu skrátených tabuliek;
Pridaná systémová tabuľka DDLJobs na dopytovanie podrobností o vykonávaní úloh DDL;
Pridaná možnosť použiť príkaz SHOW CONFIG na zobrazenie nastavení PD a TiKV;