TiDB 4.0 verteilte DBMS-Version

Verfügbar verteilte DBMS-Version TiDB 4.0unter dem Einfluss von Google-Technologien entwickelt Schlüssel и F1. TiDB gehört zur Kategorie der hybriden HTAP-Systeme (Hybrid Transactional/Analytical Processing), die sowohl Echtzeittransaktionen (OLTP) bereitstellen als auch analytische Abfragen verarbeiten können. Das Projekt ist in Go und geschrieben vertrieben von lizenziert unter Apache 2.0.

TiDB-Funktionen:

  • Unterstützung für SQL und Bereitstellung einer mit dem MySQL-Protokoll kompatiblen Client-Schnittstelle, die die einfache Anpassung vorhandener für MySQL geschriebener Anwendungen an TiDB ermöglicht und Ihnen auch die Verwendung gängiger Client-Bibliotheken ermöglicht. Zusätzlich zum MySQL-Protokoll können Sie die JSON-basierte API und den Connector für Spark verwenden, um auf das DBMS zuzugreifen.
  • Von den Funktionen von SQL werden Indizes, Aggregatfunktionen, GROUP BY, ORDER BY, DISTINCT-Ausdrücke, Zusammenführungen (LEFT JOIN / RIGHT JOIN / CROSS JOIN), Ansichten, Fensterfunktionen und Unterabfragen unterstützt. Die bereitgestellten Möglichkeiten reichen aus, um die Arbeit mit TiDB von Webanwendungen wie PhpMyAdmin, Gogs und WordPress;
  • Skalierung und Ausfallsicherheit: Speicher- und Verarbeitungsleistung können einfach durch das Hinzufügen neuer Knoten erhöht werden. Die Daten werden redundant auf die Knoten verteilt, damit der Betrieb fortgesetzt werden kann, wenn einzelne Knoten ausfallen. Fehler werden automatisch behandelt.
  • Das System garantiert Konsistenz und sieht für die Client-Software wie ein einziges großes DBMS aus, obwohl tatsächlich Daten von vielen Knoten beteiligt sind, um die Transaktion abzuschließen.
  • Für die physische Datenspeicherung auf Knoten können verschiedene Backends verwendet werden, beispielsweise lokale GoLevelDB- und BoltDB-Speicher-Engines oder native verteilte Speicher-Engines TiKV und TiFlash. TiKV speichert Daten zeilenweise im Schlüssel/Wert-Format und ist optimaler für Transaktionsverarbeitungsaufgaben (OLTP). TiFlash speichert Daten spaltenbasiert und ermöglicht Ihnen eine höhere Leistung bei der Lösung analytischer Probleme (OLAP).
  • Die Möglichkeit, das Speicherschema asynchron zu ändern, sodass Sie Spalten und Indizes im Handumdrehen hinzufügen können, ohne die Verarbeitung laufender Vorgänge anzuhalten.

In der neuen Version:

  • Standardmäßig ist der verteilte Garbage Collector Green GC aktiviert, der die Geschwindigkeit der Garbage Collection in großen Clustern deutlich erhöhen und die Stabilität verbessern kann;
  • Unterstützung für große Transaktionen hinzugefügt, deren Größe fast durch die Größe des physischen Speichers begrenzt ist. Die Größenbeschränkung für eine einzelne Transaktion wurde von 100 MB auf 10 GB erhöht.
  • Unterstützung für BACKUP- und RESTORE-Befehle für die Sicherung hinzugefügt;
  • Möglichkeit hinzugefügt, eine Sperre für Tabellen festzulegen;
  • MySQL-kompatibler Transaktionsisolationsmechanismus auf Leseebene hinzugefügt (READ COMMITTED);
  • Dem Befehl „ADMIN SHOW DDL JOBS“ wurde Unterstützung für LIKE- und WHERE-Ausdrücke hinzugefügt.
  • Der Parameter oom-use-tmp-storage wurde hinzugefügt, der die Verwendung temporärer Dateien zum Zwischenspeichern von Zwischenergebnissen bei unzureichendem RAM ermöglicht;
  • Schlüsselwort „Random“ hinzugefügt, um Attributen Zufallswerte zuzuweisen;
  • Der Befehl LOAD DATA bietet jetzt die Möglichkeit, hexadezimale und binäre Ausdrücke zu verwenden.
  • 15 Parameter zur Steuerung des Optimiererverhaltens hinzugefügt;
  • Tools zur Diagnose der Leistung von SQL-Abfragen hinzugefügt. Langsames Abfrageprotokoll hinzugefügt, das über die Systemtabellen SLOW_QUERY / CLUSTER_SLOW_QUERY verfügbar ist;
  • Unterstützung für Funktionen zum Arbeiten mit Sequenzen hinzugefügt;
  • Es wurde die Möglichkeit hinzugefügt, die vom PD (Placement Driver, Cluster-Management-Server) gelesenen Konfigurationsparameter dynamisch zu ändern. Es wurde die Möglichkeit hinzugefügt, die Anweisung „SET CONFIG“ zu verwenden, um die Einstellungen von PD/TiKV-Knoten zu ändern.
  • Einstellung „max-server-connections“ hinzugefügt, um die maximale Anzahl gleichzeitiger Verbindungen zum Server zu begrenzen (standardmäßig 4096);
  • Verbesserte Leistung in Situationen, in denen die angeforderten Spalten vollständig durch Indizes abgedeckt sind;
  • Abfrageoptimierung basierend auf der Zusammenführung von Indizes hinzugefügt;
  • Verbesserte Leistung von Operationen mit Wertebereichen;
  • Reduzierte CPU-Belastung durch Zwischenspeichern der Ergebnisse des Zugriffs auf Indizes und Herausfiltern von Duplikaten;
  • Unterstützung für ein neues String-Speicherformat hinzugefügt, mit dem Sie die Leistung von Tabellen mit einer großen Anzahl von Spalten steigern können;
  • Die Funktion GROUP_CONCAT unterstützt jetzt den Ausdruck „ORDER BY“.
  • Möglichkeit hinzugefügt, Daten aus dem TiFlash-Protokoll über SQL zu extrahieren;
  • Der Befehl „RECOVER TABLE“ implementiert die Unterstützung für die Wiederherstellung abgeschnittener Tabellen;
  • DDLJobs-Systemtabelle hinzugefügt, um Details zur DDL-Jobausführung abzufragen;
  • Möglichkeit hinzugefügt, den Befehl SHOW CONFIG zu verwenden, um PD- und TiKV-Einstellungen anzuzeigen;
  • Eingeschaltet Standard-Coprozessor-Cache;
  • Die Anzahl der Goroutinen in der Commit-Wiederholungsphase kann jetzt mithilfe der Einstellung „Committer-Concurrency“ gesteuert werden.
  • Möglichkeit hinzugefügt, die Bereiche der Tabellenpartition anzuzeigen;
  • Möglichkeit hinzugefügt, die Größe des temporären Speichers auf den TIDB-Server zu beschränken;
  • Unterstützung für die Operationen „Einfügen in Tabellenname-Partition (Partitionsnamensliste)“ und „Ersetzen in Tabellennamenspartition (Partitionsnamensliste)“ hinzugefügt;
  • Im Hash, der für die Partitionierung (Partitionierung) verwendet wird, wurde Unterstützung für die Filterung auf Basis von „ist null“ hinzugefügt;
  • Für partitionierte Tabellen wurde Unterstützung für das Überprüfen, Bereinigen und Wiederherstellen von Indizes hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen