Verëffentlechung vum verdeelt DBMS TiDB 3.0

Verfügbar Verëffentlechung vun engem verdeelt DBMS TiDB 3.0, entwéckelt ënner dem Afloss vu Google Technologien Spanner и F1. TiDB gehéiert zu der Kategorie vun Hybrid HTAP (Hybrid Transactional / Analytical Processing) Systemer, fäeg souwuel Echtzäit Transaktiounen (OLTP) ze liwweren an analytesch Ufroen ze veraarbecht. De Projet ass a Go Sprooch geschriwwen an verdeelt duerch lizenzéiert ënner Apache 2.0.

Features vun TiDB:

  • SQL Ënnerstëtzung an Dispositioun vun engem Client Interface kompatibel mam MySQL Protokoll, déi d'Adaptatioun vun bestehend Uwendungen schrëftlech fir MySQL zu TiDB vereinfacht, an erlaabt och d'Benotzung vun gemeinsam Client Bibliothéiken. Zousätzlech zum MySQL Protokoll kënnt Dir e JSON-baséiert API an e Connector fir Spark benotzen fir op d'DBMS ze kommen.
  • SQL Fonctiounen ënnerstëtzen Indexen, aggregéiert Funktiounen, GROUP BY, ORDER BY, DISTINCT Ausdréck, Fusioun (LEFT JOIN / RIGHT JOIN / CROSS JOIN), Meenungen, Fënsterfunktiounen an Ënnerufroen. Déi geliwwert Fäegkeeten si genuch fir d'Aarbecht mat TiDB fir sou Webapplikatiounen wéi PhpMyAdmin ze organiséieren, brillen a WordPress;
  • Horizontal Skalierbarkeet a Feelertoleranz: Späichergréisst a Veraarbechtungskraaft kënne erhéicht ginn andeems se einfach nei Wirbelen verbannen. D'Donnéeë ginn iwwer Node mat Redundanz verdeelt, wat d'Operatioun erlaabt weiderzeféieren wann eenzel Noden versoen. Feeler ginn automatesch gehandhabt.
  • De System garantéiert Konsistenz a fir d'Client Software gesäit et aus wéi eng grouss DBMS, trotz der Tatsaach, datt tatsächlech Daten aus ville Wirbelen ugezunn sinn fir d'Transaktioun ofzeschléissen.
  • Fir kierperlech Daten op Noden ze späicheren, kënne verschidde Backends benotzt ginn, zum Beispill lokal Späichermotoren GoLevelDB a BoltDB oder eisen eegene verdeelte Späichermotor TiKV.
  • D'Kapazitéit fir de Späicherschema asynchron z'änneren, wat Iech erlaabt Spalten an Indexen op der Flucht ze addéieren ouni d'Veraarbechtung vun de lafenden Operatiounen ze stoppen.

Haaptstrooss Innovatiounen:

  • Et gouf geschafft fir d'Produktivitéit ze erhéijen. Am Sysbench Test ass d'Verëffentlechung 3.0 2.1 Mol méi séier wéi d'1.5 Branche wann Dir Auswiel an Update Operatiounen ausféiert, an am TPC-C Test ëm 4.5 Mol. Optimisatiounen hunn verschidden Zorte vu Ufroen beaflosst, dorënner IN, DO an NET EXISTS Subqueries, Table Merging (JOIN) Operatiounen, d'Benotzung vun Indexen a vill méi;
    Verëffentlechung vum verdeelt DBMS TiDB 3.0Verëffentlechung vum verdeelt DBMS TiDB 3.0

  • En neien TiFlash Späichermotor bäigefüügt, deen eng méi héich Leeschtung bei der Léisung vun analytesche Probleemer (OLAP) erlaabt dank der Kolonnspäicherung. TiFlash ergänzt déi virdru ugebueden TiKV-Speicherung, déi row-wise Daten an engem Schlëssel / Wäertformat späichert an ass méi ideal fir Transaktiounsveraarbechtungsaufgaben (OLTP). TiFlash schafft niewent dem TiKV an d'Daten ginn weider op TiKV replizéiert wéi virdrun de Raft Protokoll benotzt fir Konsens ze bestëmmen, awer fir all Grupp vu Raft Repliken gëtt eng zousätzlech Replik erstallt déi am TiFlash benotzt gëtt. Dës Approche erlaabt eng besser Ressource Deele tëscht OLTP an OLAP Aufgaben, a mécht och Transaktiounsdaten direkt sinn fir analytesch Ufroen;

    Verëffentlechung vum verdeelt DBMS TiDB 3.0

  • E verdeelt Müllsammler gouf implementéiert, wat d'Geschwindegkeet vun der Müllsammlung an de grousse Cluster wesentlech erhéijen kann an d'Stabilitéit verbesseren;
  • Eng experimentell Implementatioun vu Role-Based Access Control (RBAC) gouf bäigefüügt. Et ass och méiglech Zougangsrechter fir d'ANALYZE, USE, SET GLOBAL a SHOW PROCESSLIST Operatiounen ze setzen;
  • D'Fäegkeet bäigefüügt fir SQL Ausdréck ze benotzen fir lues Ufroen aus dem Logbuch ze extrahieren;
  • E Mechanismus fir séier geläscht Dëscher ze restauréieren ass ëmgesat ginn, wat Iech erlaabt zoufälleg geläscht Donnéeën ze restauréieren;
  • D'Format vun opgeholl Logbicher gouf vereenegt;
  • Zousätzlech Ënnerstëtzung fir pessimistesch Sperrmodus, wat d'Transaktiounsveraarbechtung méi ähnlech wéi MySQL mécht;
  • Zousätzlech Ënnerstëtzung fir Fënsterfunktiounen (Fënsterfunktiounen oder analytesch Funktiounen) kompatibel mat MySQL 8.0. Fënsterfunktiounen erlaben Iech Berechnunge fir all Ufrorei mat anere Reihen auszeféieren. Am Géigesaz zu aggregéierte Funktiounen, déi e gruppéierte Set vu Reihen an eng eenzeg Zeil zesummeklappen, aggregéiert Fënsterfunktiounen op Basis vum Inhalt vun enger "Fënster", déi eng oder méi Reihen aus dem Resultatset enthält. Ënnert den implementéierten Fënsterfunktiounen:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK an ROW_NUMBER;

  • Zousätzlech experimentell Ënnerstëtzung fir Meenungen (VIEW);
  • De Partitioningsystem gouf verbessert, d'Fäegkeet fir Daten an Sektiounen ze verdeelen baséiert op enger Rei vu Wäerter oder Hashes gouf bäigefüügt;
  • E Kader fir d'Entwécklung vu Plugins gouf derbäigesat, zum Beispill, Plugins si scho virbereet fir eng IP Whitelist ze benotzen oder en Auditprotokoll z'erhalen;
  • Experimentell Ënnerstëtzung gouf fir d'"EXPLAIN ANALYZE" Funktioun zur Verfügung gestallt fir en Ausféierungsplang fir eng SQL Ufro (SQL Plan Management) ze konstruéieren;
  • Next_row_id Kommando dobäigesat fir d'ID vun der nächster Zeil ze kréien;
  • Nei agebaute Funktiounen dobäigesat JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE an NAME_CONST.

Source: opennet.ru

Setzt e Commentaire