gpt4 book ai didi

database - 使用LDAP服务器作为存储基础,实用性如何?

转载 作者:太空狗 更新时间:2023-10-30 01:48:56 24 4
gpt4 key购买 nike

我想了解使用 LDAP 服务器(例如 AD)作为存储基础的实用性。更清楚;使用 LDAP 服务器而不是使用 RDBMS 来存储数据有多大意义?

我猜大多数人可能只是说“它没有”,但可能有一些理由让它有意义(尤其是商业智慧);

先说几点;

  • 每个表都成为一个容器实体,每一行都成为一个新的子实体。行实体包含列的属性。所以你以这种方式表示你的数据。 (这应该是我认为最有意义的表示,欢迎提出建议)
  • 因此可以像数据库服务器一样存储数据,但缺乏 FK 和 PK(不确定 PK)支持是一个问题。另一方面,它支持属性(与列相关)索引(不确定效率如何)。所以数据的一致性是应用层的责任。

为什么有人会这样做?

  • 应用程序使用/存储的数据与 AD 中的现有数据非常匹配。 (用户、机器、部门信息等)(但仍然需要对现有实体模式进行一些定制,并且需要新的模式定义来处理不太相关的数据。)
  • (我认为最强的原因是:与业务相关)大多数中型公司都配置了非常好的 AD 服务器(复制、备份等),但他们没有这样的数据库设置(您可以发表评论这和你想要的一样多)。假设当您向这些公司销售需要数据库设置的软件时,他们必须管理他们的数据库设置;但是如果您说“您不需要数据库设置和管理;您可以只使用现有的 AD”,这听起来很吸引人。

显然放弃使用 DB 有很多缺点,请随意提及它们,但我们假设它们是可以接受的。 (如果问题不够清楚我可以再提。)

最佳答案

LDAP 是维护大多数业务数据的糟糕工具。

考虑典型的一对多关系 - 例如,客户和订单。一个客户有很多订单。

没有好的方法可以在 LDAP 目录中表示此数据。

您可以通过使给定对象类的每个条目都具有“外键”属性来尝试拥有一个模拟的“外键”,但是您的参照完整性就消失了。级联删除是不可能的。

您可以尝试拥有一个包含“订单”子项的“客户”对象。但是,您刚刚引入了一个特定的层次结构 - 现在您已绑定(bind)到它。

这是最简单的用例。一旦开始处理更复杂的关系,您基本上就是在为不同目的而明确设计的系统中重新发明 RDBMS。线索就在名称中 - 目录

如果您要存储电话簿,那么当然可以使用 LDAP。对于其他任何事情,请使用真实的数据库。

关于database - 使用LDAP服务器作为存储基础,实用性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com