节点指针通常作为地址存储在磁盘上(例如使用长整数)。
一般来说,实现选择使用物理地址或逻辑地址:
物理寻址速度更快(因为不需要解析机制)。然而,逻辑寻址可以允许重组节点而不必重写指针。能够以这种方式重新组织节点的能力可以作为实现良好的集群、空间利用甚至低级数据分布的基础。
一些实现使用逻辑和物理寻址的组合,使得每个地址由(动态地)引用段(blob)的逻辑地址和该段内的物理地址组成。
值得注意的是,节点地址是基于磁盘的,因此它们不能直接转换为内存中的指针。
在某些情况下,当数据加载到内存中时,将基于磁盘的指针转换为内存指针(然后在写入时转换回基于磁盘的指针)是有益的。
这种转换有时称为指针调配,可以通过多种方式实现。基本思想是,在导航/遍历指针之前,不应将混合内存中指针寻址的数据加载到内存中。
常见的方法是使用逻辑内存寻址方案或使用内存映射文件。内存映射文件使用虚拟内存寻址,其中内存页在访问之前不会加载到内存中。虚拟内存映射文件由操作系统提供。这种方法有时称为页错误寻址,因为访问尚未映射到内存的内存页上的数据将导致页错误中断。