NewSQL - NewSQL
NewSQL ist eine Klasse relationaler Datenbankverwaltungssysteme , die die Skalierbarkeit von NoSQL- Systemen für Online-Transaktionsverarbeitung (OLTP)-Workloads bieten und gleichzeitig die ACID- Garantien eines herkömmlichen Datenbanksystems beibehalten .
Viele Unternehmenssysteme , die hochkarätige Daten verarbeiten (z. B. Finanz- und Auftragsverarbeitungssysteme), sind für herkömmliche relationale Datenbanken zu groß, haben jedoch Transaktions- und Konsistenzanforderungen, die für NoSQL-Systeme nicht praktikabel sind. Die einzigen Optionen, die diesen Organisationen bisher zur Verfügung standen, bestanden darin, entweder leistungsfähigere Computer zu kaufen oder eine benutzerdefinierte Middleware zu entwickeln , die Anfragen über herkömmliches DBMS verteilt . Beide Ansätze weisen hohe Infrastrukturkosten und/oder Entwicklungskosten auf. NewSQL-Systeme versuchen, die Konflikte beizulegen.
Geschichte
Der Begriff wurde erstmals von Matthew Aslett, einem Analysten der 451 Group, in einem Forschungspapier aus dem Jahr 2011 verwendet, das den Aufstieg einer neuen Generation von Datenbankverwaltungssystemen diskutiert. Eines der ersten NewSQL-Systeme war das parallele Datenbanksystem H-Store .
Anwendungen
Typische Anwendungen zeichnen sich durch hohe OLTP- Transaktionsvolumina aus. OLTP-Transaktionen;
- sind kurzlebig (dh keine Benutzerblockierungen)
- Berühren Sie kleine Datenmengen pro Transaktion
- Verwenden Sie indizierte Lookups (keine Tabellenscans)
- haben eine kleine Anzahl von Formularen (eine kleine Anzahl von Abfragen mit unterschiedlichen Argumenten).
Einige unterstützen jedoch HTAP-Anwendungen ( Hybrid Transactional/Analytical Processing ). Solche Systeme verbessern die Leistung und Skalierbarkeit, indem sie schwere Wiederherstellung oder Parallelitätssteuerung weglassen .
Liste der NewSQL-Datenbanken
- Cluster
- NuoDB
- VoltDB
- SingleStore war früher als MemSQL bekannt.
- TransLattie Elastic Database
- Drehbares GemFire XD
- Apache Trafodion
- TokuDB
- TIBCO Aktive Räume
- Google-Schraubenschlüssel
- KakerlakeDB
- TiDB
- Amazon Aurora
Merkmale
Die beiden gemeinsamen Unterscheidungsmerkmale von NewSQL-Datenbanklösungen sind, dass sie die Online-Skalierbarkeit von NoSQL-Datenbanken und das relationale Datenmodell (einschließlich ACID-Konsistenz) mit SQL als primärer Schnittstelle unterstützen.
NewSQL-Systeme lassen sich grob in drei Kategorien einteilen:
Neue Architekturen
NewSQL-Systeme verwenden verschiedene interne Architekturen. Einige Systeme verwenden einen Cluster von Shared-Nothing- Knoten, in denen jeder Knoten eine Teilmenge der Daten verwaltet. Dazu gehören Komponenten wie verteilte Parallelitätskontrolle , Flusskontrolle und verteilte Abfrageverarbeitung.
SQL-Engines
Die zweite Kategorie sind optimierte Speicher-Engines für SQL . Diese Systeme bieten dieselbe Programmierschnittstelle wie SQL, lassen sich jedoch besser skalieren als integrierte Engines.
Transparentes Scherben
Diese Systeme teilen Datenbanken automatisch auf mehrere Knoten auf, indem sie den Konsensalgorithmus von Raft oder Paxos verwenden.
Siehe auch
- Transaktionsverarbeitung
- Partition (Datenbank)
- Verteilte relationale Datenbankarchitektur
- Verteiltes SQL