nosql の特徴: 1. 柔軟な拡張性; nosql はリレーショナル データベースのリレーショナル特性を取り除き、データ間に関係がなく、簡単に拡張できます。 2. 柔軟なデータ モデル: NoSQL は、キー/値や列ファミリーなどの非リレーショナル モデルを使用し、さまざまな種類のデータを 1 つのデータ要素に格納できます。 3. NoSQL は、優れた水平拡張機能を利用して、クラウド コンピューティング インフラストラクチャを最大限に活用し、クラウド コンピューティング環境に適切に統合できます。 4. Nosql は、特に大量のデータを扱う場合に、非常に高い読み取りおよび書き込みパフォーマンスを発揮します。 5. 高可用性。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
NoSQL は、リレーショナル データベースとは異なるデータベース管理システムの設計手法です。リレーショナル データベースの用語。使用するデータ モデルは、従来のリレーショナル データベースのリレーショナル モデルではなく、キー/値、列ファミリー、ドキュメントなどの非リレーショナル モデルです。 NoSQL データベースには固定テーブル構造がなく、通常は結合操作がなく、 ACID 制約に厳密に準拠していません。したがって、リレーショナル データベースと比較して、NoSQL は柔軟な水平スケーラビリティを備えており、大規模なデータ ストレージをサポートできます。
ACID とは何ですか?
) 柔軟なスケーラビリティ従来のリレーショナルデータベースは、独自の設計メカニズムにより「水平拡張」が困難であり、データベース負荷の大規模な増加に直面した場合、 、「垂直拡張」を実現するには、多くの場合、ハードウェアをアップグレードする必要があります。 NoSQLデータベースはもともと「水平拡張」のニーズを満たすように設計されているため、本質的に優れた水平拡張機能を備えています。
#(2
)柔軟なデータ モデル リレーショナル データベースには標準化された定義があり、さまざまな厳しい制約に準拠しています。このアプローチにより、ビジネス システムのデータ整合性要件は確保されますが、データ モデルが過度に厳格であるため、新たなさまざまなビジネス ニーズに対応できないことも意味します。対照的に、NoSQL データベースは、キー、/ 値、列ファミリーなどの非リレーショナル モデルを使用し、さまざまな型を許可します。 1 つのデータ要素に格納されるデータのデータ。 (3)クラウド コンピューティングと緊密に統合 クラウド コンピューティングは優れた水平拡張機能を備えており、リソースの使用状況に応じて自由に拡張できます。さまざまなリソースを動的に追加または削除できます。NoSQL データベースは、独自の優れた水平拡張機能に依存できます。クラウド コンピューティング インフラストラクチャを完全かつ自由に利用し、クラウド コンピューティング環境に適切に統合し、NoSQL に基づいたクラウド データベース サービスを構築します。 (4) 大規模なデータ量、高いパフォーマンス nosql データベースは、特に大規模なデータ量の下で、非常に高い読み取りおよび書き込みパフォーマンスを備えています。その主な理由は、その非リレーションシップと単純なデータベース構造によるものです。 通常、nosql はクエリ キャッシュを使用します。 nosql のキャッシュはレコードレベルで粒度の細かいキャッシュであるため、この点では nosql のパフォーマンスがはるかに高くなります。 (5) 高可用性 高可用性も nosql の明らかな機能です。Nosql はパフォーマンスに影響を与えることなく非常に便利に実装できます。高可用性アーキテクチャ、代表的な例は次のとおりです。 Cassandra および HBase モデル: 高可用性はモデルを通じても実現できます。 1、 リレーショナル データベースは次のことができます。 Web2.0 の要件を満たさなくなりました。 主に次の側面で現れます: (1) 大量のデータの管理ニーズに対応できない 上記の Web サイトについては、まもなく対応できるようになる予定です。 10SQL# を使用して、リレーショナル データベースのテーブルに 10# 10 億を超えるレコードを生成する##クエリは非常に非効率的です。 #(2)を満たすことはできません高いデータ同時実行性の要件 #3#) ##) は、高スケーラビリティと高可用性の要件を満たすことができません。 Web 2.0 時代には機能が「無味乾燥」になった リレーショナル データベースの主な機能には、完全なトランザクション メカニズムと効率的なクエリ メカニズムが含まれます。ただし、リレーショナル データベースが誇る 2 つの主要な機能は、 時代には、主に次の点で役に立たなくなりました。 ## (1) Web 2.0 Web サイト システムでは、通常、厳密なデータベース トランザクションは必要ありません。 (2) リレーショナル データベースの場合、データ レコードがデータベースに正常に挿入されると、すぐにクエリを実行できます。 Web 2.0 では、そのようなリアルタイムの読み取りと書き込みの要件はありません。 (3) Web 2.0 には、通常、多数の複雑な SQL クエリが含まれていません。 通常、複雑な SQL クエリは含まれません。複数のテーブル結合操作が含まれています。ただし、Web 2.0 Web サイトはそのような操作を最小限に抑えるか回避するように設計されており、通常は単一テーブルの主キー クエリのみを使用するため、リレーショナル データベースのクエリ最適化メカニズムは Web 2.0 で違いを生むのは困難です。 ##NoSQL データベースとリレーショナル データベースの比較 概要: ##( 1) リレーショナル データベース利点 : 完全なリレーショナル代数理論に基づいて、トランザクション ACID の 4 つのプロパティをサポートする厳格な標準があります。インデックスメカニズムの助け 効率的な クエリを実現可能 #、成熟したテクノロジー、専門会社からの技術サポート欠点 Web2.0 アプリケーションをサポートできない、トランザクション メカニズムがシステム全体のパフォーマンスに影響するなど( 2) NoSQLデータベース利点 Web2.0 アプリケーションを十分にサポートし、強力な水平拡張機能などを備えています。 #欠点: 数学的理論的基盤の欠如、複雑なクエリのパフォーマンスが低い、強力なトランザクション一貫性をほとんど実現できない、データ整合性の達成が難しい、テクノロジーがまだ成熟していない、専門チームが不足している技術サポート、困難なメンテナンスなど (3) リレーショナル データベースと NoSQL リレーショナル データベース アプリケーション シナリオ : 通信、銀行、その他の分野の主要なビジネス システムは、強力なトランザクションの一貫性を確保する必要があります データベース アプリケーション シナリオ #: インターネット企業および従来型企業の非重要なビジネス (データ分析など) ハイブリッド アーキテクチャの採用 ## NoSQLデータベースには多数のデータベースがありますが、要約すると、典型的な NoSQL# #データベースには通常、キー値データベース、列ファミリー データベース、ドキュメント データベース、および グラフ データベース# が含まれます。 # 1. キー/値データベース Key -value データベース (Key-Value データベース) には、テーブル内の特定のキーと特定の値を指すポインターが含まれます。キーを使用して、値を検索する、つまり、特定の値を保存および取得することができます。値は透過的でデータベースからは見えません。値のインデックス付けやクエリはできず、キーを介してのみクエリできます。 Value は、整数、文字、配列、オブジェクトなど、あらゆる種類のデータを格納するために使用できます。 ユーザーがログインすると、セッション指向アプリケーション (Web アプリケーションなど) が開始されます。ユーザーがログオフするかセッションがタイムアウトになるまでアクティブなままになります。この間、アプリケーションはすべてのセッション関連データをメイン メモリまたはデータベースに保存します。セッション データには、ユーザー プロファイル情報、メッセージ、パーソナライゼーション データとテーマ、提案、ターゲットを絞ったプロモーションと割引が含まれる場合があります。各ユーザー セッションには一意の識別子があります。セッション データは主キー以外のキーでクエリできないため、高速なキーと値のストアがセッション データに適しています。一般に、キー/値データベースは、リレーショナル データベースよりもページあたりのオーバーヘッドが少ない可能性があります。 ##3. ドキュメント データベース ##4. グラフ データベース 5. さまざまな種類のデータベースの比較分析 いわゆる CAP は次のことを指します:
CAP の問題に対処する場合、明白な選択肢がいくつかあります。 CA: つまり、一貫性 (C) と可用性 (##) を重視します。 #A)、パーティション許容度 (P) を放棄します。最も簡単な方法は、すべてのトランザクション関連のコンテンツを同じ上位マシンに配置することです。明らかに、このアプローチはシステムのスケーラビリティに重大な影響を与えます。従来のリレーショナル データベース (MySQL、SQL Server、PostgreSQL)、これらすべて設計原則が採用されているため、スケーラビリティは相対的に劣ります CP: つまり、次のことに重点が置かれています。一貫性性別 (##C) と分割耐性 (#P)、可用性の放棄 (#A#) # )、ネットワーク分割が発生すると、影響を受けるサービスはデータの整合性が保たれるまで待機する必要があるため、待機期間中は外部サービスを提供できません : つまり、可用性 (A) と分割耐性 (P) を重視します。 )、一貫性 (C) を放棄し、システムが一貫性のないデータを返すことを可能にします #BASE ACID については前に説明しましたが、ここで BASE ( B#) について簡単に説明しましょう。 ## として #A利用可能 #、Soft-state、E結果整合性) ##ACID
##原子性 ( トミシティ)##基本的に利用可能です(B A##利用可能)#一貫性 #(#C /柔軟なトランザクション(S #よくある状態) 孤立(I孤立) 結果整合性(E結果整合性) 永続性(D耐久性) BASE の基本的な意味は、「基本的に利用可能 ( B基本的に Availble)、ソフト状態 (S )頻繁な状態) と結果整合性 (E結果整合性) : 基本的に利用可能とは、分散システムの一部に問題が発生して利用できなくなった場合でも、他の部分は引き続き使用できることを意味します 通常の使用つまり、パーティション障害の発生を許可します soft-state )」は、「ハードステート (hard-state)」に対応する定式化です。データベースに保存されているデータが「ハード状態」にある場合、データの一貫性、つまりデータが常に正しいことが保証されます。 「ソフト状態」とは、一定のラグを伴い、状態が一定期間同期されなくなる可能性があることを意味します。 ## 整合性には強整合性と弱い整合性があり、両者の主な違いは、同時性の高いデータアクセス操作において、後続の操作で最新のデータを取得できるかどうかです。強整合性の場合、更新操作の実行後、後続の他の読み取り操作で更新後の最新データが読み取られることが保証できますが、逆に、後続のアクセスで更新後の最新データが読み取られることが保証できない場合は、弱い整合性です。最終整合性は、弱い整合性の特殊なケースにすぎません。これにより、後続のアクセス操作で更新されたデータの読み取りが一時的に失敗しますが、一定期間が経過すると、最終的には更新されたデータを読み取る必要があります。 プログラミング関連の知識について詳しくは、 をご覧ください。 ! NoSQL の台頭の理由
リレーショナル データベースの鍵#NoSQL とリレーショナル データベースの比較
RDBMS: リレーショナル データベース
NoSQL
NoSQL の 3 つの基礎
理論によれば、分散システムが一貫性、可用性、分割耐性の 3 つの要件を同時に満たすことは不可能です。同時に 2 つを満足させることは、「ケーキを食べながらケーキを食べることはできない」ということわざのとおりです。
ABASE
基本的に
##ソフトステート
以上がnosqlデータベースの特徴は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。