如何在MongoDB和OpenLDAP数据库之间同步数据

时间:2016-03-09 08:16:59

标签: java mongodb openldap atlassian-crowd database

我有一个系统的两个数据库。一个是OpenLDAP,另一个是MongoDB。具体而言,这个OpenLDAP由我们使用的Atlassian Crowd使用。我需要同步这两个数据库中的用户。也就是说,

  1. 如果我创建一个用户,它将默认在OpenLDAP中创建,并且它也必须在MongoDB中创建。
  2. 过去在处理此问题时存在问题,可能有用户在OpenLDAP中但在MongoDB中没有。我也需要找到这些用户。
  3. 如果我从一个用户删除或更新用户,我需要在两个DB中进行删除或操作。
  4. 我将使用Redis获得LDAP的缓存副本。在这两个数据库之间同步数据以满足上述期望的最佳方法是什么?

    如果有帮助我在后端使用Java。

1 个答案:

答案 0 :(得分:1)

2种可能的方式:

  1. (首选)以一种“插入”数据库运算符来处理不同数据库的方式设计代码,以便从外观代码访问它们,以便访问它而不必担心底层数据库。 ,所以创建一个用户就是这样的:
  2. createUser() -> foreach dbhandle do dbhandle->createUser() forend

    同样适用于删除或更新任何数据。这个方法也应该解决问题2。

    1. 您只需更新一个数据库,并拥有一个在后台运行的脚本,用于更新数据库。这种方法只允许您使用1个数据库,让脚本处理其余的数据库,但它更昂贵,更不可靠(因为您可能访问尚未从主数据库更新的1个数据库)