ajoa tokollo ea DBMS e ntlafalitsoe ka tšusumetso ea mahlale a Google и . TiDB ke karolo ea litsamaiso tse nyalisitsoeng tsa HTAP (Hybrid Transactional/Analytical Processing) tse khonang ho fana ka transaction ea nako ea nnete (OLTP) le ho araba lipotso tsa tlhahlobo. Morero o ngotsoe ka Go le e nang le tumello tlas'a Apache 2.0.
Litšobotsi tsa TiDB:
- Ts'ehetso bakeng sa SQL le phano ea sehokelo sa bareki se tsamaellanang le protocol ea MySQL, e etsang hore ho be bonolo ho ikamahanya le lits'ebetso tse seng li ntse li ngotsoe bakeng sa MySQL ho TiDB, hape e u lumella ho sebelisa lilaebrari tse tloaelehileng tsa bareki. Ntle le protocol ea MySQL, o ka sebelisa API e thehiloeng ho JSON le sehokelo sa Spark ho fihlella DBMS.
- Har'a likarolo tsa SQL, li-index, mesebetsi e akaretsang, GROUP BY, ORDER BY, DIISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), lipono, mesebetsi ea lifensetere le subqueries lia tšehetsoa. Menyetla e fanoeng e lekane ho hlophisa mosebetsi le TiDB ea lits'ebetso tse joalo tsa webo tse kang PhpMyAdmin, и WordPress;
- Sekhahla le ho tiea: Matla a polokelo le a ho sebetsa a ka eketsoa ka ho eketsa li-node tse ncha. Lintlha li ajoa ho pholletsa le li-node tse nang le redundancy ho lumella ts'ebetso hore e tsoele pele haeba li-node tsa motho ka mong li hlōleha. Ho hloleha ho sebetsanoa ka bohona.
- Tsamaiso e tiisa ho tsitsisa 'me e shebahala joaloka DBMS e le' ngoe e kholo ho software ea bareki, ho sa tsotellehe taba ea hore, ha e le hantle, data e tsoang ho li-node tse ngata e ameha ho phethahatsa transaction.
- Bakeng sa polokelo ea data ea 'mele ho li-node, li-backend tse fapaneng li ka sebelisoa, mohlala, lienjine tsa polokelo tsa lehae GoLevelDB le BoltDB kapa lienjine tsa polokelo tse arolelanoang ka mokhoa o ikhethileng. le TiFlash. TiKV e boloka data ka mola ka sebopeho sa senotlolo/boleng mme e molemo haholo bakeng sa mesebetsi ya ho sebetsana le ditransekshene (OLTP). TiFlash e boloka data ka sebopeho sa kholomo mme e nolofalletsa tshebetso e phahameng bakeng sa mesebetsi ya tlhahlobo (OLAP).
- Bokhoni ba ho fetola sekema sa polokelo ka mokhoa o tšoanang, ho u lumella ho eketsa likholomo le li-index ho fofa ntle le ho emisa ts'ebetso ea ts'ebetso e tsoelang pele.
Tokollong e ncha:
- Moqokeleli oa lithōle o ajoang ke Green GC o lumelloa ka mokhoa oa kamehla, e leng se eketsang lebelo la pokello ea lithōle ka lihlopha tse kholo le ho ntlafatsa botsitso ba ts'ebetso;
- Tšehetso e ekelitsoeng bakeng sa litšebelisano tse kholo, tseo boholo ba tsona bo lekanyelitsoeng ke boholo ba memori ea 'mele. Moeli oa boholo ba litšebelisano o le mong o ekelitsoe ho tloha ho 100 MB ho ea ho 10 GB;
- Tšehetso e ekelitsoeng bakeng sa litaelo tsa BACKUP le RESTORE bakeng sa bekapo;
- Ho ekelitsoe bokhoni ba ho beha liloko litafoleng;
- Ho ekelitsoe mokhoa oa ho itšehla thajana o tsamaellanang le MySQL boemong ba ho bala (READ COMMITTED);
- Taelo ea ADMIN SHOW DDL JOBS joale e tšehetsa lipolelo tsa LIKE le WHERE;
- E kentse paramethara ea oom-use-tmp-storage, e lumellang ho sebelisa lifaele tsa nakoana ho boloka liphetho tse mahareng ha ho se na RAM e lekaneng;
- E ekelitse lentsoe la bohlokoa le sa reroang ho abela boleng bo sa reroang ho litšobotsi;
- Taelo ea LOAD DATA joale e tšehetsa tšebeliso ea lipolelo tsa hexadecimal le binary;
- E kentse diparamithara tse 15 ho laola boitshwaro ba optimizer;
- Lisebelisoa tse ekelitsoeng bakeng sa ho hlahloba ts'ebetso ea lipotso tsa SQL. Ho ekelitsoe lethathamo la lipotso tse liehang, tse fumanehang ka litafole tsa sistimi ea SLOW_QUERY / CLUSTER_SLOW_QUERY.
- Tšehetso e eketsehileng bakeng sa mesebetsi ea ho sebetsa ka tatellano;
- E ekelitse bokhoni ba ho fetola ka mokhoa o feto-fetohang liparamente tsa tlhophiso tse baloang ho tsoa ho PD (Placement Driver, seva ea tsamaiso ea sehlopha). E ekelitse bokhoni ba ho sebelisa polelo ea "SET CONFIG" ho fetola litlhophiso tsa node ea PD/TiKV.
- Ho ekelitsoe tlhophiso ea likhokahano tsa max-server ho fokotsa palo e phahameng ka ho fetisisa ea likhokahano tse ts'oanang ho seva (kamehla 4096);
- Tshebetso e ntlafetseng maemong ao dikholomo tse kopilweng di akaretswang ka botlalo ke di-index;
- Ho ekelitsoe ntlafatso ea lipotso ho latela ho kopanngoa ha index;
- Tshebetso e ntlafetseng ya tshebetso ka mefuta e fapaneng ya boleng;
- Ho fokotsa mojaro oa CPU ka ho boloka liphetho tsa lipotso tsa index le ho sefa likopi tse tšoanang;
- Tšehetso e ekelitsoeng bakeng sa mokhoa o mocha oa polokelo ea mela o ntlafatsang ts'ebetso ea litafole tse nang le palo e kholo ea likholomo;
- Mosebetsi oa GROUP_CONCAT joale o tšehetsa polelo ea ORDER BY;
- E ekelitse bokhoni ba ho ntša data ho tsoa ho log ea TiFlash ka SQL;
- Taelo ea RECOVER TABLE joale e tšehetsa ho tsosolosa litafole tse khaotsoeng;
- Ho ekelitsoe tafole ea sistimi ea DDLJobs ho botsa lintlha tse mabapi le ts'ebetso ea mosebetsi oa DDL;
- E ekelitse bokhoni ba ho sebelisa taelo ea SHOW CONFIG ho bonts'a litlhophiso tsa PD le TiKV;
- cache ea coprocessor ka boiketsetso;
- Palo ea li-goroutines mohatong oa ho leka hape oa commit joale e ka laoloa ho sebelisoa tlhophiso ea committer-concurrency;
- E ekelitse bokhoni ba ho bonts'a libaka tsa karohano ea tafole;
- Bokhoni ba ho fokotsa boholo ba polokelo ea nakoana bo ekelitsoe ho tidb-server;
- Tšehetso e ekelitsoeng bakeng sa ts'ebetso "kenya ho karolo ea lebitso la tbl_(partition_name_list)" le "kenya ho karolo ea lebitso la tbl_(partition_name_list)";
- Hash e sebedisetswang ho arola jwale e tshehetsa ho sefa ho itshetlehile hodima folaga ya "ha e na thuso";
- Tšehetso bakeng sa ho hlahloba index, ho hloekisa le ho lokisa mesebetsi e ekelitsoe bakeng sa litafole tse arotsoeng.
Source: opennet.ru
