lëshimi i databazës së shpërndarë , e zhvilluar nën ndikimin e teknologjive të Google dhe . TiDB i përket kategorisë së sistemeve hibride HTAP (Hybrid Transactional/Analytical Processing), të afta të realizojnë transaksione në kohë reale (OLTP) dhe të kryejnë përpunimin e kërkesave analitike. Projekti është shkruar në gjuhën Go dhe nën licencën Apache 2.0.
Karakteristikat e TiDB:
- Mbështetje për SQL dhe ofrimi i një ndërlidhësi klienti, i cili është kompatibil me protokollin MySQL, duke e bërë më të lehtë adaptimin për TiDB të aplikacioneve ekzistuese të shkruara për MySQL, si dhe duke lejuar përdorimin e bibliotekave të zakonshme të klientëve. Përveç protokollit MySQL, është e mundur të përdoret API bazuar në JSON dhe konektori për Spark për qasjen në databazë.
- Nga mundësitë e SQL mbështeten indekset, funksionet agregate, shprehjet GROUP BY, ORDER BY, DISTINCT, bashkimeve (LEFT JOIN / RIGHT JOIN / CROSS JOIN), pamjeve, funksionet e dritareve dhe nënkërkesat. Mundësitë e ofruara janë të mjaftueshme për të organizuar punën me TiDB në aplikacione web si PhpMyAdmin, dhe WordPress;
- Mundësia për shkallëzim horizontal dhe sigurimin e qëndrueshmërisë: madhësia e magazinës dhe kapaciteti llogaritës mund të zmadhohen me thjesht lidhjen e node-ve të reja. Të dhënat shpërndahen midis node-ve me tepërsi, duke lejuar vazhdimin e punës në rastin e dështimit të node-ve të veçanta. Dështimet përpunohen automatikisht.
- Sistemi garanton besueshmërinë dhe për softuerin e klientit duket si një databazë e madhe, megjithëse në të vërtetë për realizimin e transaksioneve të dhënat tërheqin nga shumë node.
- Për ruajtjen fizike të të dhënave në nyje mund të përdoren backend të ndryshëm, për shembull, motorët lokalë të ruajtjes GoLevelDB dhe BoltDB ose motorët e vetë krijuar të ruajtjes së shpërndarë dhe TiFlash. TiKV ruan të dhënat në përmasën e rreshtave në formatin çelës/vlerë dhe është më optimal për detyrat e përpunimit të transaksioneve (OLTP). TiFlash ruan të dhënat në lidhje me kolona dhe lejon arritjen e performancës më të lartë në zgjidhjen e detyrave analitike (OLAP).
- Mundësia për ndryshimin asinkron të skemës së ruajtjes, duke lejuar shtimin e kolonave dhe indekseve në fluks pa ndaluar përpunimin e operacioneve aktuale.
NĂ« versionin e ri:
- Me default është aktivizuar grumbulluesi i ndarë i mbeturinave Green GC, i cili rrit ndjeshëm shpejtësinë e grumbullimit të mbeturinave në klaster të mëdhenj dhe rrit stabilitetin e funksionimit;
- Shtuar mbështetje për transaksione të mëdha, madhësia e të cilave është e kufizuar praktikisht nga madhësia e memore fizikë. Kufiri i madhësisë së një transaction është rritur nga 100 MB në 10GB;
- Shtuar mbështetje për komandat BACKUP dhe RESTORE për kopje rezervë;
- Shtuar mundësinë e vendosjes së bllokimeve mbi tabela;
- Shtuar një mekanizëm të izolimit të transaksioneve të pajtueshëm me MySQL në nivelin e leximit (READ COMMITTED);
- Në komandën 'ADMIN SHOW DDL JOBS' është shtuar mbështetje për shprehjet LIKE dhe WHERE;
- Shtuar parametri oom-use-tmp-storage, që lejon përdorimin e skedarëve temporarë për ruajtjen e rezultateve përkohësisht në rast të mungesës së memorjes operative;
- Shtuar fjalori Random pĂ«r tâu dhĂ«nĂ« atributeve vlera tĂ« rastĂ«sishme;
- Në komandën LOAD DATA është shtuar mundësia e përdorimit të shprehjeve në gjuhën hekzade dhe binare;
- Shtuar 15 parametra për të menaxhuar sjelljen e optimizuesit;
- Shtuar mjete për diagnostikimin e performancës së pyetjeve SQL. Shtuar regjistri i pyetjeve të ngadalta, i cili është i disponueshëm përmes tabelave sistemike SLOW_QUERY / CLUSTER_SLOW_QUERY;
- Shtuar mbështetje për funksionet për punë me sekuenca;
- Shtuar mundësinë e ndryshimit dinamik të parametrave të konfigurimit, të lexuar nga PD (Placement Driver, serveri i menaxhimit të klasterit). Shtuar mundësinë e përdorimit të shprehjes 'SET CONFIG' për ndryshimin e konfigurimeve të nyjeve PD/TiKV.
- Shtuar konfigurimin max-server-connections për të kufizuar numrin maksimal të lidhjeve të përkohshme me serverin (me default 4096);
- Rritur performancën në situata kur kolonat e kërkuara mbulohen plotësisht nga indekset;
- Shtuar optimizimin e pyetjeve në bazë të bashkimit të indekseve;
- Përmirësuar performancën e operacioneve me grupe vlerash;
- Reduktuar ngarkesa në CPU duke angazhuar memorie për rezultatet e ngarkesave në indekse dhe duke eliminuar dublikimet;
- Shtuar mbështetje për formatin e ri të ruajtjes së vargjeve, duke rritur performancën e tabelave me numër të madh kolonash;
- Funksioni GROUP_CONCAT tani mbështet shprehjen 'ORDER BY';
- Shtuar mundësinë për të nxjerrë të dhëna nga log TiFlash përmes SQL;
- Në komandën 'RECOVER TABLE' është realizuar mbështetje për rikuperimin e tabelave të prera;
- Shtuar tabela sistemike DDLJobs për të kërkuar detajet mbi ekzekutimin e punëve DDL;
- Shtuar mundësinë për të përdorur komandën SHOW CONFIG për të treguar cilësimet PD dhe TiKV;
- me një default për memorie të ndihmës;
- Numri i ko-programeve (goroutine) në fazën e përpjekjeve të ripërsëritura tani mund të kontrollohet përmes cilësimit committer-concurrency;
- Shtuar mundësinë për të shfaqur rajonet e ndarjes së tabelave (table partition);
- Në tidb-server është shtuar mundësia për të kufizuar madhësinë e ruajtjes përkohshme;
- Shtuar mbështetje për operacionet 'insert into tbl_name partition(partition_name_list)' dhe 'replace into tbl_name partition(partition_name_list)';
- Në hashin e përdorur për ndarjen (particionimin) është shtuar mbështetje për filtrimin sipas shenjës 'is null';
- Për tabelat e ndara është shtuar mbështetje për operacionet e verifikimit, pastrimit dhe rikuperimit të indekseve.
Burimi: opennet.ru
