推奨: 「MongoDB ビデオ チュートリアル 」
はじめに
MongoDB は分散型データベースです。ファイルが保存されている場所。 C言語で書かれています。 WEB アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供するように設計されています。
MongoDB は、リレーショナル データベースと非リレーショナル データベースの中間の製品であり、非リレーショナル データベースの中で最も機能が豊富で、最もリレーショナル データベースに似ています。サポートされるデータ構造は非常に緩やかで、json に似た bson 形式であるため、より複雑なデータ型を格納できます。 Mongo の最大の特徴は、サポートされているクエリ言語が非常に強力であることです。その構文はオブジェクト指向のクエリ言語に似ています。リレーショナル データベースの単一テーブル クエリと同様のほとんどの機能を実装でき、インデックス作成もサポートしています。データの。
特徴
高性能、簡単な導入、使いやすさ、そしてデータの保存が非常に便利であることが特徴です。主な機能特徴は次のとおりです。
##コレクション ストレージ向けで、オブジェクト タイプのデータを簡単に保存できます。#*フリーモード。
##動的クエリをサポートします。#*内部オブジェクトを含む完全なインデックス作成をサポートします。
##サポートクエリ。#*レプリケーションと障害回復をサポートします。
#*大きなオブジェクト (ビデオなど) を含む、効率的なバイナリ データ ストレージを使用します。## 断片化を自動的に処理して、クラウド コンピューティング レベルでのスケーラビリティをサポートします。
*RUBY、PYTHON、JAVA、C、PHP、C# などの言語をサポートします。
## ファイルの保存形式は BSON (JSON の拡張子) です。##Web からアクセスできます。
使用原則いわゆる「コレクション指向」とは、データがグループ化され、コレクション (コレクション) と呼ばれるデータセットに格納されることを意味します。 。各コレクションにはデータベース内で一意の識別名があり、無制限の数のドキュメントを含めることができます。コレクションの概念は、スキーマを定義する必要がないことを除けば、リレーショナル データベース (RDBMS) のテーブルに似ています。 Nytro MegaRAID テクノロジーのフラッシュ キャッシュ アルゴリズムは、データベース内の大規模なデータ セット内のホット データを迅速に識別し、一貫したパフォーマンスの向上を実現します。
スキーマフリーとは、mongodb データベースに保存されたファイルについては、構造定義を知る必要がないことを意味します。必要に応じて、異なる構造のファイルを同じデータベースに保存できます。
コレクションに保存されるドキュメントは、キーと値のペアとして保存されます。キーはドキュメントを一意に識別するために使用され、文字列タイプですが、値はさまざまな複雑なファイル タイプにすることができます。この保存形式を BSON (Binary Serialized Document Format) と呼びます。
MongoDB は複数のサイトに展開されています
主なシナリオ: 1) Web サイトのリアルタイム データ処理。リアルタイムの挿入、更新、クエリに最適で、Web サイト上のリアルタイム データ ストレージに必要なレプリケーションと高い拡張性を備えています。 2) キャッシュ。高性能なため、情報インフラのキャッシュ層として最適です。システムの再起動後、システムによって構築された永続キャッシュ レイヤーにより、基礎となるデータ ソースの過負荷を防ぐことができます。 3) 高スケーラビリティのシナリオ。数十台または数百台のサーバーで構成されるデータベースに最適なロードマップには、MapReduce エンジンのサポートが組み込まれています。適用できないシナリオは次のとおりです:
3) 複雑なドキュメント (テーブル) 間のカスケード クエリ。1) 高度なトランザクション性を必要とするシステム。
2) 従来のビジネス インテリジェンス アプリケーション。
システムの紹介
分散ファイル システムとは、ファイル システムによって管理される物理ストレージ リソースが必ずしもローカル ノードに直接接続されているわけではないことを意味します。コンピュータネットワークを介してノードに接続されます。分散ファイル システムの設計は、クライアント/サーバー モデルに基づいています。一般的なネットワークには、複数のユーザーがアクセスする複数のサーバーが含まれる場合があります。さらに、ピアツーピア機能により、一部のシステムがクライアントとサーバーの二重の役割を果たすことができます。 HBase は、分散型の列指向のオープン ソース データベースです。このテクノロジーは、Fay Chang が執筆した Google の論文「Bigtable: 構造化データのための分散ストレージ システム」に由来しています。 Yonghong Data Mart Yonghong Data Mart の分散ファイル ストレージ システム (ZDFS) は、独自のテクノロジーに基づいて開発されたデータ ストレージおよびデータ処理ソフトウェアであり、サーバー クラスター内のすべてのノードを統合する Hadoop HDFS に基づいて変換および拡張され、保存されたファイルを一元管理およびストレージします。 files.
適用可能なシナリオ
MongoDB の主な目標は、キー/値の保存方法 (高いパフォーマンスと高いスケーラビリティを提供する) を組み合わせることです。 Mongo は従来の RDBMS システム(機能が豊富)と両方の利点を兼ね備えており、公式 Web サイトによれば、Mongo は次のようなシナリオに適しているとのことです。
# Web サイト データ: Mongo はリアルタイムの挿入、更新、クエリに非常に適しており、Web サイトのリアルタイム データ ストレージに必要なレプリケーションと高い拡張性を備えています。
# キャッシュ: Mongo は、その高いパフォーマンスにより、情報インフラストラクチャのキャッシュ層としても適しています。システムの再起動後、Mongo によって構築された永続キャッシュ レイヤーにより、基礎となるデータ ソースの過負荷を防ぐことができます。
# サイズが大きく、価値の低いデータ: 従来のリレーショナル データベースを使用して一部のデータを保存すると、コストが高くなる可能性があるため、以前は、プログラマーはストレージとして従来のファイルを選択することがよくありました。
#● 高スケーラビリティ シナリオ: Mongo は、数十、数百のサーバーで構成されるデータベースに非常に適しており、Mongo のロードマップにはすでに MapReduce エンジンのサポートが組み込まれています。 # オブジェクトと JSON データのストレージ: Mongo の BSON データ形式は、文書化された形式でのストレージとクエリに非常に適しています。
不快なシナリオ
● 高度なトランザクション システム: 銀行システムや会計システムなど。現在、従来のリレーショナル データベースは、多数のアトミックで複雑なトランザクションを必要とするアプリケーションにより適しています。アプリケーション ケース#● 従来のビジネス インテリジェンス アプリケーション: 特定の問題に対する BI データベースは、高度に最適化されたクエリ方法を生成します。このようなアプリケーションには、データ ウェアハウスがより適切な選択肢となる可能性があります。
# SQL を必要とする質問。
以下は、企業における MongoDB の実際的なアプリケーションの一部です。
bit.ly は、MongoDB を使用してデータを保存します。 MTV Networks の関連会社である
spike.com は MongoDB を使用しています。
中小企業および個人向けのソフトウェアとサービスのプロバイダーである Intuit は、中小企業向けの MongoDB を使用してユーザー データを追跡しています。
sourceforge.net は、MongoDB バックエンド ストレージを使用して、オープン ソース ソフトウェアを無料で検索、作成、公開するためのリソース Web サイトです。手作り品を売買する Web サイト
etsy.com は MongoDB を使用しています。
大手オンライン ニュース ポータルの 1 つである New York Times は MongoDB を使用しています。
CERN は、有名な素粒子物理学研究所であり、欧州原子核研究センターの大型ハドロン衝突型加速器からのデータに MongoDB を使用しています。
以上がMongoDBの特徴、原理、利用シーン、活用事例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。