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)
マッピングタイプ(※テーブル)
フィールド(※列)
ドキュメント(※行)