Login
Newsletter
Werbung

Mi, 5. August 2009, 13:23

Software::Datenbanken

MySQL- und Ingres-Datenbanken sollen schneller werden

Verschiedene Projekte wollen unabhängig dafür sorgen, dass die Open-Source-Datenbanken Ingres und MySQL schneller werden.

Der Ingres-Datenbank hat sich mit VectorWise ein Team des in Amsterdam sitzenden Centrum Wiskunde & Informatica (CWI), ein Forschungszentrum der Mathematik und Informatik, angenommen. In Zusammenarbeit mit Intel wollen sie die Leistungsfähigkeit moderner Hardware für Datenbanken nutzen. Milliarden von Transaktionen sollen innerhalb von Sekunden durchzuführen sein. Die VectorWise-Datenbankforscher haben zu diesem Zweck eine als »X100 engine« betitelte Core-Engine-Architektur entwickelt, die eine vektorbasierte spaltenweise Datenverarbeitung nutzt. Die Operationen werden mittels »in-cache-processing« im Cache des Prozessors ausgeführt, der Hauptspeicher wird nur noch als Puffer für die Ein- und Ausgabe der Daten verwendet. Ihren Test hatten die Entwickler mit einer Abfrage an eine Datenbank mit sechs Millionen Werten gemacht, welche vier Summen, vier Durchschnitte, eine Anzahl, jeweils zwei Multiplikationen, Additionen und Subtraktionen beinhaltete. Ingres 9.0 bewältigte die Aufgabe in 16,5 Sekunden, ein C++-Programm in 0,04 Sekunden und die VectorWise-Engine in 0,206 Sekunden.

Um die Leistung für riesige, auf Festplatten gespeicherte Datenbanken zu nutzen, haben die Forscher eine neue ColumnBM-Speicher-Verwaltung entwickelt, welche Kompression und Spalten-Cluster-Techniken verwendet. Statt einzelner Werte werden mehrere Tupel (Vektoren) von den relationalen Operatoren bearbeitet. Zu diesem Zweck hat VectorWise auch die Operatoren vektorisiert. Ein Vektor enthält zwischen 100 und 1000 Werte, ein Auswahl-Vektor überwacht den Prozess, und speichert die Positionen der einzelnen Vektoren. Die Tupelgröße ist so gewählt, dass alle für eine Abfrage benötigten Vektoren in den CPU-Cache passen. Die Optimierungen sollen dazu führen, dass Datenbanksysteme bis zu zehnmal schneller sind. Infolge dessen sind weniger Datenbankserver nötig, um auch komplexe Aufgaben zu bewältigen.

Auch MySQL soll schneller werden. Hier ist das Startup Hexagram 49 mit seiner Datenbank-Engine RethinkDB am Start. Anders als bei Ingres sollen hier moderne SSDs und Flash-Speicher eingesetzt werden, welche aufgrund fehlender Mechanik schnellere Schreib- und Lesezugriffe erlauben. RethinkDB hat ebenfalls neue Algorithmen entwickelt. Werden Daten verändert, werden die Änderungen an das Ende der Datenbank geschrieben. So ist es nicht nötig, dass die entsprechenden Tabellen für den Schreibzugriffe gesperrt werden müssen und gleichzeitig gelesen werden können. Zudem soll es möglich sein, im laufenden Betrieb die Struktur der Datenbank zu ändern, Garbage Collection und Backups durchzuführen.

RethinkDB steht noch ganz am Anfang. Die Roadmap sieht als nächste Schritte vor, einen Live-Disk-Garbage-Collector zu entwickeln. Zudem sind noch zahlreiche ausführliche Tests nötig. Wer sich beteiligen möchte, kann mit den Entwicklern Kontakt aufnehmen. Erste, auf MySQL 5.1.31 basierende Pakete für 32- und 64-Bit-Architekturen sind im Download-Bereich des Projekts erhältlich.

Werbung
Kommentare (Insgesamt: 17 || Alle anzeigen )
Re[2]: Ingres schneller werden? (Detlef Dosenbier, Do, 19. August 2010)
Re: Ingres schneller werden? (Ressource1, Mo, 10. August 2009)
Ingres schneller werden? (Ressource2, Mo, 10. August 2009)
Re[4]: Cache (Hans Wurst, So, 9. August 2009)
Re[3]: Cache (Wotan, Fr, 7. August 2009)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung