一个家伙建议我使用 ApacheDS 作为我的数据库(MySQL)的替代品,你可以在这里找到讨论 我对 LDAP 和 ApacheDS 完全陌生(实际上我昨天不知道),我搜索了它并阅读了一些文章,最后我得到了这个页面。
将 LDAP 视为一种网络协议(如果是的话)是否有可能使用 ApacheDS 之类的 LDAP 服务器作为桌面应用程序的持久性解决方案,或者是一个明智的选择?
LDAP 不需要应用程序服务器(如 tomcat)来运行吗?可以请你点亮我吗:) thnx
LDAP 需要 LDAP 服务才能运行,例如 ApacheDS、OpenLDAP 等。它不需要任何其他东西。
与 SQL 数据库相比,LDAP 有两个优点。
一个是更精细的访问控制,例如您可以拥有一个“列”,该“列”可以由“管理员”组中的任何人更新,并且只能由用户和他/她的经理读取。LDAP 数据库可以实施您的安全策略,确保它是可集中审计的。
LDAP 数据库往往具有更好的查询和读取性能(有时是一个数量级),但写入性能要低得多(有时也是一个数量级)。这是假设您使用它来查找详细信息(例如用户名/密码)的频率远远超过您更改它们的频率。
出于这个原因,我不会使用 LDAP 数据库进行日志记录。
LDAP 有很多用途,可以作为用户以外的其他事物的数据存储。事实上,LDAP 通常被认为是最早的 NoSQL 服务器之一。我知道一个电话会议软件供应商使用 LDAP 目录服务器来替换 SQL 数据库以获得高可用性和分发。由于他们的软件部署在全球多个地点,因此拥有单个数据库无法扩展,并在网络级别产生问题。借助 LDAP 和服务器的多主复制功能,他们能够在每个位置都有一个服务器,以控制复制流程,甚至利用数据的分布式特性来增加他们的服务。基于 Java 的 LDAP 目录服务器,如 Apache DS 或 OpenDJ (opendj.org),为您提供了部署灵活性,甚至可以嵌入到 Java 应用程序(如 Web 应用程序)中。
Finally while LDAP servers were designed for many reads and few writes, servers now are capable of heavy writes (although I would not use them for write only activities such as logging). OpenDJ for example has been tested with up to 15000 modifications / second on a 10 millions users database. The same configuration was able to handle over 60000 searches per second. To be fair, the JVM heap size was 32GB.
Regards,
Ludovic.
对于部署 LDAP,您必须仅使用 ldap 服务器。例如 openldap 或 ApacheDS。我使用 openldap 作为 Web 应用程序的持久性解决方案,并且它有效。有一个重要区别:sql 是关系,而 ldap 是树!