TiDB 3.0 ferspraat DBMS release

Beskikber frijlitting fan in ferspraat DBMS TiDB 3.0, ûntwikkele ûnder de ynfloed fan Google-technologyen Stretcher и F1. TiDB heart ta de kategory fan hybride HTAP (Hybrid Transactional/Analytical Processing) systemen, by steat om sawol real-time transaksjes (OLTP) te leverjen as analytyske fragen te ferwurkjen. It projekt is skreaun yn Go en ferspraat troch lisinsje ûnder Apache 2.0.

Funksjes fan TiDB:

  • SQL-stipe en it oanbieden fan in client-ynterface kompatibel mei it MySQL-protokol, wat de oanpassing fan besteande applikaasjes skreaun foar MySQL nei TiDB simplifies, en ek it brûken fan mienskiplike kliïntbiblioteken mooglik makket. Neist it MySQL-protokol kinne jo in JSON-basearre API en in ferbining brûke foar Spark om tagong te krijen ta de DBMS.
  • SQL-funksjes stypje yndeksen, aggregate funksjes, GROUP BY, ORDER BY, DISTINCT-útdrukkingen, gearfoegings (LEFT JOIN / RIGHT JOIN / CROSS JOIN), werjeften, finsterfunksjes en subqueries. De levere mooglikheden binne genôch om wurk mei TiDB te organisearjen foar sokke webapplikaasjes as PhpMyAdmin, bril en WordPress;
  • Horizontale skalberens en fouttolerânsje: opslachgrutte en ferwurkingskrêft kinne wurde ferhege troch gewoan nije knopen te ferbinen. Gegevens wurde ferdield oer knooppunten mei redundans, wêrtroch operaasje kin trochgean as yndividuele knooppunten mislearje. Mislearrings wurde automatysk behannele.
  • It systeem garandearret konsistinsje en foar de kliïntsoftware liket it op ien grutte DBMS, nettsjinsteande it feit dat feitlik gegevens fan in protte knooppunten oanlutsen wurde om de transaksje te foltôgjen.
  • Om fysyk gegevens op knooppunten op te slaan, kinne ferskate backends brûkt wurde, bygelyks lokale opslachmotoren GoLevelDB en BoltDB of ús eigen ferdielde opslachmotor TiKV.
  • De mooglikheid om it opslachskema asynchronysk te feroarjen, wêrtroch jo kolommen en yndeksen op 'e flecht kinne tafoegje sûnder de ferwurking fan trochgeande operaasjes te stopjen.

haad ynnovaasjes:

  • Der is wurke oan it fergrutsjen fan de produktiviteit. Yn 'e Sysbench-test is release 3.0 2.1 kear flugger as de 1.5-tûke by it útfieren fan selekteare en aktualisearje operaasjes, en yn' e TPC-C-test troch 4.5 kear. Optimisaasjes hawwe beynfloede ferskate soarten queries, ynklusyf IN, DO en NOT EXISTS subqueries, tabel gearfoegjen (JOIN) operaasjes, it brûken fan yndeksen en folle mear;
    TiDB 3.0 ferspraat DBMS releaseTiDB 3.0 ferspraat DBMS release

  • In nije TiFlash-opslachmotor tafoege dy't hegere prestaasjes mooglik makket by it oplossen fan analytyske problemen (OLAP) troch kolomme opslach. TiFlash komplementeart de earder oanbean TiKV-opslach, dy't rige-wize gegevens opslacht yn in kaai / wearde-formaat en is ideaaler foar transaksjeferwurkingstaken (OLTP). TiFlash wurket njonken side mei TiKV en gegevens bliuwend wurde replikearre nei TiKV lykas earder it Raft-protokol brûkt om konsensus te bepalen, mar foar elke groep Raft-replika's wurdt in ekstra replika makke dy't brûkt wurdt yn TiFlash. Dizze oanpak soarget foar bettere dielen fan boarnen tusken OLTP- en OLAP-taken, en makket ek transaksjegegevens direkt beskikber foar analytyske fragen;

    TiDB 3.0 ferspraat DBMS release

  • In ferdield garbage samler is ymplemintearre, dat kin gâns fergrutsje de snelheid fan garbage sammeljen yn grutte klusters en ferbetterjen stabiliteit;
  • In eksperimintele ymplemintaasje fan Role-Based Access Control (RBAC) is tafoege. It is ek mooglik om tagongsrjochten yn te stellen foar de operaasjes ANALYZE, GEBRUK, SET GLOBAL en SHOW PROCESSLIST;
  • De mooglikheid tafoege om SQL-útdrukkingen te brûken om trage queries út it log te heljen;
  • In meganisme foar it fluch werstellen fan wiske tabellen is ymplementearre, wêrtroch jo per ûngelok wiske gegevens kinne weromsette;
  • It formaat fan opnommen logs is ferienige;
  • Stipe tafoege foar pessimistyske beskoattelmodus, wêrtroch transaksjeferwurking mear ferlykber is mei MySQL;
  • Stipe tafoege foar finsterfunksjes (finsterfunksjes as analytyske funksjes) kompatibel mei MySQL 8.0. Finsterfunksjes kinne jo berekkeningen útfiere foar elke query-rige mei oare rigen. Oars as aggregaatfunksjes, dy't in groepearre set fan rigen yn ien rige ynstoart, sammelje finsterfunksjes op basis fan de ynhâld fan in "finster", dat ien of mear rigen fan 'e resultaatset omfettet. Under de ymplementearre finsterfunksjes:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK en ROW_NUMBER;

  • Eksperimintele stipe tafoege foar werjeften (VIEW);
  • It partitioneringssysteem is ferbettere, de mooglikheid om gegevens te fersprieden yn seksjes basearre op in berik fan wearden as hashes is tafoege;
  • In ramt foar it ûntwikkeljen fan plugins is tafoege, bygelyks plugins binne al taret foar it brûken fan in IP-wittelist of it behâld fan in kontrôlelog;
  • Eksperimintele stipe is levere foar de funksje "EXPLAIN ANALYZE" foar it bouwen fan in útfieringsplan foar in SQL-query (SQL Plan Management);
  • Next_row_id kommando tafoege om de ID fan 'e folgjende rige te krijen;
  • Nije ynboude funksjes tafoege JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE en NAME_CONST.

Boarne: opennet.ru

Add a comment