hajutatud andmebaasi väljaanne , mis on arendatud Google'i tehnoloogiatest inspireerituna ja . TiDB kuulub hübriidsüsteemide HTAP (Hybrid Transactional/Analytical Processing) kategooriasse, mis suudab toetada nii reaalajas tehingute (OLTP) täitmist kui ka analüütiliste päringute töötlemist. Projekt on kirjutatud keeles Go ja ainekood on litsentsitud Apache 2.0 all.
TiDB omadused:
- SQL-i toetamist ja MySQL-protokolliga ühilduva kliendiliidese pakkumist, mis lihtsustab TiDB-le olemasolevate MySQL-i jaoks kirjutatud rakenduste kohandamist ning võimaldab kasutada levinud klienditeeke. Lisaks MySQL-protokollile saab andmebaasi pöördumiseks kasutada JSON-põhist API-t ja Spark'i ühendust.
- SQL-i võimalustest toetatakse indekse, agregaatfunktsioone, GROUP BY, ORDER BY, DISTINCT väljendeid, liitumisi (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vaateid, aknafunktsioone ja alam-päringuid. Pakutavad võimalused on piisavad TiDB-ga töötamise korraldamiseks sellistes veebirakendustes nagu PhpMyAdmin, ja WordPress;
- Horisontaalse skaleeritavuse ja tõrke taluvuse võimalus: salvestusruumi ja arvutusvõimsust saab lihtsa uute sõlmede ühendamisega suurendada. Andmed jaotatakse sõlmede vahel üleliigsusega, mis võimaldab jätkata tööd üksikute sõlmede rikke korral. Rikete töötlemine toimub automaatselt.
- Süsteem tagab järjepidevuse ja klientprogrammi jaoks näib see olevat üks suur andmebaas, hoolimata sellest, et tehingute täitmiseks kasutatakse andmeid paljusid sõlmi.
- Füüsiliste andmete salvestamiseks sõlmedes võivad kasutada erinevad tagused, näiteks kohalikud salvestusmootorid GoLevelDB ja BoltDB või enda poolt loodud jaotatud salvestusmootorid ja TiFlash. TiKV salvestab andmeid ridade lõikes võtme/väärtuse formaadis ja on optimaalsem tehingutöötluse (OLTP) ülesannete jaoks. TiFlash salvestab andmeid veergude kaupa ning võimaldab saavutada kõrgemat jõudlust analüüsitööde (OLAP) lahendamisel.
- Asünkroonse salvestusstruktuuri muundamise võimalus, mis võimaldab jooksvalt lisada veerge ja indekseid, peatamata käimasolevaid toimingute töötlemisi.
Uues väljaandes:
- Vaikimisi on sisse lülitatud jaotatud prügikoristaja Green GC, mis võimaldab oluliselt suurendada prügikoristuse kiirus suurtel klastritel ja parandada töö stabiilsust;
- Lisatud tugi suurtele tehingutele, mille suurust piirab praktiliselt füüsilise mälu maht. Ühe tehingu suuruse piirangut on suurendatud 100 MB-lt 10 GB-le;
- Lisatud tugi BACKUP ja RESTORE käskudele varukoopiate tegemiseks;
- Lisatud võimalus seada lukustusi tabelitele;
- Lisatud MySQL ühilduv tehingute isoleerimise mehhanism lugemise tasemel (READ COMMITTED);
- Käsku 'ADMIN SHOW DDL JOBS' on lisatud toetus LIKE ja WHERE väljenditele;
- Lisatud parameeter oom-use-tmp-storage, mis võimaldab kasutada ajutisi faile vahepealsete tulemuste vahemällu salvestamiseks, kui mälumaht on madal;
- Lisatud märksõna Random, et anda atribuute juhuslike väärtuste määramiseks;
- LOAD DATA käsklustes on nüüd võimalik kasutada kuueteistkümnendikke ja binaarseid väljendeid;
- Lisatud 15 parameetrit optimeerija käitumise haldamiseks;
- Lisatud SQL-päringute jõudluse diagnoosimise vahendid. Lisatud aeglaste päringute logi, mis on saadaval süsteemitabelite SLOW_QUERY / CLUSTER_SLOW_QUERY kaudu;
- Lisatud funktsioonide tugi järjestuste haldamiseks;
- Lisatud võimalus dünaamiliselt muuta konfiguratsiooni parameetreid, mis loetakse PD-st (Placement Driver, klastrihalduri server). Lisatud võimalus kasutada väljendit „SET CONFIG” sõlmede PD/TiKV seadete muutmiseks.
- Lisatud seade max-server-connections maksimaalse samaaegsete ühenduste arvu piiramiseks serverisse (vaikimisi 4096);
- Suurenenud jõudlus olukordades, kus taotletavad veerud on täielikult kaetud indeksitega;
- Lisatud päringute optimeerimine indeksi ühinemise põhjal;
- Tõhustatud väärtuste vahemike operatsioonide jõudlust;
- CPU koormust vähendatud indekseedega seotud päringute tulemuste vahemälu ja duplikaatide filtreerimise abil;
- Lisatud uus stringi salvestamise formaadi tugi, mis võimaldab suurendada tabelite jõudlust, kus on palju veerge;
- Funktsioonis GROUP_CONCAT on nüüd toode väljend «ORDER BY»;
- Lisatud võimalus hankida andmeid TiFlashi logidest SQL-i kaudu;
- Käskluses «RECOVER TABLE» on nüüd toode katkestatud tabelite taastamise tugi;
- Lisatud süsteemitabel DDLJobs DDL tööde täitmise detailide pärimiseks;
- Lisatud käsk SHOW CONFIG PD ja TiKV seadete kuvamiseks;
- vaikimisi kooperatiivse protsessori vahemälu;
- Süsmustööd (goroutine) uuesti pühendumise faasis saab nüüd juhtida seadistusega committer-concurrency;
- Lisatud võimalus kuvada tabeli jaotiste piirkondi (table partition);
- Tidb-serveris on lisatud võimalus piirata ajutise mälu suurust;
- Lisatud tugi toimingutele „insert into tbl_name partition(partition_name_list)“ ja „replace into tbl_name partition(partition_name_list)“;
- Sektsioneerimiseks kasutatavas hashes on lisatud tugi filtreerimiseks märgi „is null“ järgi;
- Sektsioneeritud tabelite jaoks on lisatud tugi indeksite kontrolleerimiseks, puhastamiseks ja taastamiseks.
Allikas: opennet.ru
