ようこそ!

NoSQLの基礎概念

Miriam Antona

Software engineer

学習トピック

  • 第1章: NoSQL とリレーショナルDB / キー・バリュー型
  • 第2章: ドキュメント型
  • 第3章: カラムファミリー型
  • 第4章: グラフ型
NoSQLの基礎概念

コースについて

  • コンセプト中心(コーディング不要)

Datazy ロゴ

NoSQLの基礎概念

NoSQL とリレーショナルDBの比較

リレーショナルデータベース

  • テーブル/行/列を使用
  • 事前スキーマが必要/変更が難しい
  • 複数テーブル結合は遅くなりがち
  • 垂直スケール
    • 性能を増強して拡張(CPU, RAM など)
    • コスト高
  • ACID トランザクションを保証
  • 一般にクローズドソース

NoSQL

  • もともとは非SQL/非リレーショナル
  • 今は「Not Only SQL」
  • 非リレーショナルDB
  • テーブル/行/列は不使用
  • スキーマレス/変更が容易
  • 高速クエリ
  • 水平スケール/低コスト
  • 多くは ACID 非対応
  • オープンソースが主流
NoSQLの基礎概念

NoSQL とリレーショナルDBの比較

  • 補完関係
  • 共存可能
NoSQLの基礎概念

NoSQL の種類

  • キー・バリュー型データベース
  • ドキュメント型データベース
  • カラムファミリー型データベース
  • グラフ型データベース
NoSQLの基礎概念

キー・バリュー型データベース

  • 最もシンプルな NoSQL
  • キーで値を取得/設定

2つのキーと値の例。最初のキーは K1、値は Hello。2つ目のキーは K2、値は Goodbye。

NoSQLの基礎概念

キー

  • 例:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • 任意のバイナリ列
  • 一意
  • アルゴリズムで生成可
  • 長すぎるキーは避ける
NoSQLの基礎概念

  • キーに対応
  • キーで取得/設定/削除
  • 数値、文字列、JSON、画像など
  • サイズ制限あり
NoSQLの基礎概念

  • キーに対応
  • キーで取得/設定/削除
  • 数値、文字列、JSON、画像など
  • サイズ制限あり

$$

key value
dataCampCourses:123:name Cleaning data in a SQL Server database
dataCampCourses:123:softLaunchDate 10/01/2020
user:12:address ('123 Sesame Street', 'NY')
user:125:address {"street" : "123 Sesame Street" , "city" : "NY"}
NoSQLの基礎概念

Datazy 例

ユーザー設定

key value
user:457:preferences {"language" : "en_US" , "color" : "green" , "timezone" : "GTM-4"}
user:458:preferences {"language" : "es_US" , "color" : "blue" , "timezone" : "GTM+2"}

 

  • 命名規則 (:)
    • user:id:preferences
NoSQLの基礎概念

代表的なキー・バリュー型DB

一般的なキー・バリュー型データベースのロゴ。

NoSQLの基礎概念

Vamos praticar!

NoSQLの基礎概念

Preparing Video For Download...