NoSQLとは

NoSQLとは

Not only SQL
リレーショナルでないDBの総称
データの保持方法は製品によって様々

・高速
・トランザクション管理不可
・複雑な結合はできない

大量のデータを高速で扱う必要がある場合に使用する。
ただし安定性はない。

Oracle、MySQL等の単一の製品を指さず、非RDBS以外のDBを指す。
NoSQLの製品には製品によって個々のデータモデルがある

データモデル

キー・バリュー型:Dynamo、Redis
カラム志向型:Hbase(エイチベース)
グラフ型:Neo4j
ドキュメント志向型:MongoDB

キー・バリュー型

キーとバリューを単位としてデータを保持する。シンプルで速い

カラム志向型

表構造を持ち行志向型DBと違ってカラム単位でデータを保持する
列単位の大量集計、大量更新が速い

グラフ型

ノード、リレーション、プロパティを単位としてデータを保持する
グラフを形成できる

ドキュメント志向型

JSON、XML等の構造を持つドキュメントを単位としてデータを保持する
スキーマレス

NoSQL製品

Redis

(レディス)
Remote Dictionary Server

KVS(キーバリューストア)型NoSQL
・高速
・シングルスレッド(強制排他処理)
・永続化可能

Jedis=Redis用のJavaクライアントライブラリ

Elasticsearch

(エラスティックサーチ)
検索エンジン

ElasticSearch用語
インデックス(※DB)
マッピングタイプ(※テーブル)
フィールド(※列)
ドキュメント(※行)