frijlitting fan in ferspraat DBMS , ûntwikkele ûnder de ynfloed fan Google-technologyen и . TiDB heart ta de kategory fan hybride HTAP (Hybrid Transactional/Analytical Processing) systemen, by steat om sawol real-time transaksjes (OLTP) te leverjen as analytyske fragen te ferwurkjen. It projekt is skreaun yn Go en lisinsje ûnder Apache 2.0.
Funksjes fan TiDB:
- SQL-stipe en it oanbieden fan in client-ynterface kompatibel mei it MySQL-protokol, wat de oanpassing fan besteande applikaasjes skreaun foar MySQL nei TiDB simplifies, en ek it brûken fan mienskiplike kliïntbiblioteken mooglik makket. Neist it MySQL-protokol kinne jo in JSON-basearre API en in ferbining brûke foar Spark om tagong te krijen ta de DBMS.
- SQL-funksjes stypje yndeksen, aggregate funksjes, GROUP BY, ORDER BY, DISTINCT-útdrukkingen, gearfoegings (LEFT JOIN / RIGHT JOIN / CROSS JOIN), werjeften, finsterfunksjes en subqueries. De levere mooglikheden binne genôch om wurk mei TiDB te organisearjen foar sokke webapplikaasjes as PhpMyAdmin, и WordPress;
- Horizontale skalberens en fouttolerânsje: opslachgrutte en ferwurkingskrêft kinne wurde ferhege troch gewoan nije knopen te ferbinen. Gegevens wurde ferdield oer knooppunten mei redundans, wêrtroch operaasje kin trochgean as yndividuele knooppunten mislearje. Mislearrings wurde automatysk behannele.
- It systeem garandearret konsistinsje en foar de kliïntsoftware liket it op ien grutte DBMS, nettsjinsteande it feit dat feitlik gegevens fan in protte knooppunten oanlutsen wurde om de transaksje te foltôgjen.
- Om fysyk gegevens op knooppunten op te slaan, kinne ferskate backends brûkt wurde, bygelyks lokale opslachmotoren GoLevelDB en BoltDB of ús eigen ferdielde opslachmotoren en TiFlash. TiKV bewarret gegevens yn snaren yn kaai / wearde opmaak en is mear optimaal foar transaksje ferwurkjen taken (OLTP). TiFlash bewarret gegevens yn kolommen en lit jo hegere prestaasjes berikke by it oplossen fan analytyske problemen (OLAP).
- De mooglikheid om it opslachskema asynchronysk te feroarjen, wêrtroch jo kolommen en yndeksen op 'e flecht kinne tafoegje sûnder de ferwurking fan trochgeande operaasjes te stopjen.
Yn de nije release:
- Standert is de ferspraat garbage samler Green GC ynskeakele, dat kin gâns fergrutsje de snelheid fan garbage sammeljen yn grutte klusters en ferbetterjen stabiliteit;
- Stipe tafoege foar grutte transaksjes, wêrfan de grutte wurdt hast beheind troch de grutte fan fysyk ûnthâld. De grutte limyt foar ien transaksje is ferhege fan 100 MB nei 10 GB;
- Stipe tafoege foar kommando's BACKUP en RESTORE foar reservekopy;
- Tafoege de mooglikheid om in slot op tabellen;
- Added MySQL-kompatibele transaksje-isolaasjemeganisme foar lêsnivo (READ COMMITTED);
- Stipe tafoege foar LIKE en WHERE útdrukkingen oan it kommando "ADMIN SHOW DDL JOBS";
- De parameter oom-use-tmp-storage tafoege, wêrtroch jo tydlike bestannen kinne brûke om tuskenresultaten te cache as d'r net genôch RAM is;
- It willekeurige kaaiwurd tafoege om willekeurige wearden ta te jaan oan attributen;
- It kommando LOAD DATA hat no de mooglikheid om heksadesimale en binêre útdrukkingen te brûken;
- 15 parameters tafoege om it gedrach fan 'e optimizer te kontrolearjen;
- Tools tafoege foar diagnoaze fan de prestaasjes fan SQL-fragen. In log fan trage queries tafoege, tagonklik fia de SLOW_QUERY / CLUSTER_SLOW_QUERY systeemtabellen;
- Stipe tafoege foar funksjes foar wurkjen mei sekwinsjes;
- Tafoege de mooglikheid om dynamysk feroarje konfiguraasje parameters lêzen fan PD (Placement Driver, kluster behear tsjinner). De mooglikheid tafoege om de "SET CONFIG"-ekspresje te brûken om de ynstellings fan PD / TiKV-knooppunten te feroarjen.
- Tafoege ynstellings foar max-server-ferbiningen om it maksimum oantal simultane ferbiningen mei de tsjinner te beheinen (standert 4096);
- Ferbettere prestaasjes yn situaasjes wêr't de oanfrege kolommen folslein binne bedekt troch yndeksen;
- Added query-optimalisaasje basearre op yndeksfúzje;
- Ferbettere prestaasjes fan operaasjes mei weardeberiken;
- Fermindere CPU-lading troch it cache fan de resultaten fan tagong ta yndeksen en it filterjen fan duplikaten;
- Stipe tafoege foar in nije rige opslachformaat wêrmei jo de prestaasjes fan tabellen kinne ferheegje mei in grut oantal kolommen;
- De GROUP_CONCAT-funksje stipet no de "ORDER BY"-ekspresje;
- De mooglikheid tafoege om gegevens út it TiFlash-log fia SQL te ekstrahearjen;
- It kommando RECOVER TABLE stipet no it herstellen fan ôfkoarte tabellen;
- DDLJobs-systeemtabel tafoege om details oer DDL-taakútfiering te freegjen;
- De mooglikheid tafoege om it kommando SHOW CONFIG te brûken om PD- en TiKV-ynstellingen wer te jaan;
- coprocessor cache standert;
- It oantal coroutines (goroutines) yn 'e opnij faze fan in commit kin no wurde kontrolearre mei de committer-concurrency ynstelling;
- Tafoege de mooglikheid om te werjaan tabel partition regio;
- De mooglikheid om de grutte fan tydlike opslach te beheinen is tafoege oan tidb-tsjinner;
- Stipe tafoege foar de operaasjes "ynfoegje yn tbl_name partition (partition_name_list)" en "ferfange yn tbl_name partition (partition_name_list)";
- Yn de hash brûkt foar partitioning, stipe foar filterjen basearre op it attribút "is null" is tafoege;
- Foar ferdielde tabellen is stipe foar yndekskontrôle, skjinmeitsjen en reparaasjes tafoege.
Boarne: opennet.ru
