ドキュメント指向 DBMS Apache CouchDB 3.0 のリリース

開催されました 分散型ドキュメント指向データベースのリリース Apache カウチDB 3.0、NoSQL システムのクラスに属します。プロジェクトソース 広める Apache 2.0 に基づいてライセンスされています。

改善点Apache CouchDB 3.0 で実装:

  • デフォルト設定が強化されました。
    起動時に管理者ユーザーを定義する必要があります。これがないとサーバーはエラーで終了します (サーバーの起動時に誤って認証なしでアクセスを残す問題を解決できます)。 「/_all_dbs」への呼び出しには管理者権限が必要になり、すべてのデータベースはデフォルトで管理者ユーザーのみがアクセスできるように作成されます (アクセス パラメーターは「_security」オブジェクトを通じて変更できます)。デフォルトでは、_users データベース内のオブジェクトの編集は禁止されています。

  • 追加した ユーザー定義のセグメント化 (パーティション化) データベースを作成する機能により、セグメント (シャード範囲) 全体にドキュメントを分散するための独自のルールを定義できるようになります。 Mango ビューとインデックスにシャード データベース用の特別な最適化を追加しました。
  • 実装済み セグメンテーション (シャーディング) 中の自動分割モード。データベースでは、故障レベルの決定に使用される q ファクターの値の増加を考慮して、セグメント間でデータを再配分できるようになりました。
  • 追加した 自動バックグラウンドインデックス作成と、構築操作を明示的に開始せずにセカンダリインデックス (JavaScript、Mango、テキスト検索インデックス) を最新の状態に保つための ken サブシステム。
  • データベースの自動パッケージ化に使用されるスムース プロセスが完全に書き直されました。
  • 新しいサブシステムが提案されました IOキュー、特定の操作の I/O 優先順位を変更するために使用されます。
  • 回帰テストシステムを実装しました。
  • arm64v8 (aarch64) および ppc64le (ppc64el) プラットフォームの公式サポートを追加しました。
  • JavaScript エンジン SpiderMonkey 1.8.5 (Firefox 60 の ESR ブランチ) とのリンクのサポートが追加され、ES5、ES6、および ES2016+ のサポートが強化されました。
  • 検索エンジンが含まれています ドレフュス Lucene に基づいており、CouchDB に基づいた検索エンジンの展開を大幅に簡素化します。
  • systemd-journald を使用したロギング用のバックエンドを追加しました。
  • 「[couchdb] single_node」設定を追加しました。設定すると、システム データベースが不足している場合に CouchDB が自動的に作成します。
  • couch_server プロセスのパフォーマンスが最適化されました。
  • Windows プラットフォームのインストーラーが大幅に改善されました。
  • ビューは 2^28 (268435456) の結果に制限されます。この制限は、「[query_server_config]」セクションの query_limit オプションとpartition_query_limit オプションを使用して、通常のビューとセグメント化されたビューに対して個別に構成できます。
  • ネットワーク ポート 5986 で起動される別の HTTP ローカル ノード管理インターフェイスは削除され、その機能は共通のクラスター管理インターフェイスを通じて利用できるようになりました。
  • 最大ドキュメント サイズが 8 MB に削減されたため、CouchDB 3.0 にアップグレードした後、古いサーバーからのデータ レプリケーションで問題が発生する可能性があります。制限を増やすには、「[couchdb] max_document_size」設定を使用できます。
  • _replicator 呼び出しと _external 呼び出し、disk_size フィールドと data_size フィールド、layed_commits オプションなど、廃止された機能の大規模なクリーンアップが実行されました。
  • CouchDB を実行するには、Erlang/OTP 20.3.8.11 以降、21.2.3 以降、または 22.0.5 が必要になりました。理論的には、Erlang/OTP 19 ブランチの機能は維持されますが、テストによってカバーされます。

CouchDB はデータを順序付きリスト形式で保存し、競合状況の検出と解決を同時に行うマスター/マスター モードで複数のデータベース間でデータの部分的なレプリケーションを可能にすることを思い出してください。各サーバーには、他のサーバーと同期された独自のローカル データ セットが保存され、オフラインにして変更を定期的に複製することができます。特に、この機能により、CouchDB は、異なるコンピューター間でプログラム設定を同期するための魅力的なソリューションになります。 CouchDB ベースのソリューションは、BBC、Apple、CERN などの企業で導入されています。

CouchDB クエリとデータのインデックス作成はパラダイムに従って実行可能 MapReduce、JavaScript を使用してデータ サンプリング ロジックを生成します。システム コアは Erlang で書かれており、複数の並列リクエストを処理する分散システムを作成するために最適化されています。ビュー サーバーは C で書かれており、Mozilla プロジェクトの JavaScript エンジンに基づいています。データベースへのアクセスは、RESTful JSON API を使用する HTTP プロトコルを使用して実行されます。これにより、ブラウザーで実行されている Web アプリケーションなどからデータにアクセスできます。

データ ストレージ ユニットは、一意の識別子とバージョンを持ち、キー/値形式の名前付きフィールドの任意のセットを含むドキュメントです。任意のドキュメントから擬似構造化されたデータのセットを編成する (集約と選択) には、ビュー (ビュー) を形成するという概念が使用され、どの JavaScript 言語が使用されるかを定義します。 JavaScript では、特定のビュー内に新しいドキュメントを追加するときにデータを検証する関数を定義することもできます。

出所: オープンネット.ru

コメントを追加します