NOSQLの基礎知識 (ビッグデータを活かすデータベース技術)
- リックテレコム (2012年4月25日発売)
- Amazon.co.jp ・本 (256ページ)
- / ISBN・EAN: 9784897978871
作品紹介・あらすじ
「NOSQL」は、AmazonやGoogle、Facebook等に使われているデータベース技術の総称です。従来の常識だったSQLデータベースとは異なる仕組みとコンセプトで"ビッグデータ"に対応。これからのDB技術の要と目されています。本書はその全貌を、主要16製品の特徴、性能テストの結果まで含め、平易に解説しています。
感想・レビュー・書評
-
NOSQLのお勉強。
ビッグデータへの対応とは、3つのV、すなわち、膨大な量=Volume、速さ=Velocity、多種多様=Varietyに対応することを意味します。
■キー・バリュー型のデータモデル
NOSQLデータベースのなかには、RDBのようなテーブルや関係性を定義せず、「キー」と「バリュー」という組み合わせからなるシンプルなデータモデルを基本とするものがあります。
ここで言うキーとは、RDBにおけるキーの概念とやや異なり、バリューに付した識別番号のようなものです。
■カラム指向型のデータモデル
キーが1つのバリューと対になるのではなく、行に対して付されたキー(行キー)が、複数のカラム(列)を持つことができます。
また、行ごとの列の数は(カラム数)は、RDBのテーブルのように静的・固定ではなく、動的に追加していくこともできます。また、キー・バリュー型と異なり、ある行キーの全てのカラムにバリューが挿入されていないことも許容します。
RDBとの決定的な違いとして、カラムの数を後から増やすことができます。RDBの行(レコード)のように、データの発生に応じて動的に、かつほぼ無限に、カラムを追加していくことが可能なのです。
■ドキュメント指向型のデータモデル
JSONやXMLといったデータ記述書式で記述されたドキュメントの形で、データを管理します。各ドキュメントは階層構造を持たず、相互の関係が横並び(フラット)に管理されます。
…RDBのように固定されたデータ設計(スキーマ)が不要なことから「スキーマレスである」と言われています。
■グラフ型のデータモデル
グラフ型は、データとデータ間のつながり(関係性)を管理できるデータモデルです。…
これにより、個々のデータが持つ属性に依存することなく、相互の”つながり方”だけを独立した形で保持することができます。RDBでも、データのエンティティ(実体)と関係性を切り離して保持しますが、その関係性はテーブルやテーブル間の構造として固定化され、データはその関係性によって規定されます。対してグラフ型では、各データが他のデータに対し、それぞれ自由な関係性を持つことができます。データは固定的な関係性に規定されず、他のデータとの関係を変化させることも許容されます。なぜならその関係性は、テーブルの構造とも、テーブル間のリレーションシップとも異なるからです。そのときの関係表現(ノーテーション)は、n対nのノード間における経路や分岐や方向性を、関係線で示した記法となります。
ノード:関係性を保持する主体を表します。頂点とも言います。
リレーションシップ:ノード間における関係の有無と、その関係の方向を表します。
プロパティ:ノードの属性とリレーションシップの属性です。
RDBは、あるデータが更新されている最中には、同じデータを別のユーザーが更新することがないよう、そのデータにロックを掛け、最初の更新が完了して全てのノードに反映されるまで待ちます。データベース管理システムのこの動作を「同時実行制御(排他制御)」と言います。これにより、どのノードにあるどのデータを読み出しても、常にデータの一貫性が保たれるようにします。
これに対し「弱い整合性」は、最初の更新からわずかな時間を経たのちには、全てのノードで最新版のデータが呼び出される状態になるという特性です。仮にある瞬間を捉えると、ひとつのノードのデータだけが更新された後、他のノードで更新前のバージョンが読み出される可能性があります。それでも、「”結果的に”全てのノードのデータが同じになればよい」とする考え方です。
■CAP定理
分断耐性とは、複数のノードからなる分散型システムのネットワークが分断されたとしても、間違った結果を引き起こさないという特性です。間違った結果とは、例えば、データの不整合が発生することを指しています。分断耐性は「システムが継続して使えること」、つまり「可用性」とは異なる特性なので注意してください。…
これら3つの特性、即ち、整合性、可用性、分断耐性は、分散型データベースシステムの三大用件であり、頭文字をとってCAP定理と総称されます。そして分散システムにおいては、「3つのうち最大2つしか満たすことができない」という定理があります。これは「CAP定理」として、NOSQLの技術者には広く知られています。
もう一方のBASEとは、「アプリケーションは基本的にどんな時でも動き(Basically Available)、常に整合性を保つ必要はないが(Soft-state)、結果として整合性がとれる状態に至る(Eventual Consistency)という特性を備えているべきである」という考え方です。
シャーディングでは、予め定めた規則に従って、各ノードにデータを割り当てていきます。
Hadoopでは、単体のコンピュータでは何十時間もかかる大量データのバッチ処理を複数のコンピュータで並列処理することで、迅速に処理することができます。詳細をみるコメント0件をすべて表示 -
NoSQLとはから、アーキテクチャや代表製品の差異についてなど様々な観点でNoSQLを説明してくれている。
アーキテクチャの箇所が初心者には理解が難しく、読み飛ばしてしまうところで、星3つ。
NoSQLのキーワードを拾えたのは良かったと思う。 -
概略を掴むにはいいのかも。でも2019年としては古いか。
-
NOSQLの比較がわかりやすく実施されている。NOSQL全体を理解するのには役にたった。
-
NoSQLの基本がよくまとまってた。でもRDBに一通り慣れてないとアレだと思った(自分)。
-
ぱぱっと読んで次に読むべきNOSQLの専門書を見つけるための本。
技術書の分類の中ではかなりすらすら読める内容、20時間かからず読めた。
NOSQLの説明から、さまざまな製品の紹介・分類が行われているため入り口としては適している。内容はまとまっていてよかった。
ただ、技術的な内容は表面しか書いていないので、結局興味を持ったNOSQLの専門書を別途読む必要がありそう。 -
NOSQL の本。基本的なしくみや比較もあり、概要を知るには良書。
-
NOSQLについての解説本。基本的なDBについての知識があれば読める。100種類以上も出てきているNOSQLを、データモデルとアーキテクチャの観点から分類して解説している。データモデルとしてはもっとも原始的なキー・バリュー型を始めとして、Bigtableなどのカラム指向型、ドキュメント指向型、グラフ型の4種類を置いている。アーキテクチャとしてはマスタ型(マスタ・スレーブ型とマスタ・マスタ型を含む)、P2P型、イネーブラ型(単独で使われることは珍しく、他のRDBやNOSQLと合わせて用いられるもの。Memcachedとか)に分類されている。
すでにNOSQLの基本的な事項は他書で読んだからか、すんなりいく記述だった。分類もさることながら、それぞれの特徴も簡潔にまとめられている。NOSQLの解説というとキー・バリュー型やカラム指向型のものの解説が多くなるため、ドキュメント指向型、グラフ型についてはもう少し解説が欲しかった。
この本の特徴としては単なる技術的解説だけでなく、こういう場面ではこのNOSQLがよいと導入のアドバイスが書かれていることだろう。さらに技術的な観点からでなくビジネス的観点から書いてあるのも役に立ちそうだ。著者たちはNOSQLの導入でビジネスをしている人たちだが、自社の広告的記述はだいぶ抑えられている。それも好意的だった。 -
NOSQLの基本がわかる。
データベースの選び方とかもある程度わかるようになる。読んでおいて損はない一冊。 -
NOSQLの各エンジンについての特徴が理解できた。安易になりすぎず、かつ丁寧に解説しているのが嬉しい。