【发布时间】:2010-12-02 05:57:26
【问题描述】:
在我作为首席开发人员的项目中,我们之前有一个存储单个 XML 文件的网络配置。配置包含有关网络布局的信息 - 其组成主机,有关每个主机的各种详细信息,如操作系统、平台、在每个主机中配置的用户、每个用户的多个属性等等。在即将发布的产品版本中,我们希望将数据移动到某种数据库中,因为配置将被扩展以包含更多元素和细节,并且在 XML 文件中维护它们将变得很麻烦。
第一个选择是 RDBMS。然而,由于配置数据的分层性质和可扩展性标准,目录服务器似乎是更好的选择。使用目录服务器的动机是
在目录服务器中建模分层数据比在 RDBMS 中更容易。
创建/定义使用附加属性扩展基本类型的新实体类型也容易得多。从解决问题的角度来看,这非常有吸引力。
配置数据的读取频率将高于更新频率。虽然性能不是问题,但目录服务器非常适合此特性。
经过大约一周的 LDAP 和目录服务器基础知识的自我引导之后,我现在对目录服务器的选择有些怀疑。我发现了一些问题:
LDAP 不如 RDBMS 主流。更多的人有过一些 SQL 的经验,并且可以比目录服务器更快地开始使用 RDBMS。正如我之前提到的,我花了一个多星期的时间来学习 LDAP 的基础知识(如何创建模式、定义 DIT、添加条目、将数据导出到 LDIF 文件等等)。这很重要,因为当新成员加入团队时,他/她不会面临学习曲线。
将来我们可能有更多的数据需要维护和存储在数据库中。目录服务器可能不是此类数据的好选择(例如,数据可能会随着读取的频率而更新)。在我看来,拥有两种存储机制是一种负担。
在更具政治性的方面,我不会因为选择 RDBMS 而受到指责/解雇,即使它不适合当前手头的问题。对于目录服务器,如果上述第 2 点成为现实,我不想回答“你为什么不早点想到这一点?”这个问题。
我正在寻找有关如何做出选择的建议。有没有人遇到过类似的情况?
EDIT-1: 我们在项目中对此进行了讨论,我提出了我在这里提出的确切观点。由于以下原因,我们很可能会选择不做任何进一步评估的 RDBMS:
第 2 点被认为比其他任何事情都重要。
我单位内部的想法似乎相当保守,各个级别的人都希望安全行事。不过我真的不能怪他们。
“为什么不用 RDBMS?”是第一个问题。 “可以用 RDBMS 完成吗?”是第二个。我终于收到消息了。
【问题讨论】:
-
这种部署方式是否使 LDAP 或 RDBMS 完全在您的产品内部,而客户不会知道其中的区别?还是希望客户使用他们现有的数据库或 LDAP?我问是因为一些管理员非常不愿意更改其核心 LDAP 服务器的架构。
-
是的,这完全是内部的。
标签: rdbms choice directory-server