Slide 1

Slide 1 text

とりあえず知っておきたい NoSQL yamashita

Slide 2

Slide 2 text

NoSQL とは NoSQLは「 Not Only SQL」の略 「 SQLではない」ではなく「 SQLだけじゃないよ」 非構造化データや多様なデータ形式に対応するデータベース 主にスケーラビリティと柔軟性を重視した設計

Slide 3

Slide 3 text

RDBとの違い RDB 厳密なスキーマで高度に構造化 垂直スケーリング(サーバーの性能向上)が適している ACID特性 : トランザクションの一貫性・完全性でデータの整合性を重視 NoSQL スキーマレスで柔軟にデータを保存 水平スケーリング(サーバーの台数追加)が適している BASE特性 : 整合性より可用性、柔軟性を重視

Slide 4

Slide 4 text

キーバリュー型 シンプルなデータモデル:キー と値のペア キーによる高速なデータアクセ ス 例 : Redis、 Amazon DynamoDB 用例 : キャッシュ、セッション管 理、リアルタイムデータ

Slide 5

Slide 5 text

ドキュメント指向型 データを JSON形式などのドキュ メントとして保存 KVS のキーがドキュメントに紐 づいているイメージ 柔軟なデータ構造を持ち、階層 的なデータをサポート 例 : MongoDB、 CouchDB 用例 : ウェブアプリ、モバイルア プリ

Slide 6

Slide 6 text

グラフ指向型 ノードとエッジでデータの関係 を表現 複雑な関係データを効率的に扱 うことが可能 例 : Neo4j、 Amazon Neptune 用例 : ソーシャルネットワーク、 レコメンデーションエンジン

Slide 7

Slide 7 text

その他 他にもいろいろ カラム指向データベース KVS をさらに拡張したイメージ 例 : Cassandra 時系列データベース マルチモデルデータベース

Slide 8

Slide 8 text

まとめ NoSQLは柔軟性とスケーラビリティに優れたデータベース データ構造によってさまざまな種類がある 要件に合わせて最適なデータベースを選択したい NoSQLの厳しさはやはり「 SQLではない」ことによる学習コストの高さ、設計の 難しさにある アプリケーション DBとは別で、データ分析ツールや一部の機能として何か作って 見て学習するのが良さそう