Veröffentlichung der verteilten Datenbank TiDB 4.0

Verfügbar Release der verteilten DBMS TiDB 4.0, inspiriert von Technologien von Google Spanner und F1. TiDB gehört zur Kategorie der hybriden HTAP-Systeme (Hybrid Transactional/Analytical Processing), die sowohl Echtzeitztransaktionen (OLTP) unterstützt als auch analytische Abfragen verarbeiten kann. Das Projekt ist in der Programmiersprache Go geschrieben und wird verbreitet unter der Apache 2.0 Lizenz.

Merkmale von TiDB:

  • Unterstützung von SQL und Bereitstellung einer Client-Schnittstelle, die mit dem MySQL-Protokoll kompatibel ist, was die Anpassung vorhandener Anwendungen, die für MySQL geschrieben wurden, an TiDB erleichtert und die Verwendung gängiger Client-Bibliotheken ermöglicht. Neben dem MySQL-Protokoll kann auch eine JSON-basierte API und ein Connector für Spark verwendet werden, um auf die DBMS zuzugreifen.
  • Zu den SQL-Funktionen gehören Indizes, Aggregatfunktionen, GROUP BY, ORDER BY, DISTINCT, Joins (LEFT JOIN / RIGHT JOIN / CROSS JOIN), Sichten, Fensterfunktionen und Unterabfragen. Diese Funktionen sind ausreichend für die Integration von TiDB in Webanwendungen wie PhpMyAdmin, Gogs und WordPress;
  • Die Möglichkeit zur horizontalen Skalierung und Gewährleistung der Ausfallsicherheit: Speichergröße und Rechenleistung können einfach durch Anschluss neuer Knoten erweitert werden. Die Daten werden redundant auf die Knoten verteilt, sodass der Betrieb im Falle eines Ausfalls einzelner Knoten fortgesetzt werden kann. Ausfälle werden automatisch verarbeitet.
  • Das System gewährleistet die Konsistenz und erscheint für die Client-Software wie eine große DBMS, obwohl tatsächlich Daten von mehreren Knoten abgerufen werden, um eine Transaktion auszuführen.
  • Für die physische Speicherung von Daten können an den Knoten verschiedene Backends verwendet werden, beispielsweise lokale Speicher-Engines wie GoLevelDB und BoltDB oder eigene verteilte Speicherengines TiKV und TiFlash. TiKV speichert Daten zeilenweise im Schlüssel/Wert-Format und ist für Transaktionsverarbeitung (OLTP) optimiert. TiFlash speichert Daten spaltenweise und ermöglicht eine höhere Leistung bei analytischen Aufgaben (OLAP).
  • Die Möglichkeit zur asynchronen Änderung des Speicherschemas, die es ermöglicht, Spalten und Indizes ohne Unterbrechung der Verarbeitung aktueller Vorgänge hinzuzufügen.

In der neuen Version:

  • Standardmäßig ist der verteilte Garbage Collector Green GC aktiviert, der die Geschwindigkeit der Müllbereinigung in großen Clustern erheblich steigert und die Stabilität der Leistung verbessert;
  • Unterstützung für große Transaktionen hinzugefügt, deren Größe praktisch nur durch den physischen Speicher begrenzt ist. Die Begrenzung der Größe einer Transaktion wurde von 100 MB auf 10 GB erhöht;
  • Unterstützung für die BACKUP- und RESTORE-Befehle zum Sichern hinzugefügt;
  • Die Möglichkeit, Sperren auf Tabellen zu setzen, wurde hinzugefügt;
  • Ein mit MySQL kompatibler Transaktionsisolationsmechanismus auf Lesebasis (READ COMMITTED) wurde hinzugefügt;
  • Der Befehl "ADMIN SHOW DDL JOBS" unterstützt jetzt LIKE- und WHERE-Ausdrücke;
  • Der Parameter oom-use-tmp-storage wurde hinzugefügt, der die Verwendung von temporären Dateien zum Caching von Zwischenergebnissen bei unzureichendem Arbeitsspeicher ermöglicht;
  • Das Schlüsselwort Random wurde hinzugefügt, um Attributen zufällige Werte zuzuweisen;
  • Im Befehl LOAD DATA gibt es jetzt die Möglichkeit, hexadezimale und binäre Ausdrücke zu verwenden;
  • 15 Parameter zur Steuerung des Verhaltens des Optimierers wurden hinzugefügt;
  • Tools zur Diagnose der SQL-Abfrageleistung wurden hinzugefügt. Ein Langsame Abfragen-Protokoll wurde hinzugefügt, das über die systemeigenen Tabellen SLOW_QUERY / CLUSTER_SLOW_QUERY zugänglich ist;
  • Unterstützung für Funktionen zur Arbeit mit Sequenzen wurde hinzugefügt;
  • Die Möglichkeit, Konfigurationsparameter dynamisch zu ändern, die aus PD (Placement Driver, Cluster-Management-Server) gelesen werden, wurde hinzugefügt. Die Verwendung des Ausdrucks "SET CONFIG" zur Änderung der Einstellungen von PD/TiKV-Knoten wurde ermöglicht.
  • Die Einstellung max-server-connections wurde hinzugefügt, um die maximale Anzahl gleichzeitiger Verbindungen zum Server zu begrenzen (standardmäßig 4096);
  • Die Leistung in Situationen, in denen die angeforderten Spalten vollständig durch Indizes abgedeckt sind, wurde erhöht;
  • Eine Optimierung von Abfragen basierend auf der Indexverschmelzung wurde hinzugefügt;
  • Die Leistung bei Operationen mit Wertebereichen wurde verbessert;
  • Die CPU-Auslastung wurde durch das Caching von Ergebnissen bei Zugriffs auf Indizes und das Herausfiltern von Duplikaten reduziert;
  • Unterstützung für ein neues Format zur Speicherung von Zeilen hinzugefügt, das die Leistung von Tabellen mit einer großen Anzahl von Spalten erhöht;
  • Die Funktion GROUP_CONCAT unterstützt jetzt den Ausdruck "ORDER BY";
  • Die Möglichkeit, Daten aus dem TiFlash-Log über SQL zu extrahieren, wurde hinzugefügt;
  • Im Team „RECOVER TABLE“ wurde die Unterstützung für die Wiederherstellung von gekürzten Tabellen implementiert;
  • Eine systematische Tabelle DDLJobs wurde hinzugefügt, um Details zur Durchführung von DDL-Arbeiten abzufragen;
  • Die Möglichkeit, den Befehl SHOW CONFIG zur Anzeige der Einstellungen von PD und TiKV anzuwenden, wurde hinzugefügt;
  • Aktiviert Standardmäßig der Cache des Co-Prozessors;
  • Die Anzahl der Goroutinen in der Phase der Commit-Wiederholungen kann jetzt mithilfe der Einstellung committer-concurrency kontrolliert werden;
  • Die Möglichkeit zur Anzeige der Regionen von Tabellenpartitionen wurde hinzugefügt;
  • Im tidb-Server wurde die Möglichkeit hinzugefügt, die Größe des temporären Speichers zu beschränken;
  • Unterstützung für die Operationen „insert into tbl_name partition(partition_name_list)“ und „replace into tbl_name partition(partition_name_list)“ wurde hinzugefügt;
  • In dem für die Partitionierung verwendeten Hash wurde die Unterstützung für die Filterung nach dem Kriterium „is null“ hinzugefügt;
  • Für partitionierte Tabellen wurde die Unterstützung für Prüf-, Bereinigungs- und Wiederherstellungsoperationen von Indizes hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4