jaotatud andmebaasi väljaanne , mille arendamisel on saanud inspiratsiooni Google'i tehnoloogiatest ja . TiDB kuulub hübriidsüsteemide HTAP (Hübriidne Tehingu/Analüütiline Töötlemine) kategooriasse, mis suudavad nii tagada reaalaja tehingute täitmist (OLTP) kui ka analüütiliste päringute töötlemist. Projekt on kirjutatud Go keeles ja lisensiga Apache 2.0.
TiDB omadused:
- SQL-i tugi ja kliendiliidese pakkumine, mis on ühilduv MySQL protokolliga, mis lihtsustab TiDB-s olemasolevate MySQL-ile kirjutatud rakenduste kohandamist ning võimaldab kasutada levinud klienditeeke. Lisaks MySQL protokollile saab andmebaasi juurde pääseda ka JSON-põhise API ja Spark konnektori abil.
- SQL võimalustest on toetatud indeksid, agregaadifunktsioonid, GROUP BY, ORDER BY, DISTINCT, liidud (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vaated, aknafunktsioonid ja alamküsitlused. Pakutavad võimalused on piisavad TiDB kasutamiseks veebirakendustes nagu PhpMyAdmin, ja WordPress;
- Horisontaalse skaleeritavuse ja tõrkevaba töökindluse võimalus: salvestusruumi ja arvutusvõimet saab suurendada lihtsalt uute sõlmede lisamisega. Andmed jaotatakse sõlmede vahel üleliigsuse põhimõttel, mis võimaldab süsteemil jätkata tööd üksikute sõlmede rikke korral. Rikete käsitlemine toimub automaatselt.
- Süsteem garanteerib järjepidevuse ning klienditarkvara jaoks näeb see välja nagu üks suur andmebaas, hoolimata sellest, et tehingu tegemiseks kaasatakse andmed paljusid sõlmi.
- Andmete füüsiliseks salvestamiseks sõlmedes võivad kasutada erinevaid backend'e, näiteks kohalikud GoLevelDB ja BoltDB salvestusmootorid või oma jaotatud salvestuse mootoreid ja TiFlash. TiKV salvestab andmeid ridade lõikes võtme/väärtuse formaadis ja on optimeeritum tehingutöötluse (OLTP) ülesannete jaoks. TiFlash salvestab andmeid veergude põhjal ja võimaldab saavutada suuremat jõudlust analüütiliste ülesannete (OLAP) lahendamisel.
- Schema salvestamise asünkroonse muutmise võimalus, mis võimaldab lisada veerge ja indekseid reaalajas ilma praeguste toimingute täitmist peatamata.
Uues väljaandes:
- Vaikimisi on sisse lülitatud jaotatud prügikoristaja Green GC, mis oluliselt kiirendab prügikoristust suurtes klastrites ja suurendab töö stabiilsust;
- Lisatud on suurte tehingute tugi, mille suurus on praktiliselt piiratud füüsilise mälu suurusega. Ühe tehingu suuruse piirang on suurendatud 100 MB-lt 10 GB-le;
- Lisatud on BACKUP ja RESTORE käskude tugi varundamiseks;
- Lisatud on võimalus seada lukustus tabelitele;
- Lisatud on MySQL-i ühilduv lugemise tasandi (READ COMMITTED) tehingute isoleerimise mehanism;
- Käsku «ADMIN SHOW DDL JOBS» on lisatud LIKE ja WHERE väljendite tugi;
- Lisatud on parameeter oom-use-tmp-storage, mis võimaldab kasutada ajutisi faile vahetoodete vahemäluks, kui mälust on puudu;
- Lisatud on võtmesõna Random, et määrata juhuslikud väärtused atribuutidele;
- LOAD DATA käsus on nüüd võimalik kasutada kuuekohalisi ja binaarseid väljendeid;
- Lisatud on 15 parameetrit optimeerija käitumise juhtimiseks;
- SQL-päringute jõudluse diagnostikaks on lisatud vahendid. Lisatud on aeglaste päringute logi, mis on saadaval süsteemitabelites SLOW_QUERY / CLUSTER_SLOW_QUERY;
- Lisatud on funktsioonide tugi järjestuste töötlemiseks;
- Lisatud on võimalus dünaamiliselt muuta konfiguratsiooni parameetreid, mida loetakse PD-st (Placement Driver, klastrihaldusserver). Lisatud on võimalus kasutada väljendit «SET CONFIG» PD / TiKV sõlmede seade muutmiseks.
- Lisatud on seade max-server-connections maksimaalse samal ajal avatud ühenduste arvu piiramiseks serverile (vaikimisi 4096);
- Jõudlust on suurendatud olukordades, kus taotletud veerud on täielikult kaetud indeksitega;
- Lisatud on indeksite ühendamise alusel päringute optimeerimine;
- Jõudlust on suurendatud väärtuste vahemike operatsioonide puhul;
- CPU koormust on vähendatud indeksite tulemuslikkuse ja duplikaatide filtreerimise kaudu;
- Lisatud on uue rea salvestamise formaadi tugi, mis suurendab jõudlust tabelites, kus on palju veerge;
- GROUP_CONCAT funktsioonis on lisatud «ORDER BY» väljendi tugi;
- On lisatud võimalus andmete väljavõtmiseks TiFlash logi kaudu SQL-i abil;
- Meeskondas "RECOVER TABLE" on sisse viidud toega kustutatud tabelite taastamiseks;
- Lisatud süsteemi tabel DDLJobs, et küsida DDL-tööde täitmise üksikasju;
- Lisatud võimalus rakendada käsku SHOW CONFIG, et näidata PD ja TiKV seadistusi;
- vaikimisi kopeerimise cache;
- Süsteemipartsionide (goroutine) arvu uuesti proovimise faasis saab nüüd kontrollida seadega committer-concurrency;
- Lisatud võimalus kuvada tabeli osade piirkondi (table partition);
- Tidb-serverisse on lisatud võimalus piiritleda ajutise salvestuse suurust;
- Lisatud toetus toimingutele "insert into tbl_name partition(partition_name_list)" ja "replace into tbl_name partition(partition_name_list)";
- Kasutatavale sektsioonide (partitions) jaoks mõeldud hashile on lisatud "is null" tunnuse järgi filtreerimise tugi;
- Sektsioonide tabelitele on lisatud toetus indeksite kontrollimise, puhastamise ja taastamise toimingutele.
Allikas: opennet.ru
