Lëshimi i databazës së shpërndarë TiDB 3.0

I disponueshëm lëshimi i databazës së shpërndarë TiDB 3.0, e zhvilluar nën ndikimin e teknologjive të Google Spanner dhe F1. TiDB i përket kategorisë së sistemeve hibride HTAP (Hybrid Transactional/Analytical Processing), të afta të realizojnë transaksione në kohë reale (OLTP) dhe të kryejnë përpunimin e kërkesave analitike. Projekti është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.

Karakteristikat e TiDB:

  • MbĂ«shtetje pĂ«r SQL dhe ofrimi i njĂ« ndĂ«rlidhĂ«si klienti, i cili Ă«shtĂ« kompatibil me protokollin MySQL, duke e bĂ«rĂ« mĂ« tĂ« lehtĂ« adaptimin pĂ«r TiDB tĂ« aplikacioneve ekzistuese tĂ« shkruara pĂ«r MySQL, si dhe duke lejuar pĂ«rdorimin e bibliotekave tĂ« zakonshme tĂ« klientĂ«ve. PĂ«rveç protokollit MySQL, Ă«shtĂ« e mundur tĂ« pĂ«rdoret API bazuar nĂ« JSON dhe konektori pĂ«r Spark pĂ«r qasjen nĂ« databazĂ«.
  • Nga mundĂ«sitĂ« e SQL mbĂ«shteten indekset, funksionet agregate, shprehjet GROUP BY, ORDER BY, DISTINCT, bashkimeve (LEFT JOIN / RIGHT JOIN / CROSS JOIN), pamjeve, funksionet e dritareve dhe nĂ«nkĂ«rkesat. MundĂ«sitĂ« e ofruara janĂ« tĂ« mjaftueshme pĂ«r tĂ« organizuar punĂ«n me TiDB nĂ« aplikacione web si PhpMyAdmin, Gogs dhe WordPress;
  • MundĂ«sia pĂ«r shkallĂ«zim horizontal dhe sigurimin e qĂ«ndrueshmĂ«risĂ«: madhĂ«sia e magazinĂ«s dhe kapaciteti llogaritĂ«s mund tĂ« zmadhohen me thjesht lidhjen e node-ve tĂ« reja. TĂ« dhĂ«nat shpĂ«rndahen midis node-ve me tepĂ«rsi, duke lejuar vazhdimin e punĂ«s nĂ« rastin e dĂ«shtimit tĂ« node-ve tĂ« veçanta. DĂ«shtimet pĂ«rpunohen automatikisht.
  • Sistemi garanton besueshmĂ«rinĂ« dhe pĂ«r softuerin e klientit duket si njĂ« databazĂ« e madhe, megjithĂ«se nĂ« tĂ« vĂ«rtetĂ« pĂ«r realizimin e transaksioneve tĂ« dhĂ«nat tĂ«rheqin nga shumĂ« node.
  • PĂ«r ruajtjen fizike tĂ« tĂ« dhĂ«nave nĂ« node mund tĂ« pĂ«rdoren backend tĂ« ndryshĂ«m, si motorĂ«t lokalĂ« tĂ« ruajtjes GoLevelDB dhe BoltDB ose motorin e tij tĂ« ruajtjes sĂ« shpĂ«rndarĂ« TiKV.
  • MundĂ«sia pĂ«r ndryshimin asinkron tĂ« skemĂ«s sĂ« ruajtjes, duke lejuar shtimin e kolonave dhe indekseve nĂ« fluks pa ndaluar pĂ«rpunimin e operacioneve aktuale.

Main innovations:

  • ËshtĂ« realizuar njĂ« punĂ« pĂ«r rritjen e performancĂ«s. NĂ« testin Sysbench versioni 3.0 tejkalon degen 2.1 me 1.5 herĂ« kur kryhen operacionet select dhe update, ndĂ«rsa nĂ« testin TPC-C me 4.5 herĂ«. Optimizimet kanĂ« prekur lloje tĂ« ndryshme tĂ« kĂ«rkesave, pĂ«rfshirĂ« nĂ«nkĂ«rkesat "IN", "DO" dhe "NOT EXISTS", operacionet e bashkimeve tĂ« tabelave (JOIN), pĂ«rdorimin e indekseve dhe shumĂ« tĂ« tjera.
    Lëshimi i databazës së shpërndarë TiDB 3.0 Lëshimi i databazës së shpërndarë TiDB 3.0
  • Shtohet njĂ« motor i ri ruajtjeje TiFlash, i cili lejon arritjen e njĂ« performancĂ« mĂ« tĂ« lartĂ« nĂ« zgjidhjen e detyrave analitike (OLAP) pĂ«rmes ruajtjes nĂ« lidhje me kolonat. TiFlash plotĂ«son ruajtjen e mĂ«parshme TiKV, e cila ruan tĂ« dhĂ«nat nĂ« formatin rresht/çelĂ«s vlerĂ« dhe Ă«shtĂ« mĂ« optimale pĂ«r detyrat e pĂ«rpunimit tĂ« transaksioneve (OLTP). TiFlash punon ngjitur me TiKV dhe tĂ« dhĂ«nat vazhdojnĂ« tĂ« replikohen nĂ« TiKV si mĂ« parĂ« duke pĂ«rdorur protokollin Raft pĂ«r tĂ« pĂ«rcaktuar konsensusin, por pĂ«r çdo grup replikash Raft krijohet njĂ« replikĂ« shtesĂ«, e cila pĂ«rdoret nĂ« TiFlash. Ky qasje lejon arritjen e njĂ« ndarjeje mĂ« tĂ« mirĂ« tĂ« burimeve midis detyrave OLTP dhe OLAP dhe gjithashtu bĂ«n tĂ« dhĂ«nat e transaksioneve menjĂ«herĂ« tĂ« aksesueshme pĂ«r kĂ«rkesat analitike;

    Lëshimi i databazës së shpërndarë TiDB 3.0
  • Implementohet njĂ« mbledhĂ«s i shpĂ«rndarĂ« i mbetjeve, i cili lejon rritjen e ndjeshme tĂ« shpejtĂ«sisĂ« sĂ« mbledhjes sĂ« mbetjeve nĂ« klasterĂ«t e mĂ«dhenj dhe rrit stabilitetin e funksionimit;
  • Shtohet njĂ« implementim eksperimental i sistemit tĂ« ndarjes sĂ« aksesit bazuar nĂ« role (RBAC). Gjithashtu sigurohet mundĂ«sia pĂ«r tĂ« caktuar tĂ« drejtat e qasjes pĂ«r operacionet ANALYZE, USE, SET GLOBAL dhe SHOW PROCESSLIST;
  • Shtohet mundĂ«sia e pĂ«rdorimit tĂ« shprehjeve SQL pĂ«r pĂ«rzgjedhjen nga logu i pyetjeve tĂ« ngadalta;
  • Implementohet njĂ« mekanizĂ«m i shpejtĂ« pĂ«r rikuperimin e tabelave tĂ« fshira, i cili lejon rikuperimin e tĂ« dhĂ«nave tĂ« fshira rastĂ«sisht;
  • Formati i regjistrimeve tĂ« shkruara Ă«shtĂ« unifikuar;
  • Shtohet mbĂ«shtetje pĂ«r modalitetin pesimistik tĂ« bllokimit, i cili e bĂ«n pĂ«rpunimin e transaksioneve mĂ« tĂ« afĂ«rt me MySQL;
  • Shtohet mbĂ«shtetje pĂ«r funksionet e dritareve (funksionet e dritareve ose funksionet analitike) tĂ« pĂ«rputhshme me MySQL 8.0. Funksionet e dritareve lejojnĂ« qĂ« pĂ«r çdo rresht tĂ« pyetjes tĂ« kryhen llogaritje duke pĂ«rdorur rreshta tĂ« tjerĂ«. Ndryshe nga funksionet agregate, tĂ« cilat pĂ«rmbledhin njĂ« grup tĂ« rreshtave tĂ« grupuar nĂ« njĂ« rresht, funksionet e dritareve kryejnĂ« agregimin nĂ« bazĂ« tĂ« pĂ«rmbajtjes sĂ« "dritares", e cila pĂ«rfshin njĂ« ose mĂ« shumĂ« rreshta nga grupi rezultues. Mes funksioneve tĂ« implementuara tĂ« dritareve janĂ«:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK dhe ROW_NUMBER;
  • Shtohet mbĂ«shtetje eksperimentale pĂ«r pamjet (VIEW);
  • PĂ«rmirĂ«sohet sistemi i seksionimit (particionimit), e shtuar mundĂ«sia pĂ«r shpĂ«rndarjen e tĂ« dhĂ«nave nĂ« seksione nĂ« bazĂ« tĂ« njĂ« diapazoni vlerash ose hash-eve;
  • Shtuar njĂ« framework pĂ«r zhvillimin e shtesave, pĂ«r shembull, janĂ« pĂ«rgatitur tashmĂ« shtesa pĂ«r pĂ«rdorimin e listave tĂ« bardha IP ose pĂ«r tĂ« mbajtur njĂ« regjistrim auditi;
  • Siguruar mbĂ«shtetje eksperimentale pĂ«r funksionin “EXPLAIN ANALYZE” pĂ«r ndĂ«rtimin e planit tĂ« ekzekutimit tĂ« pyetjeve SQL (Menaxhimi i Planit SQL);
  • Shtuar komanda next_row_id pĂ«r tĂ« marrĂ« identifikuesin e rreshtit tĂ« ardhshĂ«m;
  • Shtuar funksione tĂ« reja tĂ« ndĂ«rtuara si JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE dhe NAME_CONST.

Burimi: opennet.ru

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