組織は、アジャイルやDevOpsなどの新しいITプロセスを実装し、クラウドやマイクロサービスなどの新しいアーキテクチャを採用することで、新しいビジネス機能を継続的に提供するために、毎日新しい課題に直面しています。これらすべてに対応するには、急速に変化するデータ型の大幅な増加を管理し、クライアント側とデータレイヤー側のどこにデータを保存してもデータを処理できる新しいデータベースの概念が必要です。
したがって、「SQLだけでなく」NoSQLデータベースは、これらの課題に対応するように設計されています。 MongoDBは、主要なNoSQLデータベースであり、オープンソースのドキュメントデータベースです。
この記事では、MongoDBの概念を説明し、その利点と用語、およびそれを実装できる場所についてのアイデアを提供します。
MongoDBの利点:
MongoDBのデータプラットフォームは、次の2つの原則の概念に基づいています。
- ドキュメントデータベース :MongoDBは、JSONオブジェクトに似たデータモデルとしてドキュメントを使用します。これは、フィールドと値のペアで構成されるデータ構造です。値には、サブドキュメント、配列、およびドキュメントの配列が含まれる場合があります。高価な結合の必要性を減らします。このデータモデルを使用すると、ネイティブデータ型に対応するため、アプリケーションオブジェクトがデータにどのようにマッピングされるかをより迅速かつ簡単にモデル化できます。使いやすさを超えて、ドキュメントはいつでもスキーマを変更できるため柔軟性があり、ドキュメントは同じコレクション内の他のドキュメントとは異なる構造を持つことができ、拡張可能であるため多形性があります。どのような方法でもデータをモデル化できます。それを要求します。
- 分散データ: MongoDBは、システムをスケールアウトし、低遅延のユーザーアクセスのためにデータを分散する機能を提供します。 「シャーディング」と「レプリカセット」の手法を実装すると、データの分散と安価なハードウェアへの展開の拡大が容易になります。
基本的な用語:
MongoDBは、BSONドキュメントをコレクションに保存します。データベース内のコレクション。通常、単一のMongoDBサーバーには複数のデータベースがあります。各データベースは、コレクションの形式としてファイルシステム上の独自のファイルセットを取得します。各コレクションはドキュメントのセットです。コレクションの主な利点の1つは、スキーマを適用しないことです。同時に、動的なスキーマを使用できます。動的スキーマとは、同じコレクション内のドキュメントが同じフィールドまたは構造のセットを持つ必要がなく、コレクションのドキュメント内の共通フィールドが異なるタイプのデータを保持する可能性があることを意味します。
次の図は、リレーショナルデータベースとMongoDBの対応用語を示しています。
クエリ言語:
RDBMS(OracleとMySQL)とMongoDBの両方に豊富なクエリ言語があります。
次の図は、クエリ言語によるRDBMSとMongoDbの対応を示しています。
実装:
MongoDBを利用するために、次のフィールドにMongoDBを実装することを選択できます。
- Eコマース製品カタログ
- ブログ、コンテンツ管理、配信
- モバイルおよびソーシャルインフラストラクチャ
- ビッグデータ
- ユーザーデータ管理
- データハブ