DE61:NoSQL【データサイエンティスト検定(リテラシーレベル)補習ノート】

データサイエンティスト検定(リテラシーレベル)の公式リファレンスブックで躓いたところをまとめていきます。

NoSQL

NoSQLはNot only SQLのことです。SQLに縛られないという意味でしょうか。実は最初Not SQLの意味だと思ってました(汗) SQLはデータの整合性を重視したカッチリしたデータベースなのに対し、テーブル構造に固定されずスケーラビリティが高いのが特徴です。

NoSQLには様々な種類があるのでまとめておきます。

キーバリュー型

最もシンプルなNoSQLです。単純な問い合わせの高速処理向き。キーが識別IDになります。

例)Memcashed、Redis、Riak、okuyama、Hibariなど

画像1

カラム指向型(ワイドカラム型)

キーバリュー型がキーに対して1つのバリューを持つのに対し、カラム指向型は複数のカラム(列)を持つことが出来ます。

例)Cassandra、HBaseなど

画像2

一見するとRDBに似ていますが、カラム数を動的に増やすことができる上に、全てのカラムにバリューが入っていなくてもOKなので柔軟に利用できます。

ドキュメント型

ドキュメント型はXMLやJSONなどの複雑なドキュメントをそのまま格納します。階層構造を指定する必要がありません。

例)MongoDB、Apache CouchDB、Amazon DynamoDBなど。

画像3

グラフ型

グラフ型はデータ同士の関連性を管理します

例)Neo4j

画像4

こちらの記事が参考になります。


NoSQLのAPI

テキストではNoSQLに用意されているPython等に対応するAPIの主要なコマンドを調べておきましょうとありますので、下記の記事で簡単に見ておきます。

主要なコードを書きだしてみるとこんな感じです。(だいぶん省略していますので、適宜補ってください)

collection_name.insert_one() #データを1個挿入する
collection_name.find() #データを見つける
collection_name.update_one() #データを1個修正する
collection_name.delete_one() #データを1個削除する


参考資料


この記事が気に入ったらサポートをしてみませんか?