bigdata:newsql
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
bigdata:newsql [2015/10/05 21:31] – [Architektur-Prinzipien] brueck | bigdata:newsql [2015/10/05 21:32] – [Neuer Ansatz] brueck | ||
---|---|---|---|
Zeile 64: | Zeile 64: | ||
Auf Grundlage von Shore wurde dann mit „H-Store“, | Auf Grundlage von Shore wurde dann mit „H-Store“, | ||
- | Für die Umsetzung nutzten sie Techniken wie die **Shared-Nothing**-Architektur, | + | Für die Umsetzung nutzten sie Techniken wie die **Shared-Nothing**-Architektur, |
Vor allem wurde auf [[bigdata: | Vor allem wurde auf [[bigdata: | ||
- | Um Latching- und Locking-Overhead zu vermeiden, wurde auf klassisches Multithreading mit geteilten Ressourcen verzichtet, stattdessen wird pro Prozessorkern ein **Single-Thread** betrieben, der einen eigenes Stück RAM für sich bekommt und keinerlei Ressourcen oder Datenstrukturen teilt. In einem System mit n CPUs wird der Hauptspeicher also in n Teile geteilt. Somit ist auch keine aufwendige Ressourcenverwaltung wie in aktuellen (multithreaded) RDBMS nötig. ([[bigdata: | + | Um Latching- und Locking-Overhead zu vermeiden, wurde auf klassisches Multithreading mit geteilten Ressourcen verzichtet, stattdessen wird pro Prozessorkern ein **Single-Thread** betrieben, der einen eigenes Stück RAM für sich bekommt und keinerlei Ressourcen oder Datenstrukturen teilt. In einem System mit n CPUs wird der Hauptspeicher also in n Teile geteilt. Somit ist auch keine aufwendige Ressourcenverwaltung wie in aktuellen (multithreaded) RDBMS nötig. ([[bigdata: |
- | Für die Sicherheit des Datenbestandes setzen H-Store und VoltDB auf **Command-Logging**, | + | Für die Sicherheit des Datenbestandes setzen H-Store und VoltDB auf **Command-Logging**, |
- | Logging kann alternativ auf ein kurzlebigen, | + | Logging kann alternativ auf ein kurzlebigen, |
Für Abfragen kommen vom Nutzer vordefinierte **Stored Procedures** zum Einsatz, die in Java geschrieben werden und eingebetteten SQL-92-Code zur Datenbankabfrage nutzen. | Für Abfragen kommen vom Nutzer vordefinierte **Stored Procedures** zum Einsatz, die in Java geschrieben werden und eingebetteten SQL-92-Code zur Datenbankabfrage nutzen. | ||
- | Eine weitere interessante NewSQL-Implementierung ist „**Splice Machine**“. Dabei handelt es sich um eine relationale Datenbank, die auf [[bigdata: | + | Eine weitere interessante NewSQL-Implementierung ist „**Splice Machine**“. Dabei handelt es sich um eine relationale Datenbank, die auf [[bigdata: |
- | Es vereint dabei SQL mit der [[bigdata: | + | Es vereint dabei SQL mit der [[bigdata: |
bigdata/newsql.txt · Zuletzt geändert: 2015/10/05 21:44 von brueck