TiDB 3.0 yakagovera DBMS kuburitswa

Inowanikwa kuburitswa kweDBMS yakagoverwa TiDB 3.0, yakagadzirwa pasi pesimba reGoogle tekinoroji Kutambanudza и F1. TiDB ndeyechikamu cheiyo hybrid HTAP (Hybrid Transactional/Analytical Processing) masisitimu, anokwanisa kupa zvese-chaiyo-nguva kutengeserana (OLTP) uye kugadzirisa mibvunzo yekuongorora. Chirongwa ichi chakanyorwa muna Go and inoparadzirwa ne ine rezinesi pasi peApache 2.0.

Zvimiro zveTiDB:

  • Tsigiro yeSQL uye kupihwa kwemutengi interface inoenderana neMySQL protocol, inorerutsa kuchinjika kwezvishandiso zviripo zvakanyorerwa MySQL kuTiDB, uye zvakare inobvumira kushandiswa kwemaraibhurari evatengi. Pamusoro peiyo MySQL protocol, unogona kushandisa JSON-based API uye chinongedzo cheSpark kuti uwane iyo DBMS.
  • SQL inoratidzira inotsigira indexes, akaunganidzwa mabasa, GROUP BY, ORDER BY, DIISTINCT mataurirwo, mamerges (KURUboshwe JOIN / RIGHT JOIN / CROSS JOIN), maonero, hwindo mabasa uye subqueries. Iwo akapihwa masimba akakwana kuronga basa neTiDB kune akadai mawebhu application sePhpMyAdmin, goggles uye WordPress;
  • Horizontal scalability uye kukanganisa kushivirira: saizi yekuchengetedza uye simba rekugadzirisa rinogona kuwedzerwa nekungobatanidza node nyowani. Dhata inogovaniswa munzvimbo dzese neredundancy, ichibvumira kushanda kuenderera mberi kana node dzega dzakundikana. Kukundikana kunogadziriswa otomatiki.
  • Iyo sisitimu inovimbisa kuenderana uye kune mutengi software inoita senge yakakura DBMS, zvisinei nekuti chokwadi, data kubva kune akawanda node inokwezvwa kuti ipedze kutengeserana.
  • Kuchengeta nemuviri data pane node, akasiyana backends anogona kushandiswa, semuenzaniso, emuno ekuchengetedza injini GoLevelDB neBoltDB kana yedu yekugovera yekuchengetedza injini. TiKV.
  • Iko kugona kushandura asynchronously schema yekuchengetedza, ichikubvumidza kuti uwedzere makoramu uye indexes panhunzi pasina kumisa kugadziridzwa kwezvinoitika.

chikuru zvitsva:

  • Basa rakaitwa kuwedzera zvibereko. Muyedzo yeSysbench, kuburitsa 3.0 inokurumidza 2.1 nguva kupfuura bazi 1.5 paunenge uchiita sarudza nekuvandudza mashandiro, uye muTPC-C bvunzo ne4.5 nguva. Optimization yakanganisa mhando dzakasiyana dzemibvunzo, kusanganisira IN, ITA uye HAIKO ZVIRI MUKATI, kubatanidza tafura (JOIN) mashandiro, kushandiswa kwemaindex uye zvimwe zvakawanda;
    TiDB 3.0 yakagovera DBMS kuburitswaTiDB 3.0 yakagovera DBMS kuburitswa

  • Yakawedzera imwe itsva TiFlash yekuchengetedza injini inobvumira kushanda kwepamusoro mukugadzirisa matambudziko ekuongorora (OLAP) nekuda kweiyo columnar kuchengetedza. TiFlash inozadzisa iyo yakambopihwa TiKV chengetedzo, iyo inochengeta mutsara-huchenjeri data mune kiyi / kukosha fomati uye yakanyanya kunaka kune transaction process mabasa (OLTP). TiFlash inoshanda padivi nepadivi neTiKV uye data rinoramba richidzokororwa kuTiKV senge usati washandisa iyo Raft protocol kuona kubvumirana, asi kune rimwe nerimwe boka reRaft replicas imwe yekuwedzera replica inogadzirwa iyo inoshandiswa muTiFlash. Iyi nzira inobvumira zvirinani kugovana zviwanikwa pakati peOLTP neOLAP mabasa, uye zvakare inoita kuti data rekutengeserana riwanikwe ipapo kumibvunzo yekuongorora;

    TiDB 3.0 yakagovera DBMS kuburitswa

  • Muunganidzi wemarara akagoverwa akashandiswa, izvo zvinogona kuwedzera zvakanyanya kukurumidza kwekuunganidza marara mumasumbu makuru uye kugadzirisa kugadzikana;
  • Kuitwa kwekuedza kweRole-Based Access Control (RBAC) yakawedzerwa. Zvinogonekawo kuseta kodzero dzekuwana dze ANALYZE, USE, SET GLOBAL uye SHOW PROCESSLIST mashandiro;
  • Yakawedzera kugona kushandisa SQL mataurirwo kuburitsa inononoka mibvunzo kubva kurogi;
  • Nzira yekukurumidza kudzoreredza matafura akadzimwa yaitwa, ichikubvumidza iwe kudzoreredza netsaona yakadzimwa data;
  • Mamiriro ezvinyorwa akarekodhwa akabatanidzwa;
  • Yakawedzerwa tsigiro yepessimistic locking mode, iyo inoita kuti transaction process ifanane neMySQL;
  • Yakawedzera tsigiro yemabasa emahwindo (mahwindo mabasa kana analytical mabasa) anoenderana neMySQL 8.0. Mahwindo emabasa anotendera iwe kuti uite maverengero ega ega mutsara wemubvunzo uchishandisa mamwe mitsara. Kusiyana neaggregate function, iyo inodonhedza seti yakaunganidzwa yemitsara kuita mutsara mumwe, mafafitera anoita aggregate zvichienderana nezviri mu "hwindo," iro rinosanganisira imwe kana kupfuura mitsara kubva pane yabuda seti. Pakati peakaitwa mahwindo mabasa:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK neROW_NUMBER;

  • Yakawedzera kuyedza rutsigiro rwemaonero (VIEW);
  • Iyo yekugovera sisitimu yakagadziridzwa, kugona kugovera data muzvikamu zvichienderana nehupamhi hwetsika kana hashes yakawedzerwa;
  • Chimiro chekugadzira plugins chakawedzerwa, semuenzaniso, plugins dzakatogadzirirwa kushandisa IP whitelist kana kuchengetedza gwaro rekuongorora;
  • Rutsigiro rwekuyedza rwakapihwa kune "tsanangura ONGORORO" yekuvaka chirongwa chekuuraya cheSQL query (SQL Plan Management);
  • Yakawedzerwa next_row_id command kuti uwane ID yemutsara unotevera;
  • Yakawedzera mabasa akavakirwa mukati JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE uye NAME_CONST.

Source: opennet.ru

Voeg