1、なぜNoSQLの:NoSQLのはSQLで解決できない問題を解決することができます
:何のNoSQLでないだけSQLは、本質的には、データベースであるが、それは従来のデータベースの規則に従っていません(例えば:SQL標準、ACID特性[総務]、テーブル構造、など)。
利点:
- 高性能際に大量のデータ。
- 少ないディスクの読み取りと書き込みに厳しい、サーバーのコストを削減し、安価なPC上で実行することができます。
短所:
- トランザクションのサポートは、フレンドリー十分ではありません
- 達成することは困難で複雑に関連したクエリ
伝統的なSQL | 1、小さなスループット、高同時読み取りと書き込みをサポートすることはできません 2、ストリンジェントな構成要件(フィールドチェンジトラブルによる)、複合システムは、この関係を維持することは困難です |
NoSQLの | 1、スループット、高速読み出しと膨大なデータのサポートを書き込む(メモリ動作データに基づいて) 2は、フィールドを変更することで、それは非常に簡単です。 |
2、MongoDBのプロフィール
MongoDBはあるのNoSQL、ある文書データベース。
MySQLの | MongoDBの |
デシベル | データベース(データベース) |
表 | コレクション(コレクション) |
行 | ドキュメント(文書) |
カラム | フィールド(フィールド) |
指数 | インデックス(指数) |
加わります | 無関連(DBRefを実現することができます) |
PRIMARYKEY | 主キー(主キー、クライアントのデフォルトの_id、のObjectId) |
特長:
- データ・ストレージ・データ収集のためのメモリBSONドキュメントの保存形式、ユニークに:
- スケーラビリティ:スケーラビリティが良いですが、変更されたデータは、実行中の本番環境に影響を与えません。
- 言語特徴:強力なオブジェクト指向クエリ言語を、基本的にすべてのSQL言語能力をカバー
- インデックス作成とクエリプラン:フル・インデックスのサポートとクエリプラン
- クラスタは、内部障害のサポートを断片化:クラスタ間のサポート・データ・レプリケーションを、データの自動フェイルオーバー・サポートの断片化、システムのスケーラビリティを向上させます
- データ操作:メモリマップされたストレージエンジンを使用しては、IOメモリ動作を操作する変換(だけではなく、メモリが、メモリの読み出し及び書き込み性能を向上させることによります)
3、MongoDBのシナリオ
限り、上記二点として、MongoDBのは絶対に間違っている選択!!!
しかし、システムが必要とする高トランザクションの一貫性は、(:銀行・金融システムなど)はお勧めしません。
システム構造が固定され、関連するクエリの複雑なシステムを有している、推奨されません。