リレーショナルおよび非リレーショナルデータベース
非リレーショナルデータベース分類
表示されるため、非リレーショナルデータベース自体の短い自然の多様性、および時間に、したがって、リレーショナルデータベースを望んでいない、いくつかのデータベースがあり、風景を支配非常に多くの非リレーショナルデータベース、およびそれらのほとんどはオープンソースですることができます。
これらのデータベースは、実際には、ほとんどが達成することは比較的簡単で、いくつかの共通に加えて、大部分は、高性能で、このようなアプリケーションのために、そのため、特定のアプリケーションの要件のために表示されます。体系的なアプローチやアプリケーションに応じて、それは、次のカテゴリに分かれています。
1)キーと値のデータベースの高性能同時読み取りと書き込みのために:でも高い同時読み取りと、キーと値のデータベースの主な機能と性能を書き込み、のRedis、東京内閣、フレアは、このような代表であります
データアクセスのための2)大規模なドキュメント指向データベース:MongoDBのとCouchDBのに代表される迅速にデータの膨大な量のデータを照会することができ、データベースのこのタイプの特徴
3)分散データベースのためのスケーラビリティ:データベースは、この種の問題を解決したいが、従来のデータベースのスケーラビリティの欠陥の存在である、そのようなデータベースは、データの構造の変化に適応し、データの量を増やすことができます
リレーショナルデータベースの非リレーショナルデータベースVS
リレーショナルデータベースの最も重要な特徴は、トランザクションの一貫性である。従来のリレーショナルデータベースの読み取りおよび書き込み操作は、ACID特性を持つ取引であり、この機能は、リレーショナルデータベースシステムは、ほとんどすべての必要な一貫性の中で使用することができます銀行システムのような典型的な。
しかし、Webアプリケーション、特にSNSアプリケーションでは、一貫性は、コンテンツのユーザーが同じ矛盾Cコンテンツの更新を許容することができ、または2人が見ることを見るために非常に重要な、ユーザーAとユーザーBが見えたされていません数秒後、さらに悪い友人同時にデータの更新を許容することができるので、リレーショナルデータベースの最も重要な特徴は、少なくともそれほど重要ではありません、ここでは無用となっています。
逆に、その読み取りと書き込みのパフォーマンスのために支払うことに一貫性の巨大な価格を維持するために、リレーショナルデータベースが悪く、マイクロブログのように、SNSアプリケーションのFacebookの種類、同時読み取りおよび書き込みスキルは非常に厳しいです、リレーショナルデータベースでは対処することができませんでした(読書の面で、従来のリレーショナルデータベースの欠点を克服し、パフォーマンスを向上させるためには、静的なWebページを高めるためにmemcacheのであり、SNSで、変更がmemchacheはプロットを失ってしまった、速すぎる)、それゆえ、我々は新しいものを使用する必要があります。データ構造は、リレーショナル・データベースの代わりに格納されています。
もう一つの特徴は、SNS、システムのアップグレードは、機能が増える一方で、そのリレーショナルデータベースは、固定されたテーブル構造を有しているため、そのスケーラビリティが悪いデータ構造がしばしば巨大な変化を意味する、それがリレーショナルデータベースに困難です、新構造化データストレージを対処します。
構造化データストレージ内のすべての新しい要件を満たすことは不可能であるため、このように、非リレーショナルデータベースは、されて入ってきたので、厳密には非リレーショナルデータベースはデータベースではありません、それは構造化データ格納方法でなければなりませんコレクション。
リレーショナルデータベースの利点と欠点
リレーショナルデータベースの最も典型的なデータ構造は、テーブル、およびからなる2次元の表の組織との間のデータリンクであります
長所:
1、保守が容易:テーブル構造を使用して一貫性のある形式です。
2は、使いやすい:SQL共通言語、複雑なクエリのために使用することができます。
図3に示すように、複雑な操作:SQLをサポートし、テーブルや複数のテーブルの間には非常に複雑なクエリのために使用することができます。
短所:
1、特に効率的な大量のデータの読み出しと書き込み、性能が比較的悪い読み取りと書き込み。
図2に示すように、固定されたテーブル構造、したがってより少ない柔軟性。
3、同時読み取りと高い需要を書き、従来のリレーショナルデータベースは、ディスクI / Oは、大きなボトルネックとなっています。
非リレーショナルデータベースの利点と欠点
厳密に非リレーショナルデータベースではないデータベース、それは構造化データ格納方法の収集のためにする必要があり、文書またはキーと値のペアすることができます。
利点:
図1に示すように、フレキシブルフォーマット:保存されたデータのフォーマットは、キー、値の形式等の文書、画像、フォームの形態、文書、画像、フォーム、等の形態で、フレキシブル、幅広いアプリケーションシナリオこと、及び基本的なリレーショナル・データベース・タイプをサポートすることができます。
2、スピード:NoSQLのランダム・アクセス・メモリやハードディスクを担体として使用することができ、ハードディスクは、リレーショナル・データベースを使用することができます。
3、高いスケーラビリティ。
4、低コスト:NoSQLの簡単なデータベースの展開、基本的にはオープンソースソフトウェア。
短所:
1、高コストのサポートSQL、学習と使用を提供しません。
2、何のトランザクションを、
図3に示すように、データ構造が複雑なクエリの比較的複雑な、あまり印象的な側面です。
参考: