Amazon-DynamoDB

DynamoDBでデータベース体験してみた【初心者向けハンズオン】

はじめに

ディーネットの牛尾です。
「データベースってなんか難しそう…」「SQLとか覚えるの大変そう…」

そんな方におすすめなのが、AWS DynamoDB(ダイナモDB)です!
DynamoDBなら、SQLなし・GUI操作だけでデータベースの基本が体験できます

この記事では、DynamoDBを使って「テーブル作成・データ登録・検索」をやってみましょう!


DynamoDBとは?

DynamoDBは、AWSが提供するNoSQLデータベースサービスです。

特徴

  • スキーマレス:あらかじめ列(カラム)を定義しなくてOK
  • フルマネージド:サーバーの管理不要
  • 高速:1秒間に数千件のアクセスも可能
  • 無料枠あり:月間最大 25GBストレージ/200万件のリクエストが無料(12ヶ月)

今回やること(GUIで完結!)

  1. DynamoDBテーブルの作成
  2. データ(アイテム)の登録
  3. 条件付き検索でデータを取り出す

ステップ1:DynamoDBテーブルを作る

  1. DynamoDBコンソール にアクセス

  2. 左メニュー「テーブル」→「テーブルを作成」

  3. 以下のように入力

項目
テーブル名 Users
パーティションキー UserID(文字列)
ソートキー (なしでOK)
その他 デフォルト設定でOK。「テーブルを作成」で完了!



ステップ2:データを登録してみる

作成したテーブル「Users」→「項目を作成」をクリック


↓登録するデータ

{
  "UserID": { "S": "u001" },
  "Name": { "S": "山田太郎" },
  "Age": { "N": "28" },
  "Email": { "S": "taro@example.com" }
}

{
  "UserID": { "S": "u002" },
  "Name": { "S": "テスト一郎" },
  "Age": { "N": "31" },
  "Email": { "S": "test1@example.com" }
}

{
  "UserID": { "S": "u003" },
  "Name": { "S": "ダミー花子" },
  "Age": { "N": "24" },
  "Email": { "S": "dummy.h@example.com" }
}

{
  "UserID": { "S": "u004" },
  "Name": { "S": "モック次郎" },
  "Age": { "N": "36" },
  "Email": { "S": "mock2@example.com" }
}

{
  "UserID": { "S": "u005" },
  "Name": { "S": "サンプル三子" },
  "Age": { "N": "29" },
  "Email": { "S": "sample3@example.com" }
}

{
  "UserID": { "S": "u006" },
  "Name": { "S": "テスト四朗" },
  "Age": { "N": "42" },
  "Email": { "S": "test4@example.com" }
}

{
  "UserID": { "S": "u007" },
  "Name": { "S": "プレース五郎" },
  "Age": { "N": "33" },
  "Email": { "S": "place5@example.com" }
}

{
  "UserID": { "S": "u008" },
  "Name": { "S": "デモ六子" },
  "Age": { "N": "26" },
  "Email": { "S": "demo6@example.com" }
}

{
  "UserID": { "S": "u009" },
  "Name": { "S": "フィク七美" },
  "Age": { "N": "30" },
  "Email": { "S": "fict7@example.com" }
}

{
  "UserID": { "S": "u010" },
  "Name": { "S": "ナナメ八男" },
  "Age": { "N": "21" },
  "Email": { "S": "naname8@example.com" }
}

{
  "UserID": { "S": "u011" },
  "Name": { "S": "シード九乃" },
  "Age": { "N": "39" },
  "Email": { "S": "seed9@example.com" }
}

GUIで登録する場合まとめて追加することはできないため、1つずつ登録する必要があります。

また、登録するときの注意点です。

タグ 意味 対応する型
"S" String(文字列) "山田太郎", "abc123" など
"N" Number(数値) 28, 3.14, 1000 など(※JSONでは 文字列として記述


ステップ3:データを検索してみる

方法①:キー検索(UserIDで検索)

  1. テーブル画面で「テーブルアイテムの探索」タブを開く
  2. 検索条件に UserID = u001 を指定
  3. 該当するアイテム(例:山田太郎)が表示される!

方法②:フィルターで条件指定(GUIで簡単)

  1. フィルター」をクリック
  2. 条件を設定
    • 属性:UserID
    • 比較演算子:等しい
    • 値:u00
  3. 検索実行 → 該当アイテムだけが表示される!

SQLとの違いは?

比較項目 DynamoDB(NoSQL) RDB(MySQLなど)
スキーマ 不要(自由) 必要(事前定義)
クエリ GUI or APIで実施 SQLで実施
柔軟性 高い(項目自由) 厳格(整合性あり)
学習コスト 低め 高め(SQL文法が必要)

よくある疑問

Q. 複雑な検索はできる?

ソートキーやセカンダリインデックス(主キー以外)を追加すれば可能ですが、今回は基本的な検索のみを対象としています。

Q. 実際のアプリでも使われてるの?

Netflix、Amazon.com、Zoom など、実際の大規模サービスでも DynamoDB は使われているようです。


まとめ

  • DynamoDBを使えば、SQLなしでも「データベース操作」が体験できる
  • GUIだけで、テーブル作成 → 登録 → 検索 まで完結
  • NoSQLの基本を実感できるので、初心者の最初の一歩にぴったり!

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA