PR

DynamoDBパーテションキーとソートキーの違い

DynamoDBキーアイキャッチ DynamoDB
記事内に広告が含まれています。

「DyanamoDBのプライマリーキーパーティションキー、ソートキーの違いが分からない…
「それぞれのキーの特徴を知りたい!
DynamoDBってキーの種類が複数あって理解するのが大変ですよね…
私もAWS資格試験勉強しているときは、何が何だかさっぱり分かりませんでした…

この記事を読めば、DynamoDBのキーへの理解が深まり、DynamoDBでテーブルを作成するときのデータベース設計で困らないようになりるでしょう。

結論を言うと、DynamoDBには以下の3種類のキーがあります。

・プライマリーキー
・パーティションキー
・ソートキー

普段仕事でDynamoDBを扱っている私が、重要なポイントをまとめました。
キーを1つずつ紹介していくので、AWS資格試験の勉強中の方は参考にしてみて下さい!

プライマリーキー

まず最初にプライマリーキーについて紹介していきます。

プライマリーキーとは、データベースの中にあるデータを識別するために使用するキーを指します。
つまり、各レコードごとに他とは被らない一意のプライマリーキーを設定しないといけません。

プライマリーキーの設定には、以下の2パターンがあります。
2種類しかないので、しっかり覚えていきましょう!

1. パーティションキー
2. パーティションキー + ソートキー

用途に合わせて上記2パターンをプライマリーキーにセットすることで、特定のデータをデータベースから取得することができます。

実際に、この2パータンを用いたテーブル操作を後述しています。
そこで、プライマリーキーについてさらに理解を深めちゃって下さい!

その前に「パーティションキー?ソートキー?」となっていると思うので、それぞれのキーの特徴について説明していきます。

パーティションキー

2種類目のキーとして、「パーティションキーとは何か?」について紹介していきます。

DynamoDBのユースケースとして、大量のデータを扱うときがよくあります。
そこでDynamoDBでは、大量のデータを扱っていてもデータ処理速度を上げれるように、データを複数テーブルに分割して格納しています(パーティショニング)。

パーティションキーは、パーティショニングをする際に利用されるキーのことを指します。

ソートキー

DynamoDB3種類目のキー、ソートキーについて紹介していきます。

ソートキーは、パーティションキーの補助的な役割を担っています
パーティションキーで絞り込んだデータをさらに絞り込んだり、順序付けたりする際にソートキーが使用されます。

ソートキーを使うことで、範囲クエリや順序付けされたデータの取得を効率的に行うことができるようになります。

パーティションキーとソートキーを使ったテーブル操作

ここからは、実際にデータを用いて、パーティションキーとソートキーの関係性について、深掘りしていきます。

プライマリーキーで紹介した以下の2パターンに分けて説明していきます。

1. パーティションキー
2. パーティションキー + ソートキー

サンプルとして、以下のデータを扱います。
パーティションキーを「Name」、ソートキーを「Pet」とします。

Name(パーティションキー)Pet(ソートキー)PetName
太郎ポチ
太郎ジョン
太郎タマ
次郎
花子ピー
サンプルデータ

パーティションキーのみ

パーティションキーの「Name」が「太郎」という条件でクエリすると以下のような結果になります。

Name(パーティションキー)Pet(ソートキー)PetName
太郎ポチ
太郎ジョン
太郎タマ
PK

サンプルデータから、パーティションキーの値が「太郎」のデータだけ抽出できていますね!
次に、パーティションキー + ソートキーを使った例を見てみましょう。

パーティションキー + ソートキー

パーティションキーの「Name」が「太郎」、ソートキーの「Pet」が「犬」という条件でクエリすると以下のような結果になります。

Name(パーティションキー)Pet(ソートキー)PetName
太郎ポチ
太郎ジョン
PK + SK

サンプルデータから、パーティションキーが「太郎」かつ、ソートキーが「犬」のデータだけ抽出できています。

このようにパーティションキーとソートキーを上手く用いることで、目的のデータを効率よく抽出できるようになります!

さいごに

今回は、「DynamoDB3種類のキーの特徴」についてそれぞれ紹介してきました!
これであなたもDynamoDBへの理解がさらに深まったと思います。

私のサイトでは他にもDynamoDBに関する記事を紹介しています。
AWS資格試験のお供に是非、参考にして下さい!

関連記事

コメント

タイトルとURLをコピーしました