当前位置: 技术问答>java相关
【讨论】LDAP和DB的结合
来源: 互联网 发布时间:2015-10-13
本文导语: 流行的做法是把用户信息、ACL、组织关系等数据存入LDAP中以利于跨平台的快速查询和读取,而把剩下的要求大量变更操作的数据存入DB,所以就会有这样一个问题: 无法保证DB的完整性 比如,有 员工 顾客 ...
流行的做法是把用户信息、ACL、组织关系等数据存入LDAP中以利于跨平台的快速查询和读取,而把剩下的要求大量变更操作的数据存入DB,所以就会有这样一个问题:
无法保证DB的完整性
比如,有 员工 顾客 这2个实体 和员工顾客关系 这样一个关系,如果把 员工 的信息存入LDAP,那么员工顾客关系 这个关系表就无法以员工代码为外键。同时带来的一个问题就是无法像3个表都在DB中那样,可以方便地用一条SQL查询所有员工和顾客之间的完整信息。
谁有这方面的成功的解决方案,一起来探讨。
无法保证DB的完整性
比如,有 员工 顾客 这2个实体 和员工顾客关系 这样一个关系,如果把 员工 的信息存入LDAP,那么员工顾客关系 这个关系表就无法以员工代码为外键。同时带来的一个问题就是无法像3个表都在DB中那样,可以方便地用一条SQL查询所有员工和顾客之间的完整信息。
谁有这方面的成功的解决方案,一起来探讨。
|
完整性并不一定要靠外键才能实现,用程序控制同样可以实现。
LDAP同DB只是不同的数据存放方式,DB的多表查询同LDAP与DB联合查询在表形层次上是一样的,只是实现不同而已。在程序的事务中需要多做点处理。
LDAP同DB只是不同的数据存放方式,DB的多表查询同LDAP与DB联合查询在表形层次上是一样的,只是实现不同而已。在程序的事务中需要多做点处理。
|
用EJB做Transaction,LDAP用Novell的JDBC Driver就好。有问题吗?
|
to ThisFellow:
你可以把LDAP看作一个DB,这样这个问题就变成两个DB同步的问题了。
两个DB同步的问题很好解决吧?譬如可以使用AppServer的transaction service,并且也有很多transaction的middleware可以使用。
我以为你可能不太清楚LDAP的driver有哪些?所以我提供一个比较优秀的LDAP的JDBC Driver使用。
可以在Novell的网站上找到。
你可以把LDAP看作一个DB,这样这个问题就变成两个DB同步的问题了。
两个DB同步的问题很好解决吧?譬如可以使用AppServer的transaction service,并且也有很多transaction的middleware可以使用。
我以为你可能不太清楚LDAP的driver有哪些?所以我提供一个比较优秀的LDAP的JDBC Driver使用。
可以在Novell的网站上找到。
|
可以保证完整性,不过代价就可能会高一点啦,备份-更新-出错-恢复
|
你不会都放在db里面,然后你做一个同步到ldap吗?