Lëshimi i bazës së të dhënave të shpërndarë TiDB 3.0

I verfĂŒshĂ«m lĂ«shimi i DB tĂ« shpĂ«rndarĂ« TiDB 3.0, i zhvilluar nĂ«n ndikimin e teknologjive Google Spanner dhe F1. TiDB i pĂ«rket kategorisĂ« sĂ« sistemeve hibride HTAP (Hybrid Transactional/Analytical Processing), tĂ« cilat janĂ« nĂ« gjendje tĂ« sigurojnĂ« realizimin e transaksioneve nĂ« kohĂ« reale (OLTP) dhe tĂ« realizojnĂ« pĂ«rpunimin e pyetjeve analitike. Projekti Ă«shtĂ« shkruar nĂ« gjuhĂ«n Go dhe distribuohet nĂ«n licencĂ«n Apache 2.0.

Karakteristikat e TiDB:

  • MbĂ«shtetje pĂ«r SQL dhe ofrimi i njĂ« ndĂ«rfaqeje klienti, pĂ«rputhshĂ«m me protokollin MySQL, çka e bĂ«n adaptimin pĂ«r TiDB tĂ« aplikacioneve ekzistuese qĂ« janĂ« shkruar pĂ«r MySQL mĂ« tĂ« lehtĂ«, si dhe lejon pĂ«rdorimin e bibliotekave tĂ« njohura tĂ« klientĂ«ve. PĂ«rveç protokollit MySQL, mund tĂ« pĂ«rdoret API me bazĂ« JSON dhe njĂ« lidhĂ«s pĂ«r Spark pĂ«r tĂ« aksesuar DB.
  • Nga mundĂ«sitĂ« e SQL mbĂ«shteten indekset, funksionet agregate, shprehjet GROUP BY, ORDER BY, DISTINCT, bashkĂ«titĂ« (LEFT JOIN / RIGHT JOIN / CROSS JOIN), pamjet, funksionet e dritarave dhe nĂ«npyetjet. MundĂ«sitĂ« e ofruara janĂ« tĂ« mjaftueshme pĂ«r tĂ« organizuar punĂ«n me TiDB tĂ« aplikacioneve web si PhpMyAdmin, Gogs dhe WordPress;
  • MundĂ«sia pĂ«r skalim horizontal dhe sigurimin e qĂ«ndrueshmĂ«risĂ«: madhĂ«sia e magazinĂ«s dhe fuqia llogaritĂ«se mund tĂ« zgjaten thjesht duke lidhur nyje tĂ« reja. TĂ« dhĂ«nat shpĂ«rndahen nĂ«pĂ«r nyje me tepĂ«rsi, duke lejuar vazhdimin e punĂ«s nĂ« rastin e dĂ«shtimeve tĂ« nyjeve tĂ« veçanta. DĂ«shtimet trajtohen automatikisht.
  • Sistemi garanton konsistencĂ«n dhe pĂ«r softuerin e klientit duket si njĂ« bazĂ« e dhĂ«nash e madhe, ndonĂ«se nĂ« tĂ« vĂ«rtetĂ« pĂ«r ekzekutimin e transaksioneve pĂ«rfshihen tĂ« dhĂ«na nga shumĂ« nyje.
  • PĂ«r ruajtjen fizike tĂ« tĂ« dhĂ«nave nĂ« nyje mund tĂ« pĂ«rdoren backend tĂ« ndryshme, pĂ«r shembull, motorĂ«t lokalĂ« tĂ« ruajtjes GoLevelDB dhe BoltDB ose motorin e vet tĂ« ruajtjes sĂ« shpĂ«rndarĂ«. TiKV.
  • MundĂ«sia pĂ«r ndryshime asinkrone nĂ« skemĂ«n e ruajtjes, duke lejuar shtimin e kolonave dhe indekseve nĂ« fluks pa ndaluar pĂ«rpunimin e operacioneve aktuale.

Ndryshimet kryesore risitë:

  • Ecurar puna pĂ«r rritjen e performancĂ«s. NĂ« provimin Sysbench versioni 3.0 e tejkalon degĂ«n 2.1 me 1.5 herĂ« nĂ« ekzekutimin e operacioneve select dhe update, ndĂ«rsa nĂ« provimin TPC-C me 4.5 herĂ«. Optimizimet pĂ«rfshinĂ« lloje tĂ« ndryshme tĂ« kĂ«rkesave, duke pĂ«rfshirĂ« nĂ«nkĂ«rkesat «IN», «DO» dhe «NOT EXISTS», operacionet e bashkimit tĂ« tabelave (JOIN), pĂ«rdorimin e indekseve dhe shumĂ« tĂ« tjera;
    Lëshimi i bazës së të dhënave të shpërndarë TiDB 3.0 Lëshimi i bazës së të dhënave të shpërndarë TiDB 3.0
  • Shtuar njĂ« motor tĂ« ri ruajtjeje TiFlash, i cili mundĂ«son njĂ« performancĂ« mĂ« tĂ« lartĂ« nĂ« zgjidhjen e detyrave analitike (OLAP), falĂ« ruajtjes nĂ« lidhje me kolonat. TiFlash plotĂ«son ruajtjen e mĂ«parshme TiKV, e cila ruan tĂ« dhĂ«nat nĂ« formĂ«n e rreshtave sipas formatit çelĂ«s/vlerĂ« dhe Ă«shtĂ« mĂ« e optimizuar pĂ«r detyrat e pĂ«rpunimit tĂ« transaksioneve (OLTP). TiFlash funksionon ngjitur me TiKV dhe tĂ« dhĂ«nat vazhdojnĂ« si mĂ« parĂ« tĂ« replikohen nĂ« TiKV me pĂ«rdorimin e protokollit Raft pĂ«r tĂ« vendosur konsensusin, por pĂ«r çdo grup replikash Raft krijohet njĂ« replikĂ« shtesĂ«, e cila pĂ«rdoret nĂ« TiFlash. Ky qasje lejon njĂ« ndarje mĂ« tĂ« mirĂ« tĂ« burimeve midis detyrave OLTP dhe OLAP, si dhe bĂ«n tĂ« dhĂ«nat e transaksioneve menjĂ«herĂ« tĂ« disponueshme pĂ«r kĂ«rkesat analitike;

    Lëshimi i bazës së të dhënave të shpërndarë TiDB 3.0
  • NjĂ« mbledhĂ«s i shpĂ«rndarĂ« i plehrave Ă«shtĂ« realizuar, i cili lejon njĂ« rritje tĂ« konsiderueshme tĂ« shpejtĂ«sisĂ« sĂ« mbledhjes sĂ« plehrave nĂ« klasterĂ«t e mĂ«dhenj dhe rrit stabilitetin e funksionimit;
  • Implementimi eksperimental i sistemit tĂ« ndarjes sĂ« aksesit nĂ« bazĂ« tĂ« roleve (RBAC) Ă«shtĂ« shtuar. Gjithashtu, Ă«shtĂ« siguruar mundĂ«sia e caktimit tĂ« tĂ« drejtave tĂ« aksesit pĂ«r operacionet ANALYZE, USE, SET GLOBAL dhe SHOW PROCESSLIST;
  • Ă«shtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« shprehjeve SQL pĂ«r tĂ« tĂ«rhequr nga logu i pyetjeve tĂ« ngadalta;
  • Mekanizmi i rikuperimit tĂ« shpejtĂ« tĂ« tabelave tĂ« fshira Ă«shtĂ« realizuar, duke mundĂ«suar rikuperimin e tĂ« dhĂ«nave tĂ« fshira rastĂ«sisht;
  • Formati i regjistrimit tĂ« logjeve Ă«shtĂ« unifikuar;
  • PĂ«rkrahja pĂ«r modin e bllokimit pesimist Ă«shtĂ« shtuar, i cili bĂ«n qĂ« pĂ«rpunimi i transaksioneve tĂ« jetĂ« mĂ« afĂ«r MySQL;
  • Shtesa e mbĂ«shtetjes pĂ«r funksionet e dritareve (funksionet e dritareve ose funksionet analitike), tĂ« pĂ«rshtatshme me MySQL 8.0. Funksionet e dritareve lejojnĂ« qĂ« pĂ«r secilĂ«n rresht tĂ« kĂ«rkimit tĂ« kryhen llogaritje duke pĂ«rdorur rreshta tĂ« tjerĂ«. NĂ« dallim nga funksionet agregate, tĂ« cilat pĂ«rmbledhin njĂ« grup rreshtash nĂ« njĂ« rresht, funksionet e dritareve realizojnĂ« agregimin nĂ« bazĂ« tĂ« pĂ«rmbajtjes sĂ« "dritares", qĂ« pĂ«rfshin njĂ« ose mĂ« shumĂ« rreshta nga grupi rezultues. NdĂ«r funksionet e dritares tĂ« realizuara janĂ«:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK dhe ROW_NUMBER;
  • Shtesa e mbĂ«shtetjes eksperimentale pĂ«r pamjet (VIEW);
  • PĂ«rmirĂ«simi i sistemit tĂ« ndarjeve (particionimit), shtesa e mundĂ«sisĂ« pĂ«r shpĂ«rndarjen e tĂ« dhĂ«nave nĂ« seksione nĂ« bazĂ« tĂ« intervaleve tĂ« vlerave ose hash-eve;
  • Shtimi i njĂ« framerok pĂ«r zhvillimin e plugineve, pĂ«r shembull, janĂ« pĂ«rgatitur tashmĂ« plugina pĂ«r pĂ«rdorimin e njĂ« liste tĂ« bardhĂ« IP ose pĂ«r mbajtjen e njĂ« regjistri auditimi;
  • Sigurimi i mbĂ«shtetjes eksperimentale pĂ«r funksionin "EXPLAIN ANALYZE" pĂ«r ndĂ«rtimin e planit tĂ« ekzekutimit tĂ« pyetjeve SQL (Menaxhimi i Planeve SQL);
  • Shtimi i komandĂ«s next_row_id pĂ«r marrjen e identifikuesit tĂ« rreshtit tĂ« ardhshĂ«m;
  • Shto janĂ« shtuar funksione tĂ« reja tĂ« integruara JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE dhe NAME_CONST.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster