DB-Cluster-System Vitess 20 bietet mehr DML-Optionen für Abfragen
Release 20 des Vitess Cluster-Systems stellt erweiterte DML-Funktionen zum Konfigurieren von Querys bereit. Der Kubernetes Operator erreicht Version 2.13.0.
Das Cloud-native Cluster-System Vitess liegt ab sofort in Version 20 vor. Mit dem Update des bei der Cloud Native Computing Foundation (CNCF) gehosteten Projekts liefert das Entwicklerteam zudem den Vitess Kubernetes Operator in Version 2.13.0 aus. Neben einigen Updates bestehender Funktionen sowie verschiedenen Änderungen, die mit Breaking Changes verbunden sind, sollen die meisten Neuerungen zu einer besseren Benutzerfreundlichkeit beitragen. Unter anderem bietet das Release erweiterten Support für die Data Manipulation Language (DML), der zusätzliche Optionen für Querys eröffnet.
Mehr Kontrolle und Effizienz bei Sharded Data
Laut Ankündigung im CNCF-Blog dürfen Anwenderinnen und Anwender von Vitess 20 auf eine höhere Kompatibilität bei Abfragen vertrauen. Die Ergänzungen reichen von Vindex-Hinweisen über Sharded-Updates mit Limits und Multi-Table-Updates bis hin zu erweiterten Löschoperationen, die zu mehr Kontrolle und Effizienz beim Verwalten von Sharded-Daten beitragen sollen. Vindex-Hinweise etwa erlauben gezielteren Einfluss auf das Shard-Routing zu nehmen.
SELECT * FROM user USE VINDEX (hash_user_id, secondary_vindex) WHERE user_id = 123;
SELECT * FROM order IGNORE VINDEX (range_order_id) WHERE order_date = '2021-01-01';
Einer der Breaking Changes, die Anwenderinnen und Anwender beim Wechsel auf das neue Release berücksichtigen müssen, betrifft die Umbenennung verschiedener Metriken, die für den Einsatz der Cluster-Überwachungs- und Wiederherstellungskomponente VTOrc relevant sind. Die alten Namen bleiben zwar vorerst in /debug/vars erhalten, sollen in späteren Releases aber entfallen. Die folgende Tabelle stellt alte und neue Metrikbezeichnungen gegenüber – einschließlich der in Prometheus üblichen Namen, zu denen sie jeweils aufgelöst werden:
Alte Metrikbezeichnung | Neue Metrikbezeichnung | Name in Prometheus |
analysis.change.write | AnalysisChangeWrite | vtorc_analysis_change_write |
audit.write | AuditWrite | vtorc_audit_write |
discoveries.attempt | DiscoveriesAttempt | vtorc_discoveries_attempt |
discoveries.fail | DiscoveriesFail | vtorc_discoveries_fail |
discoveries.instance_poll_seconds_exceeded | DiscoveriesInstancePollSecondsExceeded | vtorc_discoveries_instance_poll_seconds_exceeded |
discoveries.queue_length | DiscoveriesQueueLength | vtorc_discoveries_queue_length |
discoveries.recent_count | DiscoveriesRecentCount | vtorc_discoveries_recent_count |
instance.read | InstanceRead | vtorc_instance_read |
instance.read_topology | InstanceReadTopology | vtorc_instance_read_topology |
emergency_reparent_counts | EmergencyReparentCounts | vtorc_emergency_reparent_counts |
planned_reparent_counts | PlannedReparentCounts | vtorc_planned_reparent_counts |
reparent_shard_operation_timings | ReparentShardOperationTimings | vtorc_reparent_shard_operation_timings_bucket |
Neue experimentelle Funktionen
Für die bei Webanwendungen häufig zu findende mandantenfähige Architektur, bei der jeder Mandant seine eigene Datenbank mit identischen Schemata nutzt, soll die neue experimentelle Funktion VReplication Multi-Tenant-Importe vereinfachen. Um in einer solchen Architektur Herausforderungen wie das Provisionieren und Skalieren zu erleichtern, bietet sich ein geshardeter Vitess-Keyspace an, der mit einer einzigen logischen Datenbank alle Mandanten bedient. Der dazu erforderliche Datenimport in den Keyspace lässt sich in Vitess 20 per VReplication über den MoveTables
-Workflow mit den Flags --shards
und --tenant
umsetzen.
Ebenfalls noch als experimentell gelten neue Funktionen im Vitess Kubernetes Operator 2.13.0. Der Operator bietet nun die Möglichkeit, automatisierte und zeitgesteuerte Backups einzurichten. Details zur Handhabung dieser Sicherungsfunktionen liefert ein aktualisierter User Guide.
Weitergehende Informationen zum neuen Major Release finden sich im CNCF-Blogbeitrag zur Verfügbarkeit von Vitess 20. Einen detaillierten Überblick aller Neuerungen liefern die Release Notes auf GitHub.
(map)