ゼファーネットのロゴ

ドキュメントデータベースの基礎 – DATAVERSITY

日付:

文書データベース文書データベース

ドキュメント データベース (「ドキュメント ストア」または「ドキュメント指向データベース」とも呼ばれます) は、NoSQL または 非リレーショナルデータベース。 ただし、ドキュメント データベースはインデックスを使用して「キー」を「ドキュメント」に関連付け、データの取得をより効率的にします。

取消 リレーショナルデータベース、ドキュメント データベースは行と列の形式で構造化されておらず、水平方向に拡張されます。 ドキュメント データベースの主な利点は合理化機能にあり、アプリケーション コードで使用されている「同じ」ドキュメント モデル形式を提供することで、開発者がデータをより簡単に操作できるようになります。 ドキュメント データベースは柔軟で、半構造化されており、アプリケーションのニーズの変化に応じて進化します。

ドキュメント データベースは、コンテンツ管理アプリケーション (ブログやビデオ プラットフォーム) に優れたサポートを提供します。 ユーザープロファイルでもうまく機能します。 ドキュメント データベースは、柔軟なインデックス作成、ドキュメント コレクションの分析、効率的なアドホック クエリを提供します。

中で
ドキュメント データベース、アプリケーションが追跡する各データのコレクション
単一のドキュメントの形式で保存されます (オブジェクトと同様)。 これでできます
開発者が組織のニーズに応じてアプリケーションを簡単に更新できるようになります。
変化。 さらに、データ モデルを変更する必要がある場合は、影響を受けるデータ モデルのみを変更する必要があります。
書類を更新する必要があります。 このため、スキーマの更新は必要ありません。
また、必要な変更を加えるために必要なデータベースのダウンタイムもありません。

ドキュメント データベースは、カタログ情報を保存するのに最適です。 たとえば、インターネット販売アプリケーションは、さまざまな属性を持つさまざまな製品と連携します。 「リレーショナル」データベース内で何千もの属性を管理しようとすると非効率的であり、通常、読み取りパフォーマンスが低下します。 文書データベースを使用すると、単一の製品の属性の説明 (概要のようなもの) に XNUMX ページを使用できるため、管理が容易になり、閲覧速度が速くなります。

Storage 文書データベース内

A
文書データベースは、一意のキーを「文書」と呼ばれるデータ構造に関連付けます。
キーは単純な識別子 (ID) として、通常は文字列の形式で使用されます。
パスまたは URI。 ドキュメントを検索してそこから取り出すために使用できます。
データベース。

通常、ドキュメント データベースは、ドキュメントの検索速度を向上させるためにキーのインデックスを維持します。 場合によっては、ドキュメントを作成したりデータベースに挿入したりするためにキーが必要になります。 この構成により、さまざまなキーと値のペア、キーと配列のペア、さらには「ネストされた」ドキュメント (ドキュメント内のドキュメント) を維持できます。 ドキュメントは XNUMX つの完全な単位として扱われ、ドキュメントを部分に分割することは通常は避けられます。

資料 ドキュメント データベース内の は、オブジェクトのプログラミング概念とほぼ同等です。 標準スキーマに従う必要はなく、同じスロット、セクション、キー、またはパーツを均一に維持する必要はありません。 一般に、オブジェクトを使用するプログラムには多種多様なオブジェクトがあり、多くの場合、それらのオブジェクトには多くのオプションのフィールドがあります。 各オブジェクトは、同じクラスから取得されたものであっても、大きく異なって見える場合があります。 ドキュメント データベースも同様で、さまざまな種類のドキュメントを保存したり、そのフィールドをオプションにしたりでき、多くの場合、他のエンコード システムを使用してドキュメントをエンコードできます。

ドキュメント データベースのもう XNUMX つの強みは、コンテンツを使用してドキュメントを取得できることです。 たとえば、クエリは、特定の値に設定された特定のフィールド内のすべてのドキュメントを取得します。 使用可能な構成とインデックス作成オプションの詳細はニーズによって異なり、大きく異なる場合があります。

文書データベースは次の項目に分類されます。 NoSQL データベース。 XMLデータベース (XML ドキュメント用に最適化) はドキュメント データベースのサブクラスです。 グラフデータベース ドキュメント データベースといくつかの類似点がありますが、リレーションシップ レイヤーが追加され、ドキュメントをより迅速に検索できるようになります。

JSONとREST

「適切な仕事には適切なツールを」は有益なアドバイスです。 この知恵は、開発者がアプリケーション用に選択するデータベースにも当てはまります。 ドキュメント データベースは、アプリケーションの開発に集中したい開発者向けです。 ドキュメント データベース内では、データは、さまざまなフィールドと任意の数の入れ子構造を組み合わせた自由形式の「ドキュメント」として保存されます。 これらのドキュメントは通常、JSON (JavaScript Object Notation) として表され、API を介して、または JSON を適切な REST (REresentational State Transfer) エンドポイントに送信することによって更新されます。 最新のプログラミング言語の大部分は、JSON と REST の両方をサポートしています。

JSONの 一般に、インターネット上のデータ交換「形式」に使用されます。 データ交換形式 (「データ交換形式」または「データ形式」とも呼ばれます) は、テキストを使用してプラットフォーム間でデータを通信します。 JSON は人間とマシンの両方が読み取れるため、特に便利です。 これにより、人間がデータを読み取ることで、そのデータの意味を直接見つけることができるようになります。 JSON は、多くのシステムがデータ転送に使用することに同意している交換形式です。

REST Web 上で通信するさまざまなコンピュータ システム間で共通の標準を提供するソフトウェアの「アーキテクチャ スタイル」を説明します。 REST アーキテクチャ スタイルは、コード変更の柔軟性をサポートします。 クライアント側で使用されるコードはサーバーの動作に影響を与えることなく変更でき、サーバー側で使用されるコードもクライアントの動作に影響を与えることなく変更できます。

REST アーキテクチャを通じて送信されるメッセージの「形式」が既知であり、合意されている限り、双方を分離してモジュール化したままにすることができます。 これは、ユーザー インターフェイスの問題をデータ ストレージの問題から分離することで (サーバー コンポーネントの簡素化によって) スケーラビリティが向上するため、プラスであると考えられます。 分離のさらなる利点として、各コンポーネントは独立して自由に進化できます。

水平方向の拡大縮小

水平スケーリングは、サーバーを追加してデータ ストレージを獲得する技術であり、サーバーにリソースを追加する必要がある垂直スケーリングよりも一般に高速で安価です。 それは標準でもあります NoSQLデータベース、ひいてはドキュメントデータベース。

水平スケーリング 多くの場合、情報技術の専門家にとって魅力的であり、クラウド コンピューティングの目的で推奨されることがよくあります。 水平スケーリングの利点は、冗長データ ストレージを提供できることです。 冗長データ ストレージにより、システム全体がクラッシュしたり、操作に支障をきたしたりするシステムの部分的な障害が発生する可能性が低減されます。 低コストの汎用ハードウェア コンポーネントを追加するだけで強力なシステムを構築できるオプションも魅力的です。

文書データベースの長所と短所

ドキュメント ストアは非常に柔軟です。 彼らは半構造化されたものと 非構造化データ 良い。 ユーザーはセットアップ時にどのような種類のデータが保存されるかを知る必要がないため、どのような種類のデータが受信されるかが事前に明らかでない場合には、これは良い選択です。 ユーザーは、すべてのドキュメントに影響を与えることなく、特定のドキュメント内に希望の構造を作成できます。 ダウンタイムを発生させることなくスキーマを変更できるため、高可用性が実現します。 書き込み速度も一般的に速いです。 ドキュメント データベースは次の場合に役立ちます。

  • 分析プラットフォーム
  • ブログプラットフォーム
  • コンテンツ管理システム
  • Eコマースプラットフォーム

ドキュメント データベースは、複雑な検索クエリを実行したり、複雑な複数の操作トランザクションを必要とするアプリケーションには最適な選択ではありません。

なぜなら
ドキュメント データベースには柔軟なスキーマがあり、次のようなドキュメントを保存できます。
さまざまな属性とデータ値。 文書データベースは実用的です
異なるユーザーが異なる種類のプロファイルを提供するオンライン プロファイルのソリューション
情報。 文書データベースを使用して、各ユーザーのプロファイルを保存できます
各ユーザーに固有の属性のみを保存することで効率的に保存できます。
個人が自分のプロフィールの情報を変更することを決定した場合、その文書は
それらを表すものは、新しいバージョンに簡単に置き換えることができます。 文書データベース
高度な流動性を備え、管理が容易なシステムを提供します。
個性。

歴史的に見て、 ビジネス・インテリジェンス 運用データからの取得が妨げられている理由は、 分析データベース 運用データベースは異なる環境で管理されていました。 リアルタイムで運用情報を読み取り、調査できることは、競争の激しいビジネス環境において重要なプロセスとなっています。 ドキュメント データベースを使用すると、企業は分析のためにデータをビジネス インテリジェンス エンジンに供給しながら、さまざまなソースからの運用データを保存および管理できます。

コンテンツを効果的に管理するには、顧客に配信する前に、多数のソースからコンテンツを収集し、集約する必要があります。 ドキュメント データベースは柔軟なスキーマを備えているため、データの収集と保存に最適です。 ドキュメント データベースは、コメント、画像、ビデオなどのユーザー作成コンテンツを含む、独自のタイプのコンテンツを作成して組み込むことができます。 いくつかのドキュメント データベースから選択できます。

画像は Shutterstock のライセンスに基づいて使用されています

スポット画像

最新のインテリジェンス

スポット画像