DE61:NoSQL【データサイエンティスト検定(リテラシーレベル)補習ノート】
データサイエンティスト検定(リテラシーレベル)の公式リファレンスブックで躓いたところをまとめていきます。
NoSQL
NoSQLはNot only SQLのことです。SQLに縛られないという意味でしょうか。実は最初Not SQLの意味だと思ってました(汗) SQLはデータの整合性を重視したカッチリしたデータベースなのに対し、テーブル構造に固定されずスケーラビリティが高いのが特徴です。
NoSQLには様々な種類があるのでまとめておきます。
キーバリュー型
最もシンプルなNoSQLです。単純な問い合わせの高速処理向き。キーが識別IDになります。
例)Memcashed、Redis、Riak、okuyama、Hibariなど
カラム指向型(ワイドカラム型)
キーバリュー型がキーに対して1つのバリューを持つのに対し、カラム指向型は複数のカラム(列)を持つことが出来ます。
例)Cassandra、HBaseなど
一見するとRDBに似ていますが、カラム数を動的に増やすことができる上に、全てのカラムにバリューが入っていなくてもOKなので柔軟に利用できます。
ドキュメント型
ドキュメント型はXMLやJSONなどの複雑なドキュメントをそのまま格納します。階層構造を指定する必要がありません。
例)MongoDB、Apache CouchDB、Amazon DynamoDBなど。
グラフ型
グラフ型はデータ同士の関連性を管理します
例)Neo4j
こちらの記事が参考になります。
NoSQLのAPI
テキストではNoSQLに用意されているPython等に対応するAPIの主要なコマンドを調べておきましょうとありますので、下記の記事で簡単に見ておきます。
主要なコードを書きだしてみるとこんな感じです。(だいぶん省略していますので、適宜補ってください)
collection_name.insert_one() #データを1個挿入する
collection_name.find() #データを見つける
collection_name.update_one() #データを1個修正する
collection_name.delete_one() #データを1個削除する
参考資料
この記事が気に入ったらサポートをしてみませんか?