Phatlalatso ea DBMS TiDB 4.0 e ajoang

Fumaneha ajoa tokollo ea DBMS TiDB4.0e ntlafalitsoe ka tšusumetso ea mahlale a Google Spanner и F1. 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 ajoa ke 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, Likokoana-hloko le 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.
  • Ho boloka lintlha tsa 'mele ho li-node, li-backend tse fapaneng li ka sebelisoa, mohlala, lienjineri tsa polokelo ea lehae GoLevelDB le BoltDB kapa lienjineri tsa rona tsa polokelo tse ajoang. TiKV le TiFlash. TiKV e boloka datha ka likhoele ka sebopeho sa senotlolo / boleng mme e nepahetse haholoanyane bakeng sa mesebetsi ea ts'ebetso ea transaction (OLTP). TiFlash e boloka datha ka mokhoa o ikhethileng mme e u lumella ho fihlela ts'ebetso e phahameng ha u rarolla mathata a 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:

  • Ka nako e sa lekanyetsoang, moqosi oa lithōle o ajoang Green GC o nolofalitsoe, o ka eketsang haholo lebelo la ho bokella lithōle ka lihlopha tse kholo le ho ntlafatsa botsitso;
  • Tšehetso e ekelitsoeng bakeng sa litšebelisano tse kholo, boholo ba tsona bo lekanyelitsoeng hoo e batlang e le boholo ba mohopolo oa 'mele. Moeli oa boholo ba transaction e le 'ngoe o eketsehile ho tloha ho 100 MB ho ea ho 10 GB;
  • Tšehetso e ekelitsoeng bakeng sa litaelo tsa BACKUP le RESTORE bakeng sa bekapo;
  • E ekelitse bokhoni ba ho beha linotlolo holim'a litafole;
  • E ekelitse mokhoa oa ho itšehla thajana oa MySQL o tsamaellanang le boemo ba ho bala (BALA COMMITTED);
  • Tšehetso e ekelitsoeng bakeng sa litlhaloso tsa LIKE le WHERE ho taelo ea "ADMIN SHOW DDL JOBS";
  • E kentse parameter ea oom-use-tmp-storage, e u lumellang hore u sebelise lifaele tsa nakoana ho boloka liphetho tsa mahareng ha RAM e sa lekana;
  • E kentse lebitso la sehlooho la Random ho abela boleng bo sa reroang ho litšoaneleho;
  • Taelo ea LOAD DATA joale e na le bokhoni ba ho sebelisa lipoleloana tsa hexadecimal le binary;
  • E kentse liparamente tse 15 ho laola boitšoaro ba optimizer;
  • Lisebelisoa tse ekelitsoeng tsa ho hlahloba ts'ebetso ea lipotso tsa SQL. E kentse lethathamo la lipotso tse tsamaeang butle, tse fumanehang ka SLOW_QUERY / CLUSTER_SLOW_QUERY litafole tsa sistimi;
  • Tšehetso e ekelitsoeng bakeng sa mesebetsi ea ho sebetsa ka tatellano;
  • E kenyellelitse bokhoni ba ho fetola liparamente tsa tlhophiso tse baloang ho tsoa ho PD (Mokhanni oa Sebaka, seva sa tsamaiso ea lihlopha). E kenyellelitse bokhoni ba ho sebelisa polelo ea "SET CONFIG" ho fetola litlhophiso tsa li-node tsa PD/TiKV.
  • E kenyellelitse max-server-connections setting ho fokotsa palo e kholo ea likhokahano tsa nako e le 'ngoe ho seva (ka ho feletseng 4096);
  • Ts'ebetso e ntlafalitsoeng maemong ao likholomo tse kopiloeng li koahetsoeng ka botlalo ke li-index;
  • Ntlafatso ea lipotso e ekelitsoeng e ipapisitseng le ho kopanya index;
  • Ts'ebetso e ntlafalitsoeng ea ts'ebetso e nang le mekhahlelo ea boleng;
  • Fokotsa mojaro oa CPU ka ho boloka liphetho tsa ho fumana li-index le ho sefa tse kopitsoang;
  • Ts'ehetso e ekelitsoeng bakeng sa sebopeho se secha sa polokelo ea mela e u lumellang ho eketsa ts'ebetso ea litafole ka palo e kholo ea likholomo;
  • GROUP_CONCAT tshebetso jwale e tshehetsa polelo ya "ORDER BY";
  • E ekelitse bokhoni ba ho ntša data ho tsoa ho log ea TiFlash ka SQL;
  • Taelo ea RECOVER TABLE joale e ts'ehetsa ho khutlisa litafole tse khutsufalitsoeng;
  • E kentse tafole ea sistimi ea DDLJobs ho botsa lintlha 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;
  • E butswe cache ea coprocessor ka kamehla;
  • Palo ea li-coroutines (goroutines) mokhahlelong oa ho leka hape oa boitlamo joale e ka laoloa ka ho sebelisa maemo a concurrency;
  • E ekelitse bokhoni ba ho bonts'a libaka tsa karohano ea tafole;
  • Bokhoni ba ho fokotsa boholo ba polokelo ea nakoana bo kentsoe ho tidb-server;
  • Ts'ehetso e ekelitsoeng bakeng sa ts'ebetso "kenya ho tbl_name partition(partition_name_list)" le "fetola sebaka sa tbl_name partition(partition_name_list)";
  • Ho hashe e sebelisetsoang karohano, tšehetso bakeng sa ho sefa ho ipapisitse le tšobotsi "is null" e kentsoe;
  • Bakeng sa litafole tse arohaneng, tšehetso ea ho hlahloba index, ho hloekisa le ho lokisa e kenyelitsoe.

Source: opennet.ru

Eketsa ka tlhaloso