Addressing Mechanisms and Persistent Programming

The question of addressing mechanisms is at the basis of all implementations of persistent programming. What persistent programming enables us to do is store complex data structures by virtue of being able to preserve referential structure. What I want to look at is what different forms of addressing can be used to support persistence.