AWS-DynamoDB
[9-1]DYNAMODBは?
DynamodBとは?
プロジェクト(Items)-行(row)の概念に似ています
フィーチャー(Attributes)-カラム(column)の概念に似ています.
Key Value(Key:データの名前、Value:データ自体)
例)JSON,XML
1)パーティション鍵:データを分離するための鍵
:ユニーク機能(Unique Attribute)
:実際のデータの場所の決定
:パーティションキーを使用する場合、同じ場所に同じデータを2つ格納することはできません.
=パーティションキーを繰り返すことはできません
2)複合鍵
:パーティションキー+ソートキー
同じ顧客が異なる日付で異なる商品を購入する
:::パーティション鍵:顧客ID、ソート鍵:日付(Timestamp)
::同じパーティションキーのデータを同じ場所に格納し、ソートキーを押してデータをソート
{
“Customer_id” : “28942”,
“Transaction_id” : “g9s4dd2”,
“Item_purchased” : “sofa”,
“Store_location” : “seoul”,
“Transaction_date” : “2020-10-16 14:20:00”,
}
DynamodBデータアクセスの管理[9-2] Index
Index:Queryのパフォーマンス向上
1) Local Secondary Index(LSI)
:テーブルの作成時にのみ定義できます.
:したがって、テーブルを作成した後に変更する必要があります.削除できません.->テーブルを削除する場合は、テーブルを削除する必要があります.
:同じパーティションキーを使用しますが、異なるソートキーを使用します.
2) Global Secondary Index(GSI)
:テーブルの作成後に追加、変更、または削除できます.
:他のパーティションキー、ソートキー->を使用して新しいビューを作成する
[9-3] Query vs Scan
Query
->データサイズが異なるため、スキャンのパフォーマンスは徐々に低下します
->look-up(重複しないようにデータを定義して保存)ではScanを使用できます.
[9-4]DynamodB実習-1
[9-5]DynamodB実習-2
dynamODBの作成方法
1.プロジェクトの作成
2.lambba関数による作成
<フィルタ機能>スキャンとクエリー
スキャン
クエリ
[9-6] DAX(DynamoDB Accelerator)
DAXとは?
速度が
データをテーブルに挿入して更新すると、DAXにも反映されます.一度に2つのことが発生します.
DAXが
DAXの欠点
->書き込み要求を除く
->読み取り要求が少ない場合、役に立たない/費用面のべき乗もよくない
クラスタを作成して設定する必要があります
[9-7] DynamoDB Streams
DynamoDB Stream?
(1つのAPIが1つのEndpointに接続されている)
dynamODBストリームを使用すると、dynamODBテーブルでイベントが発生したときに効率的なアーキテクチャを作成できます.
私は単独でDBを勉強していて、awsの角度からDBを勉強することができますので、とても有益です.
Reference
この問題について(AWS-DynamoDB), 我々は、より多くの情報をここで見つけました https://velog.io/@cherriverhee/AWS-DynamoDBテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol