ドキュメントDBの適用場面

NoSQLの基礎概念

Miriam Antona

Software engineer

適したケース

  • カタログ
    • ECサイト/アプリで商品情報を保存
    • 商品ごとに属性が異なる
    • 関連情報を埋め込み可能

シャツの画像

{
  "product_id": 879,
  "name": "Fashion shirt",
  "category": {
    "category_id": 15,
    "name": "Tops & t-shirts",
    "type": "Shirt"
  }
}
NoSQLの基礎概念

適したケース

  • イベントログ
    • イベント種別:
      • ユーザーログイン
      • 商品購入
      • エラー
      • ...
    • シャーディング軸:
      • 時間
      • イベント種別
      • ...

イベントログの画像

{
  "type": "info",
  "message": "user_logged",
  "user_id": 551,
  ...
}
NoSQLの基礎概念

適したケース

  • ユーザープロファイル
{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York"
  },
  ...
}

ユーザープロファイルの画像

  • 情報は可変
  • ドキュメントの柔軟性
NoSQLの基礎概念

適したケース

  • コンテンツ管理システム
    • ブログ、動画プラットフォームなど
    • ユーザー生成コンテンツ
      • コメント
      • 画像
      • 動画
      • ...

ブログの画像

{
  "id": 458,
  "url": "myblog/datazy.com",
  "title": "How to write a blog entry at Datazy",
  "tags": [
    "Datazy",
    "Blog"
  ],
  "last10comments": [
    { "name": "Eliza", "comment": "Great!" },
    { "name": "Eric", "comment": "Thank you!"}
  ]...
}
NoSQLの基礎概念

適したケース

  • リアルタイム分析
    • ページビュー、ユニーク訪問者 など
    • 情報を簡単に保存

リアルタイム分析の画像

{
  "_id": "1000241",
  "hour": "Sat Jun 12 2021 16:40:00 GMT+0200 (EST)",
  "site": "datazy",
  "uniques": 5,
  "pageviews": 15,
  ...
}
NoSQLの基礎概念

不向きなケース

  • 非常に構造化されたデータ
  • 常に一貫したデータ
NoSQLの基礎概念

Passons à la pratique !

NoSQLの基礎概念

Preparing Video For Download...