Gibt es ein Buch oder Tutorial, in dem wir lernen, wie wir die gängigen Algorithmen (Sortieren, Suchen usw.) auf große Datenmengen (dh Daten, die nicht vollständig in den Hauptspeicher geladen werden können) effizient anwenden und diese Algorithmen unter Berücksichtigung der Kosten von effizient anwenden können? Blockübertragung vom externen Speicher? Zum Beispiel sagen fast alle Algorithmus-Lehrbücher, dass B- und B + -Bäume zum Speichern von Daten auf der Festplatte verwendet werden können. Es wird jedoch nicht erläutert, wie dies tatsächlich getan werden kann, insbesondere wenn die Zeiger behandelt werden, bei denen die Daten auf der Festplatte vorhanden sind. Obwohl viele Bücher Suchtechniken lehren, berücksichtigen sie in ähnlicher Weise keine Daten, die im Sekundärspeicher vorhanden sind.
Ich habe Knuths Buch überprüft. Obwohl diese Ideen diskutiert werden, habe ich immer noch nicht verstanden, wie man sie tatsächlich in einer Hochsprache anwendet. Gibt es eine Referenz, die diese Details bespricht?
Antworten:
Datenbankbücher sind ein gutes Beispiel. Schauen Sie sich jedoch die feld-E / A-effizienten Datenstrukturen (und Algorithmen) an. Meines Wissens gibt es einige Kurse zu diesem Thema, aber nur sehr wenige Bücher.
Überprüfen Sie dieses Buch: U. Meyer, P. Sanders und J. Sibeyn (Hrsg.), Algorithmen für Speicherhierarchien, Lecture Notes in Computer Science 2625, Springer, 2003.
Überprüfen Sie diese Kurse: http://www.win.tue.nl/~hermanh/teaching/2IL35/ http://www.daimi.au.dk/~large/ioS12/
und diese Folien: algo2.iti.kit.edu/sanders/courses/algen09-10/rdslides.pdf
quelle
Das Datenbankbuch von Ramkrishnan und Gehrke behandelt diese Dinge ausführlich.
quelle
Wahrscheinlich das, wonach Sie in einem ordentlichen Buch suchen: Algorithmen und Datenstrukturen für den externen Speicher von Jeffrey Scott Vitter.
quelle
Heutzutage ist dieses Feld als Big Data bekannt und entwickelt sich sehr schnell und schnell, basierend auf der starken Verbindung mit Virtualisierung, und relationale Datenbanktechnologie wird nur als Teilmenge angesehen. Wie in den Kommentaren erwähnt, bewegen sich in Schlüssel- / Wertedatenbanken und NoSQL viele neue Innovationen und Impulse. Aus Ihren Kommentaren geht jedoch hervor, dass Sie mehr an den Prinzipien und Techniken des relationalen Datenbankdesigns interessiert sind . Versuchen Sie die folgenden Refs:
Datenbanken DeMYSTiFieD, 2. Auflage von Oppel
Datenbankdesign für bloße Sterbliche: Eine praktische Anleitung zum relationalen Datenbankdesign (2. Auflage) von Hernandez
Beginn des Datenbankdesigns: Vom Anfänger zum Profi von Churcher
Absoluter Anfängerleitfaden für Datenbanken von Petersen
quelle