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