Dị ekesa DBMS ntọhapụ TiDB 3.0mepụtara n'okpuru mmetụta nke teknụzụ Google Nyocha и F1. TiDB so na udi nke ngwakọ HTAP (Hybrid Transaction/Analytical Processing) sistemu nwere ike ma inye azụmahịa oge (OLTP) na nhazi ajụjụ nyocha. Edere oru a na Go na kesara site nyere ikike n'okpuru Apache 2.0.
Atụmatụ TiDB:
Nkwado maka SQL na inye onye ahịa interface nke dakọtara na MySQL protocol, nke na-eme ka ọ dị mfe ịmegharị ngwa ndị dị ugbu a edere maka MySQL na TiDB, ma na-enyekwa gị ohere iji ụlọ akwụkwọ ndị ahịa nkịtị. Na mgbakwunye na MySQL protocol, ị nwere ike iji JSON dabeere API na njikọ maka Spark iji nweta DBMS.
N'ime njirimara nke SQL, indexes, mkpokọta ọrụ, GROUP BY, ORDER BY, DISTINCT expression, merges (Njikọ aka ekpe / RIGHT JOIN / CROSS JOIN), echiche, ọrụ windo na subqueries na-akwado. Ohere enyere ezuru iji hazie ọrụ na TiDB nke ngwa webụ dị ka PhpMyAdmin, Ọg na WordPress;
Ọnụ ọgụgụ na nkwụghachi: Enwere ike ịbawanye ike nchekwa na nhazi naanị site na ịgbakwunye ọnụ ọhụrụ. A na-ekesa data n'ofe ọnụ ọnụ na-arụ ọrụ iji kwe ka arụ ọrụ gaa n'ihu ma ọ bụrụ na ọnụ otu onye dara. A na-edozi ọdịda na-akpaghị aka.
Usoro ahụ na-ekwe nkwa ịdịgidesi ike ma dị ka otu nnukwu DBMS na ngwanrọ ndị ahịa, n'agbanyeghị eziokwu ahụ bụ na a na-eji data sitere na ọtụtụ ọnụ ọnụ iji mezue azụmahịa ahụ.
Iji chekwaa data n'anụ ahụ na ọnụ ọnụ, enwere ike iji azụ azụ dị iche iche, dịka ọmụmaatụ, injin nchekwa mpaghara GoLevelDB na BoltDB ma ọ bụ igwe nchekwa nke kesara nke anyị. TiKV.
Ikike ịgbanwe usoro nchekwa asynchronously, na-enye gị ohere ịgbakwunye ogidi na indexes na ofufe na-akwụsịghị nhazi nke arụmọrụ na-aga n'ihu.
Emeela ọrụ iji mụbaa arụpụta ihe. Na ule Sysbench, ntọhapụ 3.0 bụ 2.1 ugboro ngwa ngwa karịa alaka 1.5 mgbe ị na-eme nhọrọ na melite arụmọrụ, na na ule TPC-C site na 4.5 ugboro. Optimizations emetụtala ụdị ajụjụ dị iche iche, gụnyere IN, DO na BỤGHỊ EXISTS subqueries, table merging (JOIN) arụmọrụ, ojiji nke indexes na ọtụtụ ndị ọzọ;
Agbakwunyere igwe nchekwa TiFlash ọhụrụ nke na-enye ohere maka ịrụ ọrụ dị elu na idozi nsogbu nyocha (OLAP) ekele maka nchekwa kọlụm. TiFlash na-emeju ebe nchekwa TiKV enyere na mbụ, nke na-echekwa data amamihe dị n'usoro n'ụdị igodo/uru yana dịkwa mma maka ọrụ nhazi azụmahịa (OLTP). TiFlash na-arụ ọrụ n'akụkụ na TiKV na data na-aga n'ihu na-emegharị ya na TiKV dị ka tupu iji usoro Raft iji chọpụta nkwenye, mana maka otu ọ bụla nke Raft oyiri a na-emepụta ihe ọzọ nke eji na TiFlash. Ụzọ a na-enye ohere maka ikesa akụrụngwa ka mma n'etiti ọrụ OLTP na OLAP, ma na-emekwa ka data azụmahịa dị ozugbo maka ajụjụ nyocha;
A na-emejuputa ihe mkpofu a na-ekesa, nke nwere ike ịbawanye ọsọ nke mkpofu ahịhịa na nnukwu ụyọkọ ma melite nkwụsi ike;
Agbakwunyela mmejuputa nnwale nke Njikwa Nweta-Dabere na Ọrụ (RBAC). Ọ dịkwa ike ịtọ ikike ịnweta maka ọrụ nyocha, JI, SET GLOBAL na SHOW PROCESSLIST;
Agbakwunyere ikike iji okwu SQL wepụta ajụjụ nwayọ na ndekọ;
Emebela usoro maka iweghachite tebụl ndị ehichapụrụ ngwa ngwa, na-enye gị ohere iweghachi data ehichapụ na mberede;
Ụdị ndekọ ndekọ aha ejikọtala ọnụ;
Nkwado agbakwunyere maka ọnọdụ mkpọchi enweghị nchekwube, nke na-eme ka nhazi azụmahịa yiri MySQL;
Nkwado agbakwunyere maka ọrụ windo (ọrụ windo ma ọ bụ ọrụ nyocha) dakọtara na MySQL 8.0. Ọrụ mpio na-enye gị ohere iji ahịrị ndị ọzọ rụọ mgbako maka ahịrị ajụjụ ọ bụla. N'adịghị ka ọrụ nchịkọta, nke na-adaba usoro ahịrị chịkọtara n'otu ahịrị, ọrụ mpio na-agbakọ dabere na ọdịnaya nke "window," nke gụnyere otu ahịrị ma ọ bụ karịa site na ntọala nsonaazụ. N'ime ọrụ windo emejuputa atumatu:
NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK na ROW_NUMBER;
Nkwado nnwale agbakwunyere maka nlele (LEEW);
Emeziwanyela usoro nkewa, ikike nkesa data n'ime ngalaba dabere na ụkpụrụ dị iche iche ma ọ bụ hashes agbakwunyere;
Agbakwunyela usoro maka mmepe plugins, dịka ọmụmaatụ, akwadolarị plugins maka iji akwụkwọ ọcha IP ma ọ bụ idowe ndekọ nyocha;
Enyerela nkwado nnwale maka ọrụ "EXPLAIN ANALYZE" maka ịmepụta atụmatụ igbu maka ajụjụ SQL (SQL Plan Management);
Agbakwunyere next_row_id iwu iji nweta ID nke ahiri na-esote;