22

CouchDB を使用する可能性を検討していました。みんなが嫌いなLotus Notesに似ていると聞きました。これは本当ですか?

4

8 に答える 8

48

Lotus Notes の開発は 20 年以上前に始まり、1989 年にバージョン 1 がリリースされました。これは、現在 Microsoft のチーフ ソフトウェア アーキテクトである Ray Ozzie によって開発されました。

ロータス ノーツ (クライアント) とドミノ (サーバー) は長い間存在しており、十分に機能を備えた成熟した製品です。それは持っています:

  • ドキュメント指向データベースの迅速なアプリケーション設計と展開を備えた完全なクライアント サーバー スタック。
  • セキュリティと暗号化のための完全な公開鍵インフラストラクチャ。
  • 堅牢なレプリケーション モデルと、異種プラットフォーム間でのアクティブ アクティブ クラスタリング (誰かがxbox と巨大な AIX サーバーを備えたドミノ クラスターを示したことがあります)。
  • LDAP 経由でもアクセスできる、ユーザーを管理するための組み込みのネイティブ ディレクトリ。
  • 数 GB のメール ファイルを使用して何百万人ものユーザーを管理するために拡張できる組み込みのネイティブ メール システムで、ライブ サーバー アクセスまたはオフライン アクセス用にローカルに複製されます。これは、SMTP を介して標準のインターネット メールとやり取りでき、POP および IMAP アクセスも組み込まれています。メール インフラストラクチャは、ノーツ ドミノ上に構築されたすべてのアプリケーションで利用できるコア機能です (データベース内のドキュメントは、単純な doc.send() コマンド)。
  • サーバーがホストするデータベースに Web 経由でアクセスできるようにする組み込みの HTTP スタック。
  • RDBMS および ERP システムへのアクセス、転送、および相互運用のための多数の統合オプション。DB2 との緊密な統合により、必要に応じてリレーショナル ストアによって Notes データベースをバックアップできます。

下位互換性は常にノーツ ドミノの強力な機能であり、バージョン 3 用に開発されたデータベースが最新バージョンで問題なく動作することは珍しくありません。IBM はこれに多大な労力を費やしており、現在の製品の動作に大きな影響を与えています。

-

CouchDB は、2004 年に開発を開始した Damien Katz によって作成されました。彼は以前、IBM で Notes Domino に取り組み、テンプレートを開発し、最終的にコア機能の 1 つである式エンジンを ND6 用に完全に書き直しました。

CouchDB は、ドキュメント指向データベースの基本概念を、ノーツ ドミノが持つビューと共有しています。

このモデルでは、「ドキュメント」は、何らかの方法で保存された任意の値のコレクションです。CouchDB では、ドキュメントは任意の複雑さの JSON オブジェクトです。Notes では、値は単純な名前と値のペアであり、値は文字列、数値、日付、またはそれらの配列にすることができます。

ビューは、データベース内のドキュメントのインデックスであり、特定の値を表示し、他の値を計算し、不要なドキュメントを除外します。インデックスが作成されると、データベース内のドキュメントが変更 (作成、更新、または削除) されると、インデックスが増分的に更新されます。

CouchDB では、データベース内の各ドキュメントに対してマッピング関数を実行することによってビューが構築されます。マッピング関数は、指定されたドキュメントに対して作成するすべてのインデックス エントリに対して、JSON オブジェクトを使用して emit メソッドを呼び出します。この JSON オブジェクトは、任意に複雑にすることができます。その後、CouchDB は、マップされたビューのインデックスに対して 2 番目の縮小関数を実行できます。

ノーツ ドミノ ビューは、データベース内の各文書に対して (ノーツ ドミノ式言語で記述された) 選択関数を実行することによって構築されます。select 関数は、ドキュメントをビューに表示するかどうかを定義するだけです。Notes Domino ビューの設計では、ビューの列数も定義されています。各列には、その列の値を決定するために選択したドキュメントに対して実行される式があります。

CouchDB は、Notes Domino よりもはるかに洗練されたビュー インデックスを生成できます。

CouchDB にはレプリケーション システムもあります。

-

概要( TL;DR ) : CouchDB はまったく新しいソフトウェアであり、Lotus Notes Domino で使用されているものと同様の概念ですが、はるかに洗練された設計のコアを開発しています。Lotus Notes Domino は、完全な機能を備えた成熟した製品であり、今日から導入できます。CouchDB はゼロから始めて、将来の機能開発のための強固な基盤を構築します。Lotus Notes Domino は新機能の開発を続けていますが、下位互換性を維持しようとする 20 年前のプラットフォーム上で開発を行っています。Notes Domino には、CouchDB にあればよかったと思うかもしれない機能がありますが、今日の世界では時代遅れになっている Notes Domino の機能もあります。

于 2008-11-21T11:39:16.023 に答える
10

人々が通常嫌うのは Notes アプリケーションと UI です。背後にあるアーキテクチャではありません。

于 2008-10-06T08:57:57.383 に答える
6

ダミアン・カッツはアイリス(ロータス)で働いていましたが、彼はノーツデータベースの背後にいる男ではありませんでした。彼は、NotesFormulaEngineを再設計したことでLotusNotesコミュニティでよく知られています。
CouchDBとLotusNotesの間には、ドキュメント指向、非リレーショナルデータ、レプリケーション機能など、確かにいくつかの類似点がありますが、類似点よりもバラバラです。CouchDBはデータベースサーバーであり、LotusNotesはエンタープライズレベルのコラボレーションプラットフォームです。

于 2008-11-06T21:55:17.197 に答える
5

@Lex、コメントが正しくないため、作業しているノーツ/ドミノのバージョンを事前に言う必要があります。

「トランザクション サポートなし」 - Domino にはトランザクション ログ機能があります。コーディング内でも使用できる、より複雑なトランザクション ログが必要な場合。

「複数のデータトランザクションの処理には適していません」-実際には、それらをうまく処理します。ドキュメントのロックと複製の競合の解決があります。ワークフローを処理するためにアプリケーションをどのように設定するかに大きく依存します。

「本番環境と開発環境が分離されていません。」- 間違い。これが当てはまる唯一の方法は、不適切に展開された環境を使用している場合です。開発者は通常、設計変更を本番環境に展開するためのアクセス権を 0 にする必要があります。それらは、メイン サーバーにレプリケートされないテンプレートで機能します。更新が完了して承認されると、管理者はそれを展開します。これを行うには、テンプレートを取得し、運用環境での実行を許可された制御された署名で署名し、テンプレートをドロップして、関連するアプリケーションの設計を更新します。

「ロータス ノートに含まれるデータが多いほど、より多くのビューが作成される可能性があります」 - このコメントはまったく意味がありません。あなたが専門的な能力で Notes/Domino を使用したことがあるとは思いません。

「ロータススクリプトはオブジェクト指向ではありません」 - はい、あなたはそこに良い点を指摘しています。しかし、それは言語に欠陥があるという意味ではありません。また、8.x 以降および 8.5.1 で多数の改善が行われました。たとえば、組み込みの Web サービス サポート (WSDL を指定すると、LS コードが作成されます)。8.5.1 には、コード テンプレート、オートコンプリート、独自の機能に関する LSDoc ポップアップ ヘルプなど、多くの新しいデザイナー機能もあります。

また、LotusScript についてのみ触れます。さらに、Java、SSJS/DOJO (XPages)、Javascript、@Formula 言語、Web サービス (SOAP/REST)、C-API、Eclipse プラグイン (RCP) でコーディングすることもできます。JSON および XML で出力します。

8.5.1 Designer クライアントは、テストしたい場合に無料でダウンロードできるようになりました。

したがって、私は CouchDb についてコメントする立場にないと考えていますが、あなたが Notes/Domino についてコメントしていないことは間違いありません。

于 2009-10-30T07:08:53.140 に答える
1

ロータス ノーツ クライアント/ドミノ サーバーは、オブジェクト (「ドキュメント」) - ストレージ (リレーショナルではない) メカニズムで構成され、証明書ベースのセキュリティ モデル / ユーザー管理と、データに対するオフライン/オンライン変更を同期するための競合解決を完全に統合しています。分散アプリケーションのプラットフォーム。

CouchDBは、ドキュメント指向の非リレーショナル データベース管理サーバー (NRDBMS) です。」

CouchDB には、REST スタイルの API を介してアクセスできます。

于 2008-10-03T16:35:17.070 に答える
1

ここには、CouchDB チームの Jan Lehnardt とのポッドキャスト インタビューがあります。

戻ってもう一度聞くまでもなく、CouchDB のイニシエーターであり、今でも主任開発者である Damien Katz は、Notes データベースの背後にいる人物でもあったと思います。つまり、CouchDB がより優れた Notes DB であるという感覚があると思います。彼は自分のブログでいくつかの違いについて説明しています。

于 2008-10-03T16:46:17.673 に答える
0

これは、すべてが任意の構造のドキュメントであり、リレーショナル データベースのようなテーブルやレコードではなく、これらのドキュメントのビューを持つという点で、ノーツがデータを処理する方法に似ています。複製などにもいくつかの類似点があります。

ノーツ サーバーのアーキテクチャには何の問題もありません。人々はそれほどそれを嫌っていません。ノーツに付随するのは実装と肥大化です。

CouchDB にはフロントエンドもありません。サーバー コンポーネントだけです。ノーツ クライアントは最悪で、人々が本当に嫌うものです。Notes から「メモ」という意味のメールを送信しようとしたことはありますか? 楽しくない:(

于 2008-11-06T22:27:01.330 に答える