sql >> データベース >  >> NoSQL >> MongoDB

初心者向けのMongoDBチュートリアル(完全ガイド)–15分でMongoDBを学ぶ

    MongoDBである開発者の焦点を捉えるrasingテクノロジー。 MongoDBは、データをドキュメントの形式で保存するオープンソースのドキュメント指向データベースです。

    初心者向けのこのMongoDBチュートリアルでは、MongoDBとは何か、その仕組み、前提条件、アプリケーション、利点、制限などについてすべてを学び、MongoDBをエキスパートのように学びます。

    では、初心者向けのMongoDBチュートリアルを見て興奮していますか?

    MongoDBとは何ですか?どのように機能しますか?

    MongoDBはNoSQL(構造化クエリ言語だけでなく)データベースです クロスプラットフォームのドキュメント指向のプログラム。さまざまな形式のデータをサポートするオープンソースのデータベース管理システムです。

    ビッグデータでの使用により、2000年代半ばに人気を博しました。 アプリケーションおよび非構造化データの処理にも使用できます。

    MongoDBアーキテクチャは、コレクションで構成されています およびドキュメント。これは、JSONドキュメントのバイナリ形式であるドキュメントストレージにBSON形式を使用します。スキーマを動的に変更する場合、サーバーにダウンタイムは発生しません。

    これは、ユーザーがデータベース用のデータの準備に時間を浪費するのではなく、データに取り組むためのより多くの時間を持っていることを意味します。

    MongoDBを学習するための前提条件

    この初心者向けMongoDBチュートリアルでは、MongoDBの学習を開始する前に知っておく必要がある前提条件について説明します。 。

    • あらゆるプログラミング言語の知識。
    • JavaScriptの知識
    • JSONを知っていると役に立ちます
    • RDBMSに関するある程度の知識
    • テキストエディタの知識

    初心者向けのMongoDBチュートリアル–はじめに

    NoSQLデータベースの概要

    多くの人がNoSQLについて聞いたことがあるかもしれませんが、NoSQLは、ソーシャルメディア、銀行、株式市場などのさまざまな場所からの非構造化データを管理するために使用される一種のデータベースです。基本的に、行や列はありません。

    >

    NoSQLは、非常に速い速度で変化および増大しているこの膨大な量のデータを処理する上で重要な役割を果たしています。リレーショナルデータベースは、急速に変化し続けるこの種のデータの処理には適していません。

    したがって、NoSQLデータベースは、今日の世界に関連するリレーショナルデータベースのすべての欠点を克服するように設計されています。

    MongoDBとRDBMS

    以下は、MongoDBとRDBMSの違いを示すいくつかのポイントです。 。

    • RDBMSにはリレーショナルデータベースがありますが、MongoDBには非リレーショナルデータベースがあります。
    • RDBMSではテーブルを設計する必要があります。そうすればコーディングを開始できますが、MongoDBでは直接コーディングを開始できます。
    • RDBMSはSQL言語をサポートしています MongoDBは、SQLとJSONクエリ言語をサポートしています。
    • RDBMSはテーブルベースですが、MongoDBはキー値ベースです。
    • MongoDBはドキュメントベースですが、RDBMSは行ベースです。
    • RDBMSは列ベースですが、MongoDBはフィールドベースです。
    • RDBMSのセットアップはそれほど簡単ではありませんが、MongoDBのセットアップは比較的簡単です。
    • MongoDBは水平方向にスケーラブルですが、RDBMSは垂直方向にスケーラブルです。
    • RDBMSは、MongoDBの非構造化データと比較して、データの処理が非常に遅くなります。
    • RDBMSは、ACID(Atomicity、Consistency、Isolation、Durability)プロパティを強調します。一方、MongoDBはCAP(一貫性、可用性、パーティション許容度)の定理を強調しています。

    初心者向けのMongoDBチュートリアル– MongoDB VS RDBMS

    MongoDBが使用される理由

    MongoDBには多くの機能があります 現在TBで数秒以内に生成されているNoSQLデータを処理しているため、それ自体が使用されます。そのため、この大量のデータを処理し、そこからいくつかの有用な情報を取得するために、MongoDBを使用しています。

    • クエリ
    • インデックス作成
    • 負荷の不均衡
    • 複数のサーバーの処理
    • ファイルストレージシステム
    • 集約
    • 高性能

    i。クエリ

    範囲クエリ、正規表現、その他多くの種類のクエリ検索をサポートしています。 MongoDBは、アドホックおよびドキュメントベースのクエリをサポートしています。

    クエリにはユーザー定義のJavaScript関数が含まれ、ドキュメントから特定の種類のデータを返すこともできます。また、指定されたサイズのデータ​​のランダムサンプルを返すこともできます。

    ii。インデックス作成

    ドキュメントのフィールドはインデックスに登録できます プライマリまたはセカンダリとして。 MongoDBは、データのレプリケーションを処理および処理することもできます。レプリカセットには、それ自体の複数のコピーを含む同じデータが含まれていることがわかっています。

    各レプリカは、プライマリインデックスまたはセカンダリインデックスのいずれかに自分自身を配置しようとします。通常、データのすべての読み取りおよび書き込み処理はプライマリインデックスを使用して実行されますが、何らかの理由でレプリカのプライマリインデックスが失敗する場合があります。

    そのため、その時点で、レプリカセットは、読み取りまたは書き込み操作のいずれかによってさらに処理するために、レプリカのどのセカンダリインデックスを選択する必要があるかについての選択プロセスになります。ほとんどの場合、セカンダリは書き込み操作に使用されており、読み取り操作に使用されることはめったにありません。

    iii。負荷の不均衡

    シャーディングの助けを借りて、MongoDBは水平方向にスケーリングします。ユーザーには、コレクション内のデータをどのように配布するかを決定できる共有キーを選択する機会が与えられます。

    ここでは、データはシャードキーに基づいて範囲に分割され、複数のシャードに分散されます。ここでは、シャードはそれ自体で1つ以上のスレーブを持つマスターとして機能します。これは、ハッシュを使用して実行することもできます。これにより、データが全体に均等に分散されます。

    iv。複数のサーバーの処理

    MongoDBは、重複データを処理し、ハードウェア障害の可能性がある場合でもデータの負荷を分散しながら、同時に複数のサーバーで実行できます。

    v。ファイルストレージシステム

    負荷を処理しながらデータを保存し、複数のサイトで同じデータのレプリケーションをチェックアウトするこのメカニズムは、 GridFS(グリッドファイルシステム)と呼ばれます。 。この関数は、MongoDBドライバーで追加されています。

    GridFSには、mongofilesユーティリティまたはさまざまな種類のプラグインを使用してアクセスできます。 GridFSはファイルを小さな部分に分割し、各部分を個別のドキュメントとして保存します。

    vi。集約

    集計を実行する方法は3つあり、次のとおりです。

    • 集約パイプライン
    • Map-Reduce関数
    • 単一目的の集計方法。

    アグリゲーションパイプラインでは、パイプラインを使用するため、プロセッサは理想的な状態ではなく、各プロセスはパイプライン内の前のプロセスの出力に関連付けられます。

    Map-reduceは、データのバッチ処理や集計操作にも使用できます。しかし、これは集約パイプラインの助けを借りてうまく処理できます。

    vii。高性能

    ここでは、リレーショナルデータベースと比較して、入出力操作の実行にかかる時間が短くなっています。クエリも、リレーショナルデータベースと比較して速いペースで実行されています。

    MongoDBの利点

    MongoDBの利点のいくつかを次に示します。

    • MongoDBのインストールとセットアップは非常に簡単です。
    • これはスキーマのないデータベースです。
    • スケーリングは非常に簡単です。
    • NoSQLデータベースであるため、あらゆる種類のSQLインジェクションから保護されます。
    • アプリケーションオブジェクトをデータオブジェクトにマッピングする必要はありません。
    • ファイルストレージシステムとして使用できます。
    • 正規表現とフィールドによる検索もサポートしています。
    • 教育可能なドキュメントが利用可能です。

    MongoDBのデメリット

    コインには2つの側面があることは誰もが知っているので、このような驚くべき利点には、MongoDBにはいくつかの欠点があります。それらは次のとおりです:

    • トランザクションをサポートしていません
    • MongoDBは結合をサポートしていません。
    • RAMの制限。

    MongoDBで使用される一般的な用語

    この初心者向けのMongoDBチュートリアルは、ほとんどすべてのトピックをカバーしており、初心者の学習に追加されます。ここでは、MongoDBで主に使用されるいくつかの用語について説明します。

    初心者向けのMongoDBチュートリアル–用語

    i。ドキュメント

    ここに情報を保存するための基本単位です。これは、キーと値のペアの順序付けられたセットであり、すべてのキーに対して、それに関連付けられた値が存在します。

    例えば{“ first”:“ Hello、world!”}

    最初が鍵であり、こんにちは、世界が価値です。

    ii。コレクション

    ドキュメントのグループです。 RDBMSに関しては、行を含むテーブルです。

    iii。日付演算子

    日付を確認するために使用できます。日付を書き込むために使用するコマンドは次のとおりです。

    • Date()– 現在の日付を文字列として返します。
    • 新しい日付()– 現在の日付をデータオブジェクトとして返します。

    iv。コマンドの削除

    これを使用して、MongoDBから何でも削除できます。同じコマンドは次のとおりです。

    • collection.remove()– フィルタに一致する単一のドキュメントを削除します。
    • db.collection.deletemany()– フィルタに一致する指定されたすべてのドキュメントを削除します。

    MongoDBエディション

    MongoDBには2種類のエディションがあり、それらは次のとおりです。

    • コミュニティサーバー –完全に無料で、Windows、Linux、osxにも使用できます。
    • エンタープライズサーバー はMongoDBの商用版であり、MongoDBEnterpriseAdvancedサブスクリプションで利用できます。

    MongoDBを使用している場所とユーザー

    MongoDBは、データが動的に変化する大規模なプロジェクトに使用できます。最新のアプリケーションはすべて、ビッグデータ処理、高速な機能開発、簡単なアクセス、およびMongoDBによって提供されるより多くの機能を必要とします。 MongoDBがノンパレルであるいくつかの領域は次のとおりです。

    • ビッグデータ
    • データハブ
    • モバイルおよびソーシャルインフラストラクチャ
    • ユーザーデータ管理

    ビジネスアプリケーションにMongoDBデータベースを使用している大規模な組織は数多くあり、次のとおりです。

    • Adob​​e
    • LinkedIn
    • SAP
    • eBay
    • マカフィーなど

    MongoDBの将来の範囲

    今後のMongoDBの将来は非常に明るいです。 MongoDBをデータウェアハウスにするべきではありませんが、プラットフォーム上にネイティブにとどまる運用アプリを拡張して、さらに使用できるようにすることで、MongoDBを強化する必要があります。

    Hadoopとビッグデータにも使用できます 非常に高速な方法でデータを処理するための目的。これは、非常に短い期間で有用な情報を取得するのに役立ちます。これにより、人間が時間とお金を節約するのに役立つ、さらに多くのアプリケーションが登場します。

    つまり、これはすべて初心者向けのMongoDBチュートリアルに関するものでした。私たちの説明が気に入っていただければ幸いです。

    初心者向けのMongoDBチュートリアルの概要

    したがって、この MongoDB 初心者向けのチュートリアルでは、MongoDBの用途、それに関連するいくつかの機能、MongoDBの長所と短所、および人々が使用できるMongoDBのさまざまなエディションについて知ることができました。だから、MongoDBを学び始めて、あなたのキャリアにキックスタートを与えてください。

    さらに、ご不明な点やご不明な点がございましたら、お気軽にお問い合わせください。


    1. mongodb集計で文字列の配列を返す方法

    2. MongoDB $ tanh

    3. MongoDB $ add

    4. Googleの標準AppEngine(Python 3.7)からRedisインスタンス(メモリストア)に接続する方法