Search:

Search all manuals
Search this manual
Manual
Couchbase Server 1.8 マニュアル
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
1 Couchbase Serverの紹介
Chapter Sections
Chapters

1.2. Couchbase ServerとNoSQL

NoSQLは、リレーショナルデータモデルを採用していないデータベースマネージメントシステムの分類を説明するために広く使われてきた、やや不適切な用語です。この用語は(リレーショナルデータベース管理システムの特徴と言える)SQLクエリ言語から来ています。クエリ言語は本来、差別化要因ではなく、実際には全く差別する必要がないものです。いくつかのNoSQLデータベース管理システムは、実際にはSQLクエリ言語をサポートしているのです!これらのシステムの根本的な違いは、クエリ言語ではなく、システムが採用している非リレーショナルデータモデルにあります。非リレーショナルデータベースと言えばより技術的に正確な用語になるかもしれませんが、それはまた、NoSQLが意図するよりも広い意味を持つでしょう。NoSQLがNot Only SQLの略だというバクロニムが誕生したのは興味深いことです。より正確なものの、あまり説明的ではありません。

NoSQLのデータベースは、最初にデータベースのスキーマを定義することを必要とせずにデータを格納できる能力によって、特徴づけられます。Membaseは、データを分散されたドキュメントのIDとコンテンツの連想配列として保存し、値は不透明なバイナリデータのblobであり、データベース管理システムの観点から見た、厳格なあらかじめ定義されたスキーマを確証するものではありません。そして、主にこのスキーマレスな性質により、scale out手法(クラスタにサーバを追加することでデータとI/Oキャパシティを増加し、アプリケーションソフトウェアの変更を必要とせずにする)をサポートする傾向があります。対照的に、リレーショナルデータベース管理システムは、成長に対応するために単一のサーバーに多くの容量(CPU、メモリとディスク)を追加することでスケールアップ します。

リレーショナルデータベースは、事前に定義する必要のあるリレーションに基づいて情報を保存します。また、データを保存する前にスキーマを変更する必要がある場合もあります。リレーションは単純に複数行からなるテーブルで、指定されたリレーション内の各行(タプルとも呼ばれる)は固定された属性(列)を持ちます。これらの列は、リレーション内の各行の間で一貫性があります。さらにリレーション(テーブル)は、テーブル間の参照を介して接続することが可能です。一つのテーブル、例えば"CITIZENS"というテーブルが、町に存在するすべての市民の行を保持することができます。別のテーブル、PARENTSはPARENT、CHILD、そしてRELATIONSHIPというフィールドで構成される行を持つでしょう。PARENT、CHILDはCITIZENSテーブルの行を参照し、RELATIONSHIPは2人の市民間の関係性を記述するフィールドになるでしょう(父、母)。