Phatlalatso ea DBMS TiDB 3.0 e ajoang

Fumaneha ajoa tokollo ea DBMS TiDB3.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.
  • Li-backend tse fapaneng li ka sebelisoa bakeng sa polokelo ea data ea 'mele ho li-node, mohlala, lienjineri tsa polokelo ea lehae GoLevelDB le BoltDB kapa enjene ea polokelo e abuoang e abuoang. TiKV.
  • 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.

ka sehloohong boiqapelo:

  • Mosebetsi o entsoe ho eketsa tlhahiso. Tekong ea Sysbench, ho lokolloa ha 3.0 ho feta lekala la 2.1 ka makhetlo a 1.5 ho khetha le ho ntlafatsa ts'ebetso, le tekong ea TPC-C ka makhetlo a 4.5. Ntlafatso e amme mefuta e fapaneng ea lipotso, ho kenyeletsoa "IN", "DO" le "NOT EXISTS", ts'ebetso ea ho kopanya litafole (JOIN), tšebeliso ea li-index, le tse ling;
    Phatlalatso ea DBMS TiDB 3.0 e ajoangPhatlalatso ea DBMS TiDB 3.0 e ajoang

  • Enjene e ncha ea polokelo, TiFlash, e kenyellelitsoe ho fihlela ts'ebetso e ntle ea tlhahlobo (OLAP) ka polokelo e kentsoeng ka har'a likholomo. TiFlash e tlatselletsa polokelo ea TiKV e neng e fanoe pele, e bolokang data maemong a mela ka sebopeho sa key/value mme e loketse mesebetsi ea transaction process (OLTP). TiFlash e sebetsa e bapile le TiKV mme data e ntse e tsoela pele ho fetisetsoa ho TiKV joalo ka pele e sebelisa protocol ea Raft ho fumana tumellano, empa bakeng sa sehlopha ka seng sa likopi tsa Raft ho entsoe setšoantšo se eketsehileng 'me se sebelisoa ho TiFlash. Mokhoa o joalo o lumella karohano e betere ea lisebelisoa lipakeng tsa mesebetsi ea OLTP le OLAP, hape e etsa hore data ea transaction e fumanehe hang-hang bakeng sa lipotso tsa tlhahlobo;

    Phatlalatso ea DBMS TiDB 3.0 e ajoang

  • Setsi sa lithōle se ajoang se kentsoe ts'ebetsong, se ka eketsang haholo lebelo la ho bokella lithōle ka lihlopha tse kholo le ho ntlafatsa botsitso;
  • Ho ekelitsoe ts'ebetsong ea liteko ea mokhoa oa taolo ea phihlello e thehiloeng ho karolo (RBAC). Hape hoa khoneha ho beha litokelo tsa phihlello bakeng sa ts'ebetso ea ANALYZE, USE, SET GLOBAL le SHOW PROCESSLIST;
  • E kenyellelitse bokhoni ba ho sebelisa lipolelo tsa SQL ho ntša ho tloha butle-butle ea potso;
  • E kentse mochini oa ho khutlisa kapele litafole tse hlakotsoeng, e u lumellang ho khutlisa data e hlakotsoeng ka phoso;
  • Sebopeho se kopaneng sa li-log tse rekotiloeng;
  • Tšehetso e ekelitsoeng bakeng sa mokhoa oa ho koala o se nang tšepo, o etsang hore ts'ebetso ea transaction e be haufi le MySQL;
  • Tšehetso e ekelitsoeng bakeng sa mesebetsi ea lifensetere (mesebetsi ea lifensetere kapa mesebetsi ea analytic) e tsamaellanang le MySQL 8.0. Mesebetsi ea lifensetere e lumella mola o mong le o mong oa potso ho etsa lipalo ka mela e meng. Ho fapana le mesebetsi e akaretsang, e putlatsang sete e hlophilweng ya mela mothalong o le mong, ditshebetso tsa fenstere di kopana ho ya ka dikahare tsa "fensetere" e kenyeletsang mola o le mong kapa ho feta ho tswa ho sete ya sephetho. Har'a mesebetsi ea fensetere e kentsoeng:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE , LAST_VALUE, RANK, DENSE_RANK, le ROW_NUMBER;

  • E kentse tšehetso ea liteko bakeng sa maikutlo (VIEW);
  • Sistimi e ntlafalitsoeng ea karohano (karohano), e ekelitse bokhoni ba ho tsamaisa data ka likarolo ho ipapisitse le mefuta e mengata ea boleng kapa li-hashes;
  • E kentse moralo oa nts'etsopele ea plugin, mohlala, li-plugins li se li lokiselitsoe ho sebelisa IP whitelist kapa ho rema lifate;
  • E fane ka tšehetso ea liteko bakeng sa ts'ebetso ea EXPLAIN ANALYZE bakeng sa ho aha leano la ho phethahatsa lipotso tsa SQL (SQL Plan Management);
  • E kentse taelo e latelang_row_id ho fumana id ea mola o latelang;
  • E kentse mesebetsi e mecha e hahelletsoeng kahare JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE le NAME_CONST.

Source: opennet.ru

Eketsa ka tlhaloso