Elérhető elosztott DBMS kiadás TiDB4.0a Google technológiáinak hatására alakult ki Csavarkulcs и F1. A TiDB a hibrid HTAP (Hybrid Transaction/Analytical Processing) rendszerek kategóriájába tartozik, amelyek egyaránt képesek valós idejű tranzakciók (OLTP) biztosítására és analitikai lekérdezések feldolgozására. A projekt Go and nyelven íródott forgalmazza Apache 2.0 licenc alatt.
A TiDB jellemzői:
Az SQL támogatása és a MySQL protokollal kompatibilis kliens interfész biztosítása, amely megkönnyíti a meglévő MySQL-re írt alkalmazások TiDB-hez való adaptálását, és lehetővé teszi az általános ügyfélkönyvtárak használatát is. A MySQL-protokoll mellett a JSON-alapú API-t és a Spark-összekötőt is használhatja a DBMS-hez való hozzáféréshez.
Az SQL szolgáltatásai közül az indexek, az összesítő függvények, a GROUP BY, ORDER BY, DISTINCT kifejezések, egyesítések (LEFT JOIN / RIGHT JOIN / CROSS JOIN), nézetek, ablakfüggvények és részlekérdezések támogatottak. A biztosított lehetőségek elegendőek az olyan webes alkalmazások TiDB-vel való munkájának megszervezéséhez, mint a PhpMyAdmin, Gogs és WordPress;
Kibővítés és rugalmasság: A tárolási és feldolgozási teljesítmény egyszerűen növelhető új csomópontok hozzáadásával. Az adatok redundanciával vannak elosztva a csomópontok között, hogy a műveletek folytatódhassanak, ha az egyes csomópontok meghibásodnak. A hibákat a rendszer automatikusan kezeli.
A rendszer garantálja a konzisztenciát, és úgy néz ki, mint egy nagy DBMS a kliensszoftver számára, annak ellenére, hogy valójában sok csomópont adatait használják fel a tranzakció befejezéséhez.
Az adatok fizikai tárolására a csomópontokon különböző háttérrendszerek használhatók, például a GoLevelDB és BoltDB helyi tárolómotorok vagy saját elosztott tárolómotorjaink. TiKV és TiFlash. A TiKV karakterláncokban tárolja az adatokat kulcs/érték formátumban, és optimálisabb a tranzakciófeldolgozási feladatokhoz (OLTP). A TiFlash oszlopos módon tárolja az adatokat, és nagyobb teljesítményt tesz lehetővé az analitikai problémák (OLAP) megoldása során.
A tárolási séma aszinkron megváltoztatásának képessége, lehetővé téve az oszlopok és indexek menet közbeni hozzáadását anélkül, hogy leállítaná a folyamatban lévő műveletek feldolgozását.
Az új kiadásban:
Alapértelmezés szerint az elosztott szemétgyűjtő Green GC engedélyezve van, ami jelentősen megnövelheti a szemétgyűjtés sebességét nagy klaszterekben és javítja a stabilitást;
Hozzáadott támogatás a nagy tranzakciókhoz, amelyek méretét szinte a fizikai memória mérete korlátozza. Az egyetlen tranzakció méretkorlátja 100 MB-ról 10 GB-ra nőtt;
Hozzáadott támogatás a BACKUP és RESTORE parancsokhoz a biztonsági mentéshez;
Hozzáadtuk az asztalok zárak beállításának lehetőségét;
Hozzáadott MySQL-kompatibilis olvasási szintű tranzakció elkülönítési mechanizmus (READ COMMITTED);
A LIKE és WHERE kifejezések támogatása hozzáadva az „ADMIN SHOW DDL JOBS” parancshoz;
Hozzáadtuk az oom-use-tmp-storage paramétert, amely lehetővé teszi ideiglenes fájlok használatát a közbenső eredmények gyorsítótárazására, ha nincs elegendő RAM;
Hozzáadtuk a Random kulcsszót, hogy véletlenszerű értékeket rendeljünk az attribútumokhoz;
Az ADATOK BETÖLTÉSE parancs most már képes hexadecimális és bináris kifejezéseket használni;
15 paraméter hozzáadva az optimalizáló viselkedésének szabályozásához;
Hozzáadott eszközök az SQL-lekérdezések teljesítményének diagnosztizálásához. A lassú lekérdezések naplója hozzáadva, amely a SLOW_QUERY / CLUSTER_SLOW_QUERY rendszertáblákon keresztül érhető el;
Hozzáadott támogatás a sorozatokkal való munkavégzéshez;
A PD-ből (Placement Driver, fürtkezelő szerver) beolvasott konfigurációs paraméterek dinamikus megváltoztatásának lehetősége hozzáadva. Hozzáadtuk a „SET CONFIG” kifejezés használatának lehetőségét a PD/TiKV csomópontok beállításainak módosításához.
Hozzáadott max-server-connections beállítás, amely korlátozza a szerverhez fűződő egyidejű kapcsolatok maximális számát (alapértelmezett 4096);
Jobb teljesítmény olyan helyzetekben, amikor a kért oszlopokat teljesen lefedik indexek;
Indexegyesítésen alapuló lekérdezésoptimalizálás hozzáadva;
Értéktartományokkal végzett műveletek jobb teljesítménye;
Csökkentett CPU-terhelés az indexekhez való hozzáférés eredményeinek gyorsítótárazásával és a duplikációk kiszűrésével;
Új sortárolási formátum támogatása, amely lehetővé teszi a nagyszámú oszlopot tartalmazó táblázatok teljesítményének növelését;
A GROUP_CONCAT függvény mostantól támogatja az "ORDER BY" kifejezést;
Hozzáadtuk a TiFlash naplóból való adatok SQL-en keresztüli kinyerésének lehetőségét;
A RECOVER TABLE parancs mostantól támogatja a csonka táblák visszaállítását;
DDLJobs rendszertábla hozzáadva a DDL-feladat végrehajtásával kapcsolatos részletek lekérdezéséhez;
Hozzáadtuk a SHOW CONFIG parancs használatának lehetőségét a PD és a TiKV beállítások megjelenítéséhez;
Bekapcsolva alapértelmezés szerint társprocesszor gyorsítótár;
A véglegesítés újrapróbálkozási fázisában lévő korutinok (gorutinok) száma mostantól szabályozható a committer-concurrency beállítással;
Hozzáadtuk a tábla partíciós régióinak megjelenítési képességét;
A tidb-serverhez hozzáadták az ideiglenes tárhely méretének korlátozásának lehetőségét;
Támogatás hozzáadva az „insert into tbl_name partition(partition_name_list)” és „replace to tbl_name partition(partition_name_list)” műveletekhez;
A particionáláshoz használt hashben az „is null” attribútumon alapuló szűrés támogatása került be;
A particionált táblák esetében az indexellenőrzési, -tisztítási és -javítási műveletek támogatása hozzáadásra került.