Ukukhishwa kwe-DBMS TiDB 3.0 esabalalisiwe

Iyatholakala ukukhishwa kwe-DBMS esabalalisiwe TiDB3.0ithuthukiswe ngaphansi kwethonya lobuchwepheshe be-Google I-Spanner и F1. I-TiDB iyingxenye yezinhlelo ze-HTAP (Hybrid Transactional/Analytical Processing) ezikwazi ukuhlinzeka ngemisebenzi yesikhathi sangempela (OLTP) nokucubungula imibuzo yokuhlaziya. Iphrojekthi ibhalwe ku-Go and isatshalaliswa ngu ilayisensi ngaphansi kwe-Apache 2.0.

Izici ze-TiDB:

  • Ukusekelwa kwe-SQL kanye nokuhlinzekwa kwesixhumi esibonakalayo seklayenti esihambisana nephrothokholi ye-MySQL, okwenza kube lula ukulungisa izinhlelo ezikhona ezibhalelwe i-MySQL ku-TiDB, futhi ikuvumela ukuthi usebenzise imitapo yolwazi yamakhasimende evamile. Ngokungeziwe kuphrothokholi ye-MySQL, ungasebenzisa i-API esekwe ku-JSON kanye nesixhumi se-Spark ukuze ufinyelele i-DBMS.
  • Ezicini ze-SQL, izinkomba, imisebenzi ehlanganisiwe, GROUP BY, ORDER BY, DIISTINCT expressions, ukuhlanganisa (JOIN KWESOKUNXELE / UKUJOYINA KWESOKUDLA / UKUJOYINA OKUPHAMBANA), ukubukwa, imisebenzi yewindi kanye nemibuzo engezansi kusekelwa. Amathuba anikeziwe anele ukuhlela umsebenzi ne-TiDB yezinhlelo zokusebenza zewebhu ezifana ne-PhpMyAdmin, Ama-Gogs kanye ne-WordPress;
  • Ukulinganisa nokuqina: Amandla esitoreji namandla okucubungula angakhuliswa ngokungeza ama-node amasha. Idatha isatshalaliswa kuwo wonke ama-node ngokuphindaphinda ukuze kuvunyelwe imisebenzi ukuthi iqhubeke uma amanodi angawodwana ehluleka. Ukwehluleka kusingathwa ngokuzenzakalelayo.
  • Uhlelo luqinisekisa ukuvumelana futhi lubukeka njenge-DBMS eyodwa enkulu kusofthiwe yeklayenti, naphezu kweqiniso lokuthi idatha evela kuma-node amaningi empeleni isetshenziselwa ukuqedela ukuthengiselana.
  • Ama-backend ahlukene angasetshenziselwa ukugcinwa kwedatha ngokomzimba kuma-node, isibonelo, izinjini zokugcina zendawo i-GoLevelDB ne-BoltDB noma injini yokugcina esabalalisiwe. I-TiKV.
  • Ikhono lokushintsha ngokuzenzakalelayo uhlelo lokugcina, okukuvumela ukuthi wengeze amakholomu nezinkomba endizeni ngaphandle kokumisa ukucutshungulwa kokusebenza okuqhubekayo.

main emisha:

  • Kwenziwe umsebenzi wokwandisa umkhiqizo. Ekuhlolweni kwe-Sysbench, ukukhishwa kwe-3.0 kwenza igatsha elingu-2.1 izikhathi ezi-1.5 ekukhetheni nasekubuyekezeni imisebenzi, futhi ekuhlolweni kwe-TPC-C izikhathi ezingu-4.5. Ukuthuthukisa kuthinte izinhlobo ezahlukene zemibuzo, okufaka phakathi imibuzo ethi "IN", "YENZA" kanye nokuthi "AYIKHONA", imisebenzi yokuhlanganisa ithebula (JOYINA), ukusetshenziswa kwezinkomba, nokunye;
    Ukukhishwa kwe-DBMS TiDB 3.0 esabalalisiweUkukhishwa kwe-DBMS TiDB 3.0 esabalalisiwe

  • Injini entsha yokugcina, i-TiFlash, yengeziwe ukuze kuzuzwe ukusebenza okungcono kokuhlaziya (i-OLAP) ngesitoreji esiboshwe kukholomu. I-TiFlash ihambisana nesitoreji se-TiKV esinikeziwe ngaphambili, esigcina idatha kumongo wemigqa ngefomethi yokhiye/inani futhi ifaneleka kakhulu imisebenzi yokucubungula (OLTP). I-TiFlash isebenza ngokubambisana ne-TiKV futhi idatha iyaqhubeka nokuphindaphindwa ku-TiKV njengangaphambi kokusebenzisa umthetho olandelwayo we-Raft ukuze kunqunywe ukuvumelana, kodwa eqenjini ngalinye lezifaniso ze-Raft kwakhiwa enye ikhophi futhi isetshenziswe ku-TiFlash. Indlela enjalo ivumela ukuhlukaniswa okungcono kwezinsiza phakathi kwe-OLTP nemisebenzi ye-OLAP, futhi yenza idatha yokwenziwe itholakale ngokushesha emibuzweni yokuhlaziya;

    Ukukhishwa kwe-DBMS TiDB 3.0 esabalalisiwe

  • Kusetshenziswe umqoqi wemfucumfucu osakazwayo, ongakhuphula kakhulu isivinini sokuqoqwa kwemfucumfucu emaqenjini amakhulu futhi uthuthukise ukuzinza;
  • Ukuqaliswa kokuhlolwa kwesistimu yokulawula ukufinyelela okusekelwe kwindima (RBAC) yengeziwe. Kungenzeka futhi ukusetha amalungelo okufinyelela okusebenza kwe-HLAZIYA, UKUSEBENZISA, SET GLOBAL kanye ne-SHOW PROCESSLIST imisebenzi;
  • Kwengezwe ikhono lokusebenzisa izisho ze-SQL ukuze kukhishwe kulogi yombuzo ongasheshi;
  • Kusetshenziswe indlela yokuthola ngokushesha amatafula asusiwe, okukuvumela ukuthi uphinde uthole idatha esuswe ngephutha;
  • Ifomethi ehlanganisiwe yamalogi arekhodiwe;
  • Ukwesekwa okwengeziwe kwemodi yokukhiya engenathemba, okwenza ukucubungula okwenziwe kusondele ku-MySQL;
  • Ukwesekwa okwengeziwe kwemisebenzi yewindi (imisebenzi yewindi noma imisebenzi yokuhlaziya) ehambisana ne-MySQL 8.0. Imisebenzi yewindi ivumela ukuthi umugqa ngamunye wombuzo wenze izibalo usebenzisa eminye imigqa. Ngokungafani nemisebenzi ehlanganisiwe, egoqa isethi eqoqwe yemigqa ibe umugqa owodwa, imisebenzi yewindi ihlanganisa okuqukethwe "iwindi" elihlanganisa umugqa owodwa noma ngaphezulu kusukela kusethi yomphumela. Phakathi kwemisebenzi yewindi esetshenzisiwe:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE , LAST_VALUE, RANK, DENSE_RANK, kanye ne-ROW_NUMBER;

  • Kwengezwe ukusekelwa kokuhlola kokubuka (BUKA);
  • Isistimu yokuhlukanisa ethuthukisiwe (i-partitioning), yengeze ikhono lokusabalalisa idatha ngezigaba ngokusekelwe kuhlu lwamanani noma ama-hashes;
  • Kwengezwe uhlaka lokuthuthukiswa kwe-plugin, isibonelo, ama-plugin asevele elungiselelwe ukusebenzisa i-IP whitelist noma ukungena kokuhlola;
  • Kuhlinzekwe ngosekelo lokuhlola lomsebenzi othi "CHAZA HLAZIYA" ukuze kwakhiwe uhlelo lokusebenzisa imibuzo ye-SQL (Ukuphathwa Kohlelo Lwe-SQL);
  • Kwengezwe umyalo olandelayo_row_id ukuze uthole i-id yomugqa olandelayo;
  • Kwengezwe imisebenzi emisha eyakhelwe ngaphakathi JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE kanye ne-NAME_CONST.

Source: opennet.ru

Engeza amazwana