一般的な非リレーショナル データベースには、1. mongodb、2. cassandra、3. redis、4. hbase、5. neo4j、mongodb は非常に有名な NoSQL データベースであり、ドキュメント指向のオープン ソース データベースです。
一般的な非リレーショナル データベース:
(学習ビデオ共有: redis ビデオ チュートリアル)
1. MongoDB
MongoDB は最も有名な NoSQL データベースです。これはドキュメント指向のオープンソース データベースです。 MongoDB は、スケーラブルでアクセス可能なデータベースです。 cにあります。 MongoDB はファイル システムとしても使用できます。 MongoDB では、JavaScript をクエリ言語として使用できます。 MongoDB は、シャーディングを使用して水平方向にスケーリングします。これは、一般的な JavaScript フレームワークで非常に役立ちます。
人々はシャーディング、高度なテキスト検索、gridFS、map-reduce 機能を非常に楽しんでいます。驚くべきパフォーマンスと新機能により、この NoSQL データベースはリストの一番上にあります。
特徴: 高いパフォーマンスを提供、自動的にシャード化、複数のサーバーで実行、マスター/スレーブのレプリケーションをサポート、データは JSON スタイルのドキュメント形式で保存、ドキュメント内のフィールドにインデックスを作成、データは次の場所に配置されるためshards なので、自動負荷分散構成があり、正規表現検索をサポートし、障害発生時の管理が簡単です。
利点: MongoDB のインストールが簡単、MongoDB Inc. は顧客に専門的なサポートを提供、アドホック クエリのサポート、高速データベース、スキーマレス データベース、水平方向にスケーラブルなデータベース、非常に高いパフォーマンス。
欠点: 接続がサポートされていない、データ量が大きい、ネストされたドキュメントが制限されている、不必要なメモリ使用量が増加している。
2. Cassandra
Cassandra は、受信トレイ検索のために Facebook によって開発されました。 Cassandra は、大量の構造化データを処理するための分散データ ストレージ システムです。通常、このデータは多くの共通サーバーに分散されます。データ ストレージ容量を追加して、サービスをオンラインに維持することもできます。このタスクは簡単に実行できます。クラスター内のすべてのノードは同一であるため、複雑な構成を扱う必要はありません。
Cassandra は Java で書かれています。 Cassandra Query Language (CQL) は、Cassandra データベースにクエリを実行するための SQL に似た言語です。したがって、Cassandra は最高のオープンソース データベースの中で 2 位にランクされています。 Cassandra は、Facebook、Twitter、Cisco、Rackspace、eBay、Twitter、Netflix などの大手企業で使用されています。
特徴: 線形スケーラビリティ; 高速応答時間の維持; 原子性、一貫性、分離性、耐久性 (ACID) などのプロパティのサポート; Apache Hadoop を使用した MapReduce のサポート; データ割り当ての最大の柔軟性; 高いスケーラビリティ; ピアツー-ピアアーキテクチャ。
利点: 高い拡張性、単一障害点がない、マルチ DC レプリケーション、他の JVM ベースのアプリケーションと緊密に統合、マルチデータセンターの展開、冗長性、フェイルオーバー、災害復旧により適しています。
欠点: 集計のサポートが制限されている、パフォーマンスが予測できない、アドホック クエリがサポートされていない。
3. Redis
Redis はキーと値のストアです。さらに、これは最も有名な Key-Value ストアです。 Redis は、C、PHP、Ruby、Python、Perl、Scala などの一部をサポートしています。 RedisはC言語で書かれています。さらに、BSD に基づいてライセンスが付与されています。
機能: 自動フェイルオーバー、データベース全体をメモリ内に保持、トランザクション、Lua スクリプト、任意の数のスレーブ サーバーにデータをレプリケート、キーの有効期限には制限がある、LRU によるキーの削除、パブリッシュ/サブスクライブのサポート。
長所: 複数のデータ型をサポート、インストールが簡単、非常に高速 (1 秒あたり約 110,000 グループ、1 秒あたり約 81,000 回実行)、操作はすべてアトミック、多目的ツール (多くのユースケースで使用) )。
欠点: 結合はサポートされていません。ストアド プロシージャには Lua の知識が必要です。データ セットはメモリにうまく収まる必要があります。
4. HBase
HBase は、分散型の列指向のオープン ソース データベースです。このテクノロジーは、Fay Chang が執筆した Google の論文「Bigtable: A distribution storage of Structured data」に由来しています。 」。 Bigtable が Google ファイル システムによって提供される分散データ ストレージを利用するのと同じように、HBase は Hadoop 上で Bigtable のような機能を提供します。
HBase は、Apache の Hadoop プロジェクトのサブプロジェクトです。 HBase は、一般的なリレーショナル データベースとは異なり、非構造化データの保存に適したデータベースです。もう 1 つの違いは、HBase が行ベースではなく列ベースであることです。
5. neo4j
Neo4j は、ストレージ層に至るまで属性グラフ モデルを効果的に実装しているため、ネイティブ グラフ データベースと呼ばれます。これは、データがまさにホワイトボードとして保存され、データベースがポインタを使用してグラフ内を移動および横断することを意味します。 Neo4j には、データベースのコミュニティ バージョンとエンタープライズ バージョンがあります。 Enterprise Edition には、Community Edition が提供するすべての機能に加えて、バックアップ、クラスタリング、フェイルオーバー機能などの追加のエンタープライズ ニーズが含まれています。
特徴: 一意の制約をサポート; Neo4j は完全な ACID (アトミック性、一貫性、分離性、耐久性) ルールをサポート; Java API: Cypher API およびネイティブ Java API; Apache Lucence インデックスを使用; シンプルなクエリ言語 Neo4j CQL; を含むCQL コマンドを実行するための UI: Neo4j データ ブラウザー。
利点: 結合やインデックスを使用せずに、隣接するノードや関係の詳細を簡単に取得できます。Neo4j CQL クエリ言語コマンドの学習が簡単です。データの取得に複雑な結合は必要ありません。半構造化データの表現が非常に簡単です。大規模なデータのリアルタイム アプリケーション企業向けプログラムの高可用性、チューニングの簡素化。
欠点: シャーディングはサポートされていません。
関連する推奨事項: redis データベース チュートリアル
以上が非リレーショナル データベースとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。