Ukukhishwa kwe-DBMS TiDB 4.0 esabalalisiwe

Iyatholakala ukukhishwa kwe-DBMS esabalalisiwe TiDB4.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.
  • Ukugcina ngokoqobo idatha kuma-node, ama-backend ahlukene angasetshenziswa, isibonelo, izinjini zokugcina zendawo i-GoLevelDB ne-BoltDB noma izinjini zethu zokugcina ezisabalalisiwe. I-TiKV kanye ne-TiFlash. I-TiKV igcina idatha ngeyunithi yezinhlamvu ngefomethi yokhiye/inani futhi ilungele kakhulu imisebenzi yokucubungula okwenziwayo (OLTP). I-TiFlash igcina idatha ngendlela yekholomu futhi ikuvumela ukuthi uzuze ukusebenza okuphezulu lapho uxazulula izinkinga zokuhlaziya (i-OLAP).
  • Ikhono lokushintsha ngokuzenzakalelayo uhlelo lokugcina, okukuvumela ukuthi wengeze amakholomu nezinkomba endizeni ngaphandle kokumisa ukucutshungulwa kokusebenza okuqhubekayo.

Ekukhishweni okusha:

  • Ngokuzenzakalelayo, umqoqi wemfucumfucu osabalalisiwe iGreen GC inikwe amandla, engakhuphula kakhulu isivinini sokuqoqwa kukadoti kumaqoqo amakhulu futhi ithuthukise ukuzinza;
  • Usekelo olungeziwe lwemisebenzi emikhulu, usayizi wayo okhawulelwe cishe ngosayizi wememori ebonakalayo. Umkhawulo kasayizi wokuthengiselana okukodwa unyusiwe kusuka ku-100 MB kuya ku-10 GB;
  • Kwengezwe ukusekelwa kwe-ISIPELE kanye ne-RESTORE imiyalo yokwenza ikhophi yasenqolobaneni;
  • Kwengezwe ikhono lokusetha izingidi ematafuleni;
  • Kwengezwe indlela yokuhlukanisa i-MySQL ehambisanayo nezinga lokufunda (FUNDA UZINIKELE);
  • Kwengezwe ukusekelwa kwezinkulumo zokuthi LIKE nokuthi LAPHO kumyalo othi “ADMIN SHOW DDL JOBS”;
  • Kwengezwe ipharamitha ye-oom-use-tmp-storage, ekuvumela ukuthi usebenzise amafayela esikhashana ukuze ulondoloze imiphumela emaphakathi uma i-RAM inganele;
  • Kwengezwe igama elingukhiye elingahleliwe ukuze unikeze amanani angahleliwe kuzibaluli;
  • Umyalo we-LOAD DATA manje usunamandla okusebenzisa izinkulumo ze-hexadecimal kanye noma kanambambili;
  • Kwengezwe amapharamitha angu-15 ukulawula ukuziphatha kwesilungiseleli;
  • Amathuluzi angeziwe okuhlonza ukusebenza kwemibuzo ye-SQL. Kwengezwe ilogi yemibuzo ehamba kancane, efinyeleleka ngamathebula esistimu SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Ukwesekwa okwengeziwe kwemisebenzi yokusebenza ngokulandelana;
  • Kwengezwe amandla okushintsha ngokuguquguqukayo amapharamitha wokumisa afundwe ukusuka ku-PD (I-Placement Driver, iseva yokuphathwa kweqoqo). Kwengezwe amandla okusebenzisa isisho esithi “SET CONFIG” ukuze uguqule izilungiselelo zamanodi e-PD/TiKV.
  • Kwengezwe ukulungiselelwa kokuxhumeka kwe-max-server ukuze kukhawulwe inombolo enkulu yokuxhumeka ngasikhathi sinye kuseva (okuzenzakalelayo 4096);
  • Ukusebenza okuthuthukisiwe ezimeni lapho amakholomu aceliwe ehlanganiswa ngokuphelele yizinkomba;
  • Ukuthuthukiswa kombuzo okungeziwe ngokusekelwe ekuhlanganisweni kwenkomba;
  • Ukusebenza okuthuthukisiwe kwemisebenzi enamabanga yenani;
  • Yehliswa umthwalo we-CPU ngokufaka kunqolobane imiphumela yokufinyelela izinkomba nokuhlunga izimpinda;
  • Ukwesekwa okwengeziwe kwefomethi entsha yokugcina irowu ekuvumela ukuthi ukhuphule ukusebenza kwamathebula ngenani elikhulu lamakholomu;
  • Umsebenzi we-GROUP_CONCAT manje usekela inkulumo ethi "ORDER BY";
  • Kwengezwe amandla okukhipha idatha kulogi ye-TiFlash nge-SQL;
  • Umyalo we-RECOVER TABLE manje usekela ukubuyisela amatafula ancishisiwe;
  • Kwengezwe ithebula lesistimu ye-DDLJobs ukuze ubuze imininingwane mayelana nokukhishwa komsebenzi we-DDL;
  • Kwengezwe ikhono lokusebenzisa umyalo SHOW CONFIG ukuze ubonise izilungiselelo ze-PD ne-TiKV;
  • Kufakiwe i-coprocessor cache ngokuzenzakalelayo;
  • Inombolo yama-coroutines (ama-goroutines) esigabeni sokuzama kabusha sesibopho manje singalawulwa kusetshenziswa ukulungiselelwa kokuvumelanisa kwezimali;
  • Kwengezwe ikhono lokubonisa izifunda zokuhlukanisa ithebula;
  • Ikhono lokukhawulela usayizi wesitoreji sesikhashana lengezwe kuseva ye-tidb;
  • Ukwesekwa okwengeziwe kwemisebenzi “faka ku-tbl_name partition(partition_name_list)” kanye “nendawo esikhundleni se-tbl_name partition(partition_name_list)”;
  • Kuheshi esetshenziselwa ukwahlukanisa, ukusekela kokuhlunga okusekelwe kusibaluli esithi "is null" kungeziwe;
  • Kumathebula ahlukanisiwe, usekelo lokuhlola inkomba, ukuhlanzwa, nokulungisa imisebenzi yengeziwe.

Source: opennet.ru

Engeza amazwana