43

NoSQLとは正確には何ですか?{key:value} ペアのみで動作するデータベース システムですか?

私の知る限りでMemCacheは、そのようなデータベース システムの 1 つですよね?

他にどのような一般的な NoSQL データベースがあり、それらは正確にどこで役立つのでしょうか?

ありがとう、ボダ・シド。

4

8 に答える 8

23

NoSQL ソリューションが ACID ルールを破る傾向があることは事実ですが、すべてがそのアプローチから作成されているわけではありません。

最初に SQL ソリューションとは何かを定義し、その前に「Not Only」を配置すると、NoSQL ソリューションとは何かをより正確に定義できると思います。

このアプローチを念頭に置いて:

SQL データベースは、構造化照会言語を使用してアクセス可能なすべてのデータ ストアをグループ化する方法であり、それらと通信するための主な (そしてほとんどの場合のみ) 方法です。これは、データベースがそれらに共通の構造をサポートする必要があることを意味します。 「テーブル」、「列」、「行」、「関係」などのシステム。

ここで、「Not Only」を最後の文の前に置くと、「NoSQL」の意味の定義が得られます。NoSQL は、テーブル/列/行構造や SQL ステートメントに収まらない問題を解決する試みとして作成されたすべてのストアをグループ化します。ほとんどの場合、これらのデータベースは関係をサポートせず、よく知られている構造を放棄しています。なぜなら、問題はその概念から変化したからです。

テキスト ファイルがあり、この情報を保存/取得/整理するための API を作成すると、NoSQL データベースが手に入ります。

これらはすべて、従来の SQL システムではパフォーマンスや柔軟性などを向上させることができない方法で情報を格納するためのソリューションがいくつかあることを意味します。すべての NoSQL プロバイダーは異なる問題を解決しようとします。 2 つの異なるソリューションを比較します。たとえば、次のようになります。

  • djondbは、トランザクション、一貫性などをサポートする NoSQL エンタープライズ ソリューションとして使用するために作成されたドキュメント ストアですが、対応するもののパフォーマンスは犠牲になります。
  • MongoDBはドキュメント ストア (djondb に類似) であり、優れたパフォーマンスを実現しますが、これを実現するために一部の ACID プロパティを交換します。
  • CouchDBは、毎回完全なクエリを実行することなく情報を取得するためのビューを提供する、わずかに異なるクエリを解決する別のドキュメント ストアです。
  • ...

お気づきかもしれませんが、私はドキュメント ストアについてのみ話しました。これは、3 つの異なるドキュメント ストアの実装には異なるアプローチがあることを示したかったためです。したがって、NoSQL ストアの黄金律「適切なツールには適切なツールを使用する」を念頭に置いておく必要があります。仕事"。

私は djondb の作成者であり、独自の NoSQL 実装を開始しようとする前から多くの調査を行ってきましたが、これは概念が情報ストレージの見方を変え続ける分野です。

于 2012-07-06T20:50:47.167 に答える
21

ウィキペディアから:

NoSQL は、リレーショナル データベースと ACID 保証の長い歴史を破る、大まかに定義された非リレーショナル データ ストアのクラスの包括的な用語です。この用語に該当するデータ ストアは、固定テーブル スキーマを必要としない場合があり、通常は結合操作を回避します。この用語は、2009 年初頭に初めて普及しました。

このようなアーキテクチャの動機は、Facebook、advertising.com などのサイトをサポートするための高いスケーラビリティでした...

于 2010-01-31T19:59:04.813 に答える
8

NoSQL システムをすばやく理解するには、私が書いたこのブログ記事を参照してください: Visual Guide to NoSQL Systems。基本的に、NoSQL システムは一貫性または可用性のいずれかを犠牲にして、ネットワーク パーティションに対する耐性を優先します。

于 2010-05-05T03:21:50.930 に答える
2

NoSQL とは?

NoSQL は Not Only SQL の頭字語です。NoSQL データベースの基本的な性質は、スキーマレス、分散型、コモディティ ハードウェア上での水平方向のスケーラブルです。NoSQL データベースは、さまざまなデータ型に関するさまざまな問題を解決するためのさまざまな機能を提供します。これまで、RDBMS で非構造化データを格納するデータ型は「ブロブ」だけでした。

1 動的スキーマ NoSQL データベースでは、スキーマを柔軟にすることができます。新しい列はいつでも追加できます。行には、これらの列の値がある場合とない場合があり、列のデータ型の厳密な適用はありません。この柔軟性は、開発者にとって、特に製品ライフ サイクルの過程で頻繁に変更が予想される場合に便利です。

2 さまざまなデータ NoSQL データベースは、あらゆるタイプのデータをサポートします。構造化データ、半構造化データ、および非構造化データの保存をサポートします。ログ、画像ファイル、動画、グラフ、jpeg、JSON、XMLなどを前処理なしでそのまま保存・運用することができます。そのため、ETL (抽出 – 変換 – 読み込み) の必要性が軽減されます。

3 高可用性クラスター NoSQL データベースは、コモディティ ハードウェアを使用した分散ストレージをサポートします。また、水平スケーラビリティによる高可用性にも対応しています。この機能により、NoSQL データベースは、クラウド インフラストラクチャ サービスの弾力的な性質の利点を得ることができます。

4 オープン ソース NoSQL データベースはオープン ソース ソフトウェアです。ソフトウェアの使用は無料で、それらのほとんどは商用製品で自由に使用できます。オープン ソースのコードベースは、ビジネス ニーズを解決するために変更できます。オープン ソース ソフトウェア ライセンスには多少の違いがあるため、ユーザーは使用許諾契約に注意する必要があります。

5 NoSQL – SQL だけではない NoSQL データベースは、SQL に依存してデータを取得するだけではありません。これらは、DML および CRUD 操作を実行するための豊富な API インターフェイスを提供します。これらの API は開発者にとって使いやすく、さまざまなプログラミング言語でサポートされています。

于 2016-01-15T14:39:22.437 に答える
1

これらを見てください:

http://en.wikipedia.org/wiki/Nosql#List_of_NoSQL_open_source_projects

この:

http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB

于 2010-01-31T19:59:13.660 に答える
1

MongoDBは面白そうで、SourceForge は現在それを使用しています。

チームメンバーと一緒にポッドキャストを聴きました。NoSQL のアイデアは、SQL を置き換えるというよりも、従来の RDBMS ではうまく解決できない問題の解決策を提供することです。他の場所で述べたように、それらは信頼性と原子性を犠牲にして高速で拡張性に優れています (さまざまな程度のさまざまなソリューション)。金融システムには使用したくないでしょうが、ドキュメントベースのシステムはうまく機能します。

于 2010-05-05T03:30:43.070 に答える
0

NoSQL データベースの包括的なリストは次のとおりです: http://nosql-database.org/

RDM John で成功したことをうれしく思います。私はライマで働いているので、フィードバックを聞くのは素晴らしいことです. 詳細については、次の 2 つのリソースを参照してください。

于 2012-05-26T18:01:06.070 に答える