私が主任開発者である私のプロジェクトでは、以前は単一の XML ファイルに格納されたネットワーク構成がありました。構成には、ネットワーク レイアウトに関する情報 (構成ホスト、OS などの各ホストに関するさまざまな詳細、プラットフォーム、それぞれに構成されたユーザー、各ユーザーのいくつかの属性など) が含まれます。製品の次のバージョンでは、構成が拡張されてより多くの要素と詳細が含まれるようになり、それらを XML ファイルで維持するのが面倒になるため、データを何らかのデータベースに移動したいと考えています。
最初の選択は RDBMS でした。ただし、構成データの階層的な性質と拡張性の基準により、ディレクトリ サーバーの方が適しているように思われました。ディレクトリ サーバーを使用する動機は次のとおりです。
RDBMS よりもディレクトリ サーバーで階層データをモデル化する方が簡単です。
また、基本型を追加の属性で拡張する新しいエンティティ型を作成/定義するのもはるかに簡単です。これは、問題解決の観点から非常に魅力的です。
構成データは、更新されるよりも頻繁に読み取られます。パフォーマンスは問題ではありませんが、ディレクトリ サーバーはこの特性に非常に適しています。
LDAP とディレクトリ サーバーの基礎を一から学び始めて約 1 週間が経ちましたが、ディレクトリ サーバーの選択についてやや懐疑的になりました。いくつかの問題があります。
LDAP は RDBMS ほど主流ではありません。多くの人が SQL の経験があり、ディレクトリ サーバーよりも RDBMS の方が早く使い始めることができます。前述したように、LDAP の基本 (スキーマの作成方法、DIT の定義方法、エントリの追加方法、LDIF ファイルへのデータのエクスポート方法など) を学ぶのに 1 週間強かかりました。新しいメンバーがチームに参加するとき、彼/彼女は学習曲線に直面していないため、これは重要です.
将来的には、より多くのデータを維持してデータベースに保存する可能性があります。ディレクトリ サーバーは、そのようなデータ (読み取りと同じくらい頻繁に更新されるデータなど) には適していない場合があります。私の意見では、2 つのストレージ メカニズムを持つことは負担です。
より政治的な面では、RDBMS が現在直面している問題に適していなくても、RDBMS を選択したことで私が責められたり解雇されたりすることはありません。ディレクトリサーバーで、上記2が実現したとしても、「なんでもっと早く考えなかったの?」という質問には答えたくありません。
選び方のアドバイスをお待ちしています。誰かが以前に同様の状況に直面したことがありますか?
EDIT-1 : プロジェクト内でこれについて話し合い、ここで行った正確なポイントを提示しました。次の理由により、それ以上評価せずに RDBMS を選択する可能性が非常に高くなります。
ポイント 2 は何よりも重要であると考えられました。
私のユニット内の考え方は、あらゆるレベルの人々が安全にプレイしたいと考えているため、どちらかというと保守的なようです。私は本当に彼らを責めることはできません。
「なぜ RDBMS ではないのですか?」が最初の質問でした。「RDBMSでできる?」2番目でした。最後にメッセージを受け取りました。