ドキュメントデータベースとは?

NoSQLの基礎概念

Miriam Antona

Software engineer

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

NoSQLの基礎概念

ドキュメントデータベース - 概要

ドキュメントデータベースの構造の図

  • ドキュメント -> 行
  • コレクション -> テーブル
NoSQLの基礎概念

ドキュメント

  • キーと値の組の集合
  • キー: 文字列
  • : 数値、文字列、ブール値、配列、オブジェクト
  • スキーマレス: 構造を事前定義不要
  • 形式: JSON、BSON、YAML、XML
NoSQLの基礎概念

ドキュメント - JSON形式

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
NoSQLの基礎概念

ドキュメント - クエリ

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
  • ニューヨーク在住でハイキング好きの全ユーザー
  • 40歳超の全ユーザー
  • user_idでユーザーデータを取得
  • ...
NoSQLの基礎概念

ドキュメント - ポリモーフィックモデル

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
{
  "user_id": 513,
  "name": "Benjamin",
  "last_name": "Lieberman",
  "email": "[email protected]",
  "date_of_birth": "07/04/1984",
  "hobbies": [
    "reading"
  ]
}
NoSQLの基礎概念

コレクション

  • ドキュメントの集合
  • 同種のエンティティを保存
  • クエリを軸にドキュメントとコレクションを設計
NoSQLの基礎概念

代表的なドキュメントデータベース

代表的なドキュメントデータベースのロゴ

NoSQLの基礎概念

Let's practice!

NoSQLの基礎概念

Preparing Video For Download...