Hallo,
ich beschäftige mich seit einiger Zeit mit verschiedenen Indexstrukturen und fand im Netz auch einige Referenzen, die mal veranschaulichen, wie man die Struktur von B-Bäumen und B+-Bäumen implementiert.
Allerdings sehe ich in allen entdeckten Implementierungen folgendes Problem:
Die Daten werden in einem Objekt vorgehalten. Daten, die in einem Objekt vorgehalten werden, werden im Arbeitsspeicher gesichert.
Wenn ich mir nun eine MySQL-Datenbank ansehe, dann nutzt die ihren Index, ohne ihn zwangsläufig komplett in den Arbeitsspeicher einzulesen.
Darauß ergeben sich für mich folgende Fragen:
Wie speichere ich eine Baumstruktur (egal welcher Art) in eine Datei?
Wie nutze ich den in der Datei gespeicherten Index, ohne ihn vollständig in den Arbeitsspeicher einzulesen?
Dabei gibt es für mich (vorerst) folgende Annahme:
Ich kann nicht davon ausgehen, dass der Server die gesamte Indexdatei in den Arbeitsspeicher aufnehmen kann, da dieser zu klein ist.
Hintergründe zu mir:
- ich bin kein Fachinformatiker oder Student, ich bin Schüler an einem Gymnasium. Da ich Informatik auch nicht belege, handelt es sich hierbei auch um keine Hausaufgabe. Antworten nach längerer Zeit sind also ebenso gerne gesehen!
- ich bin gut in PHP bewandert und steige gerade in Java ein, wobei ich mittelfristig meine Kenntnisse in Java mit Hilfe dieses Projektes etwas schärfen möchte
Ich würde mich über Ansätze, Referenzen und Ähnliches sehr freuen.