このディスカッションでは、NoSQLデータベースの理解と概念に関する知識はほとんどありません。まず、NoSQLとは何か、文字通り「非SQL」または「非リレーショナルSQL」という名前を調べます。しかし、「SQLだけではない」と呼ばれることもあり、SQLより優れていることを意味します。 NoSQLは従来のテーブルベースのRDBMSデータベース(表形式)。

分野で勉強したり働いたりした人のために データベースプログラミング もちろん、あなたはデータベースの概念に精通していますMS Access、MS SQL Server、MySQL、MariaDB、PostgreSQL、SQLiteなどのRDBMSベース。 RDBMSの概念はテーブルベースのデータベースであり、それぞれが相互に接続されたテーブル(表関係)、特に主キー(PK)および外部キー(FK)列。

NoSQLはSQLとは異なり、スキーマを必要とせず、テーブルの関係がないため、より柔軟です。 NoSQLデータベースは、特に実装において、その使用数が増加し続けています ビッグデータ とアプリケーション リアルタイムウェブ。その人気は、Web 2.0ベースの企業とアプリケーションのニーズをきっかけに、今世紀の初めに上昇し続けました 扱った.

NoSQLとは何ですか?

SQLは、 構造化クエリ言語、これは構造化データベースの概念ですスキーマ、テーブル、列、行から。メディアテーブルリレーションを利用したSQLデータベースでのクエリまたはデータ構文呼び出し。異なるテーブルの複数のデータグループを同時に呼び出すことができます。

ユーザーがデータを表示したい場合望ましい場合は、特定のクエリ言語の設計で実行できます。 SQLデータベースのテーブルは、固定テーブルと固定テーブルのセットです。したがって、1つのテーブルの構造がわずかに変更されると、ViewまたはTriggerセクションで事前にプログラムされたクエリが失敗する可能性があります。 SQLデータベースで直面する制約は複雑さにあります 維持する (システムメンテナンス)とデータの規模の開発。 SQLの概念を事前に理解しておくと、NoSQLとは何かを理解するのに役立ちます。

NoSQL(非SQL)の理解は コンセプトとデータベースモデル柔軟。一般的に、具体的には、NoSQLはリレーショナルデータベース(RDBMS)のルールに従いません。 NoSQLもSQLクエリ言語を使用しません。 NoSQLはSQLとは異なるデータベースモデルです。

NoSQLという用語は、Carlo Strozziは、1998年に彼が開発していたデータベースを「Strozzi NoSQLオープンソースリレーショナルデータベース」と名付けました。 Strozzi氏は、当時のNoSQLの動作はリレーショナルデータベース全体とは「非常に異なっていた」と語りました。これが、「No Relational」という用語を指す「NoREL」と呼んだ理由です。

NoSQLとは何ですか? NoSQLの理解
2000年の終わりに、SQLの制限、特にスケーラビリティとマルチ構造データ収集の可能性の面を克服することを目的として、NoSQLの開発が再び始まりました。

2009年の初めに、Last.fmの開発者の1人であるJohan Oskarssonは、NoSQLという用語を、議論するためのイベントを組織したときに、「NoSQL」という用語を再導入しました。オープンソースの分散型非リレーショナルデータベース「(オープンソース、非リレーショナルデータベースとして配布されています)。

NoSQLデータベースは、SQLデータベースの古典的な問題を解決します。 NoSQLデータベースは、1種類のデータ格納方法のみが使用されるSQLデータベースとは異なります。 NoSQLデータベースの構造は、次の例と短い定義とともに4種類のデータストレージモデルを備え、より動的で柔軟性があります。

  1. Key-Value(KV)ストア:ArangoDB、Apache Ignite、Oracle NoSQL Database、Couchbase、Dynamo、Redis、Ripple。
    KVストレージは、データモデルの基礎として、マップまたは辞書とも呼ばれる連想配列を使用します。このモデルでは、データはペアのKVコレクションとして表示されます。
  2. ドキュメントベース:Apache CouchDB、ArangoDB、BaseX、Clusterpoint、Couchbase、Cosmos DB、IBM Domino、MarkLogic、MongoDB、OrientDB、Qizx、RethinkDB。
    ドキュメントベースのデータストレージの概念は「ドキュメント」の概念からのアイデア。ドキュメントベースのすべてのデータベース実装では、通常、ドキュメントがカプセル化され、標準のエンコード形式にエンコードされていると想定されています。
  3. 列ベース:Accumulo、Cassandra、Scylla、HBase。
    ワイドコラムモデルとも呼べる行キー、列名、およびセルのタイムスタンプを利用することによる非常に高速なデータアクセス。このデータベースタイプのスキーマの柔軟性により、列(列)内のレコードを一貫させる必要がなくなります。ユーザーは、各レコードに列を追加しなくても、特定の1行に列を追加できます。
  4. グラフベース:AllegroGraph、ArangoDB、InfiniteGraph、Apache Giraph、MarkLogic、Neo4J、OrientDB、Virtuoso。
    理論的には、グラフベースの構造は、データの関係と呼ぶことができる頂点とエッジ(データと接続)。グラフは人間が考えるのと同じように動作し、データは独自の特性を持つデータユニット間の特定の関係に配置されます。このタイプのデータベースは、さまざまなデータ間の関係を視覚化、分析、および見つけるのに役立ちます。

NoSQLの理解

詳細については、次のように10種類のデータストレージモデルに分類できます。

  1. Key-Valueキャッシュ:Apache Ignite、Coherence、eXtreme Scale、Hazelcast、Infinispan、Memcached、Velocity。
  2. Key-Valueストア:ArangoDB、Aerospike。
  3. Key-Valueストア(結果整合性):Oracle NoSQL Database、Dynamo、Riak、Voldemort。
  4. Key-Valueストア(注文済み):FoundationDB、InfinityDB、LMDB、MemcacheDB。
  5. データ構造サーバー:Redis。
  6. タプルストア:Apache River、GigaSpaces。
  7. オブジェクトデータベース:客観性/ DB、Perst、ZopeDB。
  8. ドキュメントストア:ArangoDB、BaseX、Clusterpoint、Couchbase、CouchDB、DocumentDB、IBM Domino、MarkLogic、MongoDB、Qizx、RethinkDB、Elasticsearch。
  9. ワイドコラムストア:Amazon DynamoDB、Bigtable、Cassandra、Scylla、HBase、Hypertable。
  10. ネイティブマルチモデルデータベース:ArangoDB、Cosmos DB、OrientDB、MarkLogic。

NoSQLの用途は何ですか? SQLとの違いは何ですか?

sql-vs-nosql

NoSQLデータベースの機能は、データベース機能と同じです。SQLクラシックですが、独自の利点と欠点があります。一般にRDBMS SQLと同様に、NoSQLはデータを処理し、サーバーとクライアントの両方による再利用またはアクセスのためにデータを格納するのに役立ちます。データは一貫して保存されるため、サーバーとクライアントの両方が同じデータを見ることができます。

NoSQLはBASEルールに準拠しています。 基本的に利用可能、ソフト状態、結果の一貫性。その中のデータはない場合でも変更できます入力は、トリガーが自動的にインストールされるRDBMSのようなものです。したがって、NoSQLはより適切であり、変更が必要なアプリケーションに適しています 急速に (高速)より動的で柔軟性があるため。

SQLデータベースと比較したNoSQLデータベースの利点

以下のように、NoSQLはリレーショナルベースのSQLよりも適切に機能すると見なされる場合があります。

  1. スキームに一貫性のない大量のデータを保存する必要がある場合。
    NoSQLのデータスキーマは 固定 SQLと同様に、いつでも変更できる構造とスキーマの変更は、データベース自体のデータの一貫性を変更する必要なく、簡単に処理できます。
  2. コンピューティングとデータストレージが必要な場合 クラウドベース.
    ほとんどのNoSQLデータベースは、以下で動作するように作成および設計されています データセンター 異なる、システムとして実行配布。この場合、さまざまなクラウドベースのコンピューティングインフラストラクチャへのアクセスを利用できるため、NoSQLユーザーとしてのメリットがあります。
  3. あなたがなるとき ウェブ開発者 または アプリ開発者 そしてあなたはそれが必要です 更新 速い(急速に)。
    NoSQLを使用すると、データを準備する必要はありませんRDBMS(SQL)を使用しているかのように、アプリケーションの設計が更新されるたびに、構造化データをアプリケーションのあるバージョンから次の更新されたバージョンに移行することもできます。 NoSQLの動的な性質は、アプリケーションの変化とともに発展する可能性があります。

SQLデータベースと比較したNoSQLデータベースの欠如

RDBMSデータベースの概念には、ルールがあります。 つまり、4つのデータトランザクションルールです。 ACIDは、 原子的、一貫した、分離された、耐久性.

  1. 原子 つまり、各レコードまたは行は一意のデータであり、他のデータで置き換えることはできません。
  2. 一貫した、データの各行は一貫性のあるデータです。つまり、特定の操作で実行された後も、データの一貫性は維持されます。サーバーとクライアントは同じデータを参照します。
  3. 孤立した つまり、1つのレコードのすべての変更は1つの独立したトランザクションであり、他のレコードトランザクションとは何の関係もありません。
  4. 耐久性、つまり、トランザクションが完了した後、レコードの変更の影響は確実かつ永続的な方法で保存されます。

これが、RDBMSが次のように呼ばれる理由です。固定データベース。 NoSQLはACIDルールを満たしていません。一貫性はありますが、Atomic、Isolated、Durableにすることはできません。 NoSQLは、従業員のバイオデータレコード、人口調査、医療記録、指紋レコード、およびその他の多くの例などの固定データを必要とするアプリケーションには適していません。うまくいけば、NoSQLの理解に関するこの記事が役に立ち、理解しやすいでしょう。

コメント 0