新製品・アップデートのご紹介MongoDB は、Voyage AI の買収を通じて、Atlas における生成 AI アプリケーションの精度と信頼性を強化します。詳しく見る >>
新着情報今すぐチェック!:AI 対応開発向け MongoDB MCP Server(パブリックプレビュー)ブログを読む >>
新着情報MongoDB 8.0:圧倒的な速度と性能を提供。詳しく見る >>

データベースにはどのような種類がありますか?

MongoDB Atlas の詳細

データベースは、ほぼすべての最新のアプリケーションにおいて重要なソフトウェアコンポーネントです。現在使用されているデータベースは非常に多く、その数は増え続けています。データベースの主要な種類を理解することは、自分に適したデータベースを選択するのに役立ちます。

この記事では、「データベース」と「データベースマネジメントシステム」(DBMS:ユーザーがデータにアクセスし、データベースを操作できるようにするソフトウェア)という用語を同じ意味で使用します。

重要なポイント

  • データベースは、現代のアプリケーションが依存するデータを保存、整理、管理、抽出します。

  • データベースの主なタイプには、階層型、リレーショナル、非リレーショナル、オブジェクト指向、ドキュメント、キーバリュー、カラム指向、グラフなどがあります。

  • リレーショナルデータベースでは、テーブル、行、列、および構造化クエリ言語(SQL)が使用されるため、構造化データとデータ整合性に適しています。

  • NoSQL データベースではより柔軟なデータモデルが使用されるため、非構造化データ、半構造化データ、大規模なデータセット、最新の Web アプリケーションに役立ちます。

  • 適切なデータベースは、データモデル、スケーラビリティのニーズ、パフォーマンス要件、アプリケーションがどのように進化すると想定されるかによって異なります。

目次

データベースとは何ですか?

データベースマネジメントシステムは、データを保存、整理、管理、検索するソフトウェアです。情報を整理する巨大なスプレッドシートのグループのようなものだと考えてください。データベースマネジメントシステムには複数のタイプがあり、データセンターにあるか、クラウドインフラストラクチャ(クラウドデータベース)にあるかにかかわらず、サーバー上でホストされます。

データベースマネジメントシステムにはさまざまな形状、規模、種類があり、それぞれ異なる種類のデータに対して異なる処理を行うように設計されています。MongoDB は、最新のアプリケーション開発者向けに構築された、汎用のドキュメントベースの分散データベースマネジメントシステムです。

データベースにはどのような種類の情報が保存されますか?

データベースは、個人の電話、コンピュータ、インターネットのいずれにあるかに関係なく、ほとんどの最新のアプリケーションで使用されています。運用データベースシステムは、アプリケーションが機能するために必要なデータの多くを保存し、データを整理し、ユーザーがデータにアクセスできるようにします。

e コマースアプリを構築する場合、運用データベースシステムでアクセスして保存する可能性のあるデータには、次のものが含まれます。

  • 顧客データ(ユーザー名、メールアドレス、設定など)。

  • ビジネスデータ(製品の色、価格、評価など)。

  • リレーションシップデータ(特定の製品の在庫がある店舗のロケーションなど)。

データベースの種類は何種類ありますか?

データベースには、約12種類のタイプがあります。より一般的に使用されているデータベースのカテゴリーには、次のようなものがあります。

階層型データベース

1960 年代に開発された階層型データベースは、家系図に似ています。単一のオブジェクト(「親」)の下に 1 つ以上のオブジェクト(「子」)が存在します。子に複数の親を持たせることはできません。階層型データベースは、親と子の構造をナビゲートする際の硬直性と複雑さと引き換えに、アクセスが容易で、クエリを高速に実行できます。

リレーショナルデータベース

リレーショナルデータベースは、1970年代に設計されたシステムです。このデータベースでは通常、データの作成、読み取り、アップデート、削除(CRUD)などの操作に構造化クエリ言語(SQL)を使用します。

このデータベースはデータを個別のテーブルに保存します。これらのテーブルは、外部キーと呼ばれるフィールドによって結合できます。たとえば、ユーザーに関する特定のデータを含む users テーブルと、ユーザーが行った購入に関するデータを含む purchases テーブルを結合できます。MySQL、Microsoft SQL Server、Oracle が例です。

非リレーショナルデータベース

非リレーショナルマネージメントシステムは、一般的に NoSQL データベースと呼ばれます。この種のデータベースは、ますます複雑化する最新の Web アプリケーションにより普及しました。この種のデータベースは、過去10年間で急増しました。例としては、MongoDB と Redis があります。

オブジェクト指向データベース

オブジェクト指向データベースは、データベースサーバーのディスク上にオブジェクトを保存および管理します。オブジェクト指向データベースは、オブジェクト間の関係を永続化できる点で独自です。これは、オブジェクト指向プログラミングと複雑な関係にまたがるデータのクエリが高速かつ強力であることを意味します。

NoSQL データベースの4つの主要なファミリー

NoSQL は、従来の関係モデルを使用しないデータベースの総称です。NoSQL データベースは、リレーショナルデータベースマネジメントシステム(RDBMS)で使用される行と列のテーブル構造とは異なる構造のデータモデルを使用します。

このタイプのデータベースには、ドキュメントデータベース、キーバリュー型ストア、列指向データベース、グラフデータベースという4つの主要なファミリーがあります。

1. ドキュメントデータベース

ドキュメントデータベースは、JSON、BSON、または XML ドキュメントにデータを保存します。ドキュメントはネストでき、特定の要素にインデックスを付けてクエリを高速化できます。

アプリケーション、ストレージ、ネットワーク間で移動する際に組み立てや分解が必要になることが多い SQL データとは異なり、ドキュメントデータベース内のデータは、アプリケーションで使用されるデータオブジェクトにより似ています。これらの類似性により、アプリケーションデータを使用してアクセスするために必要な変換が少なくなります。

ドキュメントデータベースは、アプリケーションに合わせてドキュメント構造を必要に応じて作り直す柔軟性が得られるため、開発者に人気があります。このデータベースの柔軟性により、開発が迅速化します。データは開発者が管理しており、アクセスや使用が容易になります。SQL データベースでは、データベースの構造を変更するためにデータベース管理者の介入が必要になることがあります。

ドキュメントデータベースは通常、スケールアウトアーキテクチャで実装されており、データ量とトラフィックのスケーラビリティを実現するための基盤を提供します。ユースケースには、eコマースプラットフォーム、取引プラットフォーム、モバイルアプリ開発が含まれます。

MongoDB と PostgreSQL の違いの詳細については「MongoDB と PostgreSQL の比較」をご覧ください。

2. キーバリュー型データベース

これは、最も単純なタイプの NoSQL データベースです。すべての要素は、属性名(「キー」)と値で構成されるキーと値のペアとして保存されます。このデータベースは、属性名(「州」など)と値(「アラスカ」など)という2つの列を持つ RDBMS のようなものです。Redis と Riak KV がその例です。

これらは通常、ユーザーと設定の関連付けなどの単純な1対1の関係に使用されます。キーバリューデータベースのユースケースには、ショッピングカート、ユーザー設定、ユーザープロファイルなどがあります。

3. 列指向データベース

RDBMS は行単位でデータを保存し、行単位で読み取りますが、列指向データベースは列のセットとして編成されます。ネットワーク内の少数の列でアナリティクスを実行する場合、不要なデータでメモリを消費することなく、それらの列を直接読み取ることができます。列は同じ型であるため、より効率的な圧縮が可能になり、読み取りがさらに高速になります。列指向データベースは、特定の列の値を集計できます(例: 年間の売上を集計するなど)。

列指向データベースはアナリティクスには適していますが、データの書き込み方法によって一貫性を維持するのが難しくなります。これは、列指向データベース内のすべての列を書き込むために、ディスク上で複数の書き込みイベントが必要になるためです。リレーショナルデータベースでは、行データがディスクに連続して書き込まれるため、この問題は発生しません。

4. グラフデータベース

グラフデータベースは、データ要素間の関係に焦点を当てています。各要素はノードとして含まれます。データベース内の要素間の接続は、リンクまたは関係と呼ばれます。接続はデータベースの第一級要素であり、直接保存されます。

グラフデータベースは、要素間の接続を捉えて検索するように最適化されており、SQL で複数のテーブルを結合することに伴うオーバーヘッドを克服します。多くの実際のシステムでは、グラフデータベースが他のデータベースと併用されています。グラフエンジンが関係の多いクエリを処理する一方で、ドキュメントデータベースまたはリレーショナルデータベースがトランザクションデータまたは運用データを取り扱います。ユースケースには、不正検知やソーシャルネットワークが含まれます。Neo4j はその一例です。

リレーショナルデータベースと非リレーショナルデータベースの比較

どのような場合に NoSQL データベースを使用すべきでしょうか?種類の異なるデータベースには、それぞれ異なる長所と短所があります。RDBMS は一般的に使用されているため、NoSQL データベースのような非リレーショナルデータベースがRDBMSに対してどのような利点を持つのかを検討する価値があります。 

RDBMS と非リレーショナルデータベースの違いについて詳しくご覧ください。

RDBMS の長所:

  • 広く普及しており、1970年代から安定したユーザー基盤を獲得しています。

  • 構造化データの操作に最適化されています。

  • データの正規化のより強力な保証を提供します。

  • よく知られたクエリ言語である SQL を使用します。

非リレーショナルデータベースの利点:

  • 非リレーショナルデータベースは、より柔軟で管理しやすい場合があります。多くの RDBMS は半構造化データや非構造化データを容易に処理できないため、柔軟性が低下することがよくあります。

  • 多くの NoSQL データベースは、レプリケーションによるフォールトトレランスを実現するように設計されており、結果整合性を含むさまざまな整合性モデルに対応するよう構成できます。 

  • 大規模で急速に成長するデータセットや高いスループットの要件を持つアプリケーションでは、多くの NoSQL データベースは汎用ハードウェア全体に水平にスケールアウトするように設計されており、大規模な環境でも高いパフォーマンスとコスト効率を実現できます。従来のリレーショナルデータベースも拡張可能ですが、通常、同様の水平拡大を実現するにはより複雑なアーキテクチャとハイエンドなインフラストラクチャが必要となり、コストと運用上のオーバーヘッドが増加する可能性があります。

この2種類のデータベースの違いについて詳しくご覧ください。

MongoDBと他の種類のデータベースとの違いは何ですか?

MongoDB は NoSQL の分散されたデータベースプログラムです。データは厳密な関係の制約内に収まる必要がないため、MongoDB は汎用データストアとして機能できます。この種類のデータベースには、いくつかの利点があります。

データは MongoDB に保存され、柔軟なスキーマにマップされます。アプリケーションのニーズが変化した場合は、データの保存方法を再構成できます。MongoDB はスキーマバリデーションを提供しているため、必要に応じてスキーマを自由にロックできます。つまり、データベースは、データの構造化に関するどのようなニーズにも対応できます。

リレーショナルデータベースでは、異なるテーブルのデータ間の関係は結合によって実現できますが、階層型データベースではノード間の関係は不可能です。MongoDB は、$lookup などのさまざまなニーズに一致する操作や、参照を通じてドキュメントを結合する機能を提供します。

さらに、集中型データベース(または個人用データベース)とは異なり、MongoDB をレプリカセットとして複数のノードにデプロイすると、単一障害点が回避されます。1つのノードがダウンしても、別のノードが引き継ぐことができます。

MongoDB はトランザクションもサポートしており、これにより、複数のドキュメントへの読み取りと書き込みの原子性が保証されます。複数のドキュメントからデータをクエリする必要がある場合は、それらのクエリを単一のトランザクションに組み合わせることができます。

MongoDB は、ユーザーがあらゆる場所からデータを操作できるインターネット時代のアプリケーションをサポートするように設計されました。レプリケーション、ロードバランシング、アグリゲーションを最初からサポートしているため、最新のソフトウェアアーキテクチャの汎用的なコンポーネントになります。MongoDB の分散データベース/ドキュメントデータモデルを最適化する選択を支援するスキーマの提案を提供できます。

MongoDB Atlas の利点は何ですか?

MongoDB Atlas は、マルチクラウドドキュメントデータベースサービスです。MongoDB システム管理者のチームが運営するオンデマンドのフルマネージドサービスであるため、重要なこと、つまり自身のアプリケーションに集中できます。MongoDB Atlas データベースホスティングは、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform など、さまざまなクラウドプロバイダーで利用できるため、どこでもニーズに対応できます。

NoSQL データベースである MongoDB を使用する利点について、さらに詳しくお読みください

アプリケーションに適したデータベースを選択する

異なる種類のデータベースは異なる問題を解決します。構造化データと強力なデータ整合性のために構築されたものもあれば、柔軟なデータモデル、複雑な関係、効率的なデータ取得、低レイテンシのデータアクセス、または分散環境全体で増やす必要がある大規模なデータセット用に設計されたものもあります。

適切なデータベースは、アプリケーションが現在どのようにデータを保存、クエリ、管理、分析しているか、またそれらのニーズが将来どのように変化する可能性があるかによって異なります。MongoDB は、多くの最新アプリケーションに対して、進化するデータモデルと実際のアプリケーションの要求に必要なドキュメントデータベースの柔軟性と、スケーリング、パフォーマンス、回復力を提供します。

よくある質問

今すぐ Atlas を利用する

すぐに利用を開始することができます。無料のクラスターには 512 MB のストレージが付属しているため、サンプル データを使用してプラットフォームに慣れ親しんでいただけます。
無料トライアルご相談・お問い合わせ
トライアルには以下が含まれています。
  • 世界中の 115 以上のリージョンで利用可能
  • サンプルデータセット
  • 常時認証
  • エンドツーエンドの暗号化
  • コマンドラインツール