AWS Certified Data Analytics - Specialtyを受験のために、勉強中に学んだことをこのページに記述していく ※更新中
RedShift
自動スナップショット
Redshiftでは、自動スナップショットを取得できる. デフォルトだと、8時間ごとまたは1ノードのデータが5GB変更されるごとにスナップショットが作成される
参考URL
列レベルのセキュリティ
Redshiftは、列レベルのアクセス制御を実現できる Grant文で列レベルのアクセスを制御できる
参考URL
同時実行スケーリング
Redshiftでは、同時実行スケーリングが有効になっている場合、自動的に新たなクラスタ容量を追加し、クエリの増加に対応する。 クエリをメインクラスタと同時実行スケーリングクラスタのどちらで実行してもユーザには最新のデータが表示される
参考URL
ログファイルに記録していること
- 接続ログ
- 接続試行、接続、切断
- ユーザーログ
- データベースのユーザ定義の変更に関するログ
- ユーザアクティビティログ
- 各クエリをデータベースで実行する前にログに記録される
参考URL
サイズ変更について
- 伸縮自在なサイズ変更(Elastic resize)
- サイズ変更に、10~15分かかる
- 基本的にはこちらを使用することがおすすめ
- 大幅にサイズ変更する場合や単一ノードクラスタの場合など使用できない場合がある
- 従来のサイズ変更 (Classic resize)
- サイズ変更中、クラスターは読み取り専用になる
- 数時間~数日以上かかる
参考URL
行末記号について
- キャリッジリターンを行末記号として認識しない
- COPYコマンドでロードする際にエラーが出ずに何もロードされないことがある
参考URL
COPYコマンドのマニュフェスト
- 以下の目的で使う
- 必要なすべてのファイルを読み込む
- 不要なファイルを読み込まない
マニフェストを利用すると、必要なファイルが足りない場合はエラーが発生する。 また、マニフェストにないファイルは無視する
参考URL
QuickSight
行レベルのセキュリティ
行レベルのセキュリティを利用して、データセットへのアクセスを制限できる。 指定した各ユーザ、グループにはデータセットルールのフィールド値に一致する行のみが表示される。 Enterprise Editionでのみ行レベルのセキュリティを設定できる
参考URL
SPICEデータの更新
QuickSightは、毎日、毎週、毎月などのスケジュールでSPICEデータを更新できる。 Enterprise Editionのみ毎時更新できる。
参考URL
データ保管時の暗号化
Standard Editionだと暗号化されない。 Enterprise Editionだと、SPICEが保管しているデータがAWS管理キーで暗号化される。 ※メタデータおよび、SPICEにアップロードしたデータのみが保存される。
参考URL
Athena
ワークグループについて
- Athenaのワークグループでは、各ワークグループで実行されたクエリだけ保存されたクエリ、クエリ履歴が表示される。
- 他のワークグループのクエリを見ることができない
- ワークグループごとにクエリでスキャンするデータ量を制限したり、制限を超えた時にアラームを発行するSNSトピックを作成できる
参考URL docs.aws.amazon.com
クエリの制約について
- S3 Glacier または S3 Glacier Deep Archive ストレージクラスのデータのクエリをサポートしない
- クロスリージョンのクエリを実行できる
- ただし、どのリージョンの組み合わせでも実行できるわけではない
参考URL
Kinesis
サーバサイド暗号化
Kinesis Data Streamsにはサーバサイド暗号化の機能があり、KMS CMKを指定すれば、Kinesisのストレージに書きこまれる前に自動的に暗号化され、ストレージから取得した後に復号化することができる。 ※プロデューサやコンシューマーは暗号化オペレーションを管理する必要はない
参考URL
Lambdaでの並列処理
Kinesis Data StreamsをLambdaで処理する際に、ParallelizationFactorを指定するとパーティションキーレベルで順序通りに処理しつつ、 同時処理で則を上げるごとができる。
参考URL
Kinesis Data Analyticsの3パターンのウィンドウタイプについて
- Stagger Windows
- 一貫性のない間隔に届くデータのグループを分析する際に使う。重複して処理しない
- タンブリングウィンドウ
- 一定間隔に届くデータのグループを分析する際に使う。重複して処理しない
- スライディングウィンドウ
- 直近のウィンドウ期間のグループを分析する際に使う。重複して処理する
参考URL
Glue
ブックマーク
Glueのブックマークを利用すると、すでに処理されたデータを追跡できる。 つまり、すでに処理したことを再処理しないために役立つ。 再実行する際に新しいデータだけを処理できる。 ブックマークキーを利用して、処理済みかどうかを判定する。
参考URL docs.aws.amazon.com
Glue Data Catalogについて
コンソールやCreate Tableコマンドなどを利用して、AWS Glue Data Catalogテーブルを手動で作成し、 AWS Glueクローラを利用して、更新状態を維持することもできる。 カタログテーブル名を自由に選択したい場合などに利用する。
参考URL
DynamicFrameWriter
GlueのSpark Jobから重複なくRedshiftにデータを追加する場合は、 GlueでステージングテーブルにRedshiftのデータをロードする DynamicFrameWriterクラスを利用し、Redshiftの既存行を置き換える。
参考URL
Lake Formation
- クロスアカウントアクセスをコントロールできる
- 列レベルで共有範囲を調整できる
参考URL
EMR
データ保管時の暗号化
参考URL