web-dev-qa-db-ja.com

データベースでLDAPを使用する場合

LDAPとdatabase/key-value-store/column-oriented-database/etcのどちらを使用すればよいですか?

31
DavidHH

LDAPはデータベースと見なすことができます。しかし、私はあなたがSQLデータベースを意味していると想定しています。

LDAPデータストアは、書き込みと比較して読み取り数が多いシステム用です。 SQLストアなどの他のデータベースは、トランザクションデータを使用するように設計されています(高い読み取りと書き込み)。

これがLDAPがディレクトリプロトコルである理由です。たくさん読んだり、ほとんど書いたりしないディレクトリに最適です。

から ここ

LDAPは「1回限りの書き込み」サービスとして特徴付けられます。つまり、通常LDAPサービスに格納されるデータのタイプは、アクセスのたびに変化するとは限りません。説明すると、LDAPは、その性質上、アクセス(トランザクション)ごとに変更されるため、銀行取引レコードの維持には適していません。ただし、LDAPは、銀行の支店、営業時間、従業員などの詳細を維持するのに非常に適しています。

そして、これは別の良いイントロです ここ-LDAP vs RDBMS

36
Preet Sangha

Preet Sanghaが言ったことに加えて、LDAPは非トランザクションであることにも注意する必要があります。サーバーは更新を任意に遅らせることができるため、更新されたデータの次の読み取りで更新が反映されない場合があります。トランザクション要件がある場合は、LDAPを使用できません。そうでない場合は、できます。

5
user207421

read にもいい:

簡単な答えはありませんが、次のメモが役立つ場合があります。

  1. 書き込み時のパフォーマンスヒットは、インデックスの更新にあります。インデックスが多いほど(読み取りを速くするため)、ディレクトリを更新する頻度が低くなります。読み取りが最適化されたLDAPディレクトリの読み取り:書き込みの比率が1,000:1未満またはそれ以上。

  2. LDAPレプリケーションは、更新ごとに複数のトランザクションを生成するため、実用的な更新の負荷を最小限に抑えます(1,000:1以上)。

  3. データ量が大きい(たとえば10,000を超える)場合、少数のインデックスでさえ更新に時間がかかる可能性があるため、更新をできるだけ低く(10,000:1)維持する必要があります。

  4. データ量が比較的少ない場合(たとえば、1,000レコード未満)、インデックスが適度であり、レプリケーションが使用されていない場合、トランザクションベースのシステムにアプローチする形式でLDAPを使用できないという本質的な理由はありません。続いて書き込みサイクル(LDAP専門用語での変更)。

  5. この質問への本当の答えは(遅くて嘆かれたダグラスノエルアダムスの記憶に謝罪して)であると思われます:読み取りと書き込みの比率は42です!

4
mkind

2つの違いは次のとおりです: LDAPは読み取りに対して高度に最適化されており、MySQLデータベースよりもはるかに高速に読み取りを実行できるため、データベースソリューションが長期的に実行するよりもはるかに優れたスケーリングが可能です。読み取りおよび書き込み用に最適化されています。

MySQLよりも多くのアプリケーションが認証方式のLDAPをサポートしていることがわかり、ディレクトリにさらに統合できるようになります。最初にLDAPに進む前に、特定のLDAP実装の管理ツールを確認することをお勧めします。 OpenLDAPはすばらしいですが、手作業でディレクトリを変更するのはいつも大変です。

3
Nitin Pawar

過去には、確かに、そして大学の子孫であるディレクトリサーバーがあります。 Mich。コードベースの場合、1回限りの読み取りが多かったのは確かであり、そのコードベースから派生したディレクトリサーバーは書き込みパフォーマンスが低下します。しかし、長年にわたり、LDAPユーザーはLDAPディレクトリサーバーに対して書き込みパフォーマンスとトランザクション品質の向上を要求しており、最新のJavaベースのディレクトリサーバーは優れた読み取りおよび書き込みパフォーマンスを備えています。

2
Terry Gardner

LDAPが本当に優れているのは拡張性です。認証用のユーザーアカウントを保持する場所が特に必要であり、複製された複数のサーバーにスケーリングし、1秒あたり数万の認証要求を処理する場合、LDAPは優れたオプションです。

0
user3552519