8

Ich suche nach Material über persistente Datenstrukturen, die verwendet werden können, um ein relationales Modell zu implementieren.Effiziente persistente Datenstrukturen für relationale Datenbank

Persistenz im Sinne von unveränderlichen Datenstrukturen.

Wer kennt einige gute Ressourcen, Bücher, Papiere und so?

(Ich habe das Buch schon Purely Functional Data Structures, die ein gutes Beispiel dafür ist das, was ich suche.)

+0

Jeder sortierte Baum würde tun, obwohl, wenn Sie Haltbarkeit wünschen, Sie einen Baum mit einem großen Verzweigungsfaktor wollen. –

Antwort

5

Es einfach ist die allgegenwärtige B-tree zu ändern persistent. Weisen Sie immer einfach einen neuen Knoten zu, wenn ein Knoten geändert wird, und geben Sie den neuen Knoten an den rekursiven Aufrufer zurück, der ihn auf dieser Ebene einfügt, indem er einen neuen Knoten usw. zuweist. Ultimate Der neue Wurzelknoten wird zurückgegeben. Nicht mehr als O (log N) Knoten werden pro Operation zugewiesen.

Dies ist die Technik, die in funktionalen Sprachen verwendet wird, um z. B. 2-3 Bäume zu implementieren.

3

Ich habe eine solche Datenstruktur für BergDB implementiert (http://bergdb.com/) - eine Datenbank mit einem Datenmodell, das eine persistente Datenstruktur ist.

würde ich vorschlagen,

http://www.cs.cmu.edu/~sleator/papers/Persistence.htm

Lese Es ist die ursprüngliche Arbeit, wie eine persistente Datenstruktur auf einem gewöhnlichen (kurzlebig) eine Basis zu schaffen.