我很想知道使用什么样的物理结构来存储像 Active Directory 这样的 LDAP 数据库。
数据库表示为树结构,其中每个节点都有一组属性和可选的子节点。一个节点有一个类类型,它定义了应用哪组属性。我想在这方面它类似于 XML 文档。
属性数量为数百,如果不是数千。这些属性也不一定是固定大小的,例如 MultiSz 类型;至关重要的是,属性和类是可扩展的。
memberOf
我还注意到数据库是关系型的,例如,在属性和组之间保持双向引用完整性。
显然,您不能将其存储在 RDBMS 中 - 行长度限制(并且需要运行 ALTER TABLE)意味着属性系统不适合,但是您如何在磁盘上构建这样的数据库呢?