AWSSUMMIT20150602-TA03-TA05をみてきた
こんにちは。smallpalaceです。
いってきたので一応記録しときまっす。
お菓子が配られたり無料イベントなわりにノベルティがゴージャスだったり。
以下TechDeepDiveあたりをみてきたんですが誤字あったらすみません。元スライド探してあったら後で貼るかもしれません。。
ちなみに満席でも立ち見や横の床に座るのは可能でした。予約してると並ばずに優先して座れるってだけっぽいです。
各セッションの動画と資料
AWS Summit Tokyo 2015 開催レポート動画・資料一覧 | アマゾン ウェブ サービス(AWS 日本語)
・TA-03 Redshiftのマイグレのはなし
SAの八木橋さん
Redshiftの概要とアップデートとインテグレーションとかの話を
RdeShiftのアーキテクチャ、
データノードとコンピュートノード
MPP超並列演算
データの格納
列指向カラムナ型
圧縮
他のAWSサービスとの親和性、Dynamoとか
CPUを各コアにプロセスをはりつけていく
ノードスライス=メモリとディスクをCPUコアと同数にした単位
アーキテクチャー:データロード
S3との親和性が高い、リーダーノードを経由せずにS3から直接引っ張ってくる
スロット同じ並列度でロード
ファイル数はスロットの倍数が望ましい
Redshiftのカスタムドライバ
JDBCとODBCをサポートしていてポスグレより親和性が高いのがでてる
InterleavedSortKey
SortKeyを複数のカラムに指定が可能になり、フルスキャンを回避、DisykI/Oをおさえられる
データ量が多い場合に差がわかりやすい
インテグレーション:データ連携
オンプレとの、AWSサービス間の、
考慮すべき点
シングルパラレル、
同期非同期
オンプレとだとS3にcsvファイルを保存して
オンプレから直にredshiftは非推奨
大量の同時クライアントからの書き込みが生じるならDynamoやkinesysから
サービス間とのデータ連携はS3がハブとなり他のAWSサービスと連携
AWSネイティブのサービスとしては、
サンプル・s成夫ーバッチ
RDBMSからデータを抽出、
S3に保存、Upload
EMRでデータのフィルタリング、Transform
Redshiftにファクトテーブルへコピー、
サマリテーブルへの集計
Talendのご紹介
EclipseベースのETLツール
Javaによる拡張が可能らしい
ジョブを単体のJarにビルド・実行も可能
スケジューリング、監視、サポートはEnterpriseバージョンで提供
サンプル
csvの時点で複数のファイルに分割
Redshiftへの並列ロードのため
ChangeDataCapture-CDC
データのロード先がファクトテーブルの場合、
通常日付や識別子などを抽出条件に使用
差分データの抽出が非常に難しい
大量のレコードを抽出するばあい、メモリの枯渇を防ぐためにカーソルを利用
抽出、分割後にファイルを圧縮することでS3のup時間を短縮
パラレルにupすることでトータルのup時間を短縮できる
設計のポイントーupload
クライアントのスペックCPUコア数で並列度を決める
S3の先頭文字列4をばらけさせる
Transform処理をどこで実行するか
1.AWSにアップロード前のオンプレ側
転送時間の削減、オンプレ側にリソースが必要
2.S3ないのファイルをEMRでバッチ変換(推奨)
R RedshiftからTransform処理をオフロード、Haddooop関連技術がひつよう
3.SQLで一時テーブルから本番テーブルへ
Redshiftの負荷があがる
EMR、フルマネージドなHadoopを提供。
Hiveによるデータ変換の例
PowerShellでAWSCLIとHiveスクリプトを実行、、
AWSCLIの呼び出しは非同期実行なのでフローの中にくむのが難しい
設計のポイント、Transform
・データの変換処理場所
・AWSではEMRが便利
Redshiftへのロード
単一ファイルの指定では特定のコンピュートノードのみ
ここで睡魔が...orz
まあ大量のデータを扱う関係でいろいろ並列にして高速化する勘所があるのがなんかわかった気になりました。
・TA-05 CodeDeploy,ElasticBeansTalk,Opsworks,CloudFormationなどの比較
ElasticBeansTalk、OpsWorks、CodeDeploy、CloudFormation
どのように違うかというお話
船崎さん
業種を問わず支援してるSAの方
EC2、RDS,ELB、S3を使うケースがとても多い
code、build,test,deploy,provision,monitor
という一連の流れとのサービスの関連
codecommit(private-git)発表されてるが利用できない
CodePipeline(一連の開発のワークフロー、発表されてるが利用できない
ElasticBeanstalk:deploy、provision,monitorが含まれる、opsworksもおなじ
CodeDeployはdeployだけ
CloudFormationはProvisionだけ、
Cloudwatchがmonotrだけ
EBはAutoScalingもふくまれる
Opsworksは多様なアーキテクチャに対応できるスタックをつくってchefのレシピで管理
LBレイヤもいけるっぽい
codeデプロイ
アプリのデプロイに特化してる
インスタンスのなかにエージェントをいれてエージェントがcoodeデプロイと通信する
Deploymentグループはどのインスタンスにデプロイするかでタグの機能をつかう
Name:Stagingがデプロイ対象とかで判断
Autoscalingグループにタグをつけてそのグループにデプロイとかも可能
デプロイの順序をはんぶんとかぜんぶとか一台ずつとか選べる
CloudFormation
jsonフォーマットに
インスタンスタイプとかAMIとかを指定する
リソースの中にOSのなかで何を実行するとかもかけるらしい
WordPressを題材にして解説してくれるとのこと
ElasticBeanstalk
gitのリポジトリの内容をeb-deployというコマンドでアーカイブ作ってebにアップロードとかできる
デプロイについては、1度に1台とか25%ずつとか全部とか調整が可能
ConfigrationFileで動作中のコンテナをカスタマイズできる。
独自AMIを用いなくても必要なコンポーネントの追加が可能。
CFは頻繁デプロイには向いてない(たしかにDR対策とかで聞くかんじだ)
EBが開発向き、
OWはインフラ連携むき
やっぱり中のSAの人によるサービスの説明にまさるセッションはないのではと思った次第です。TAのセッションはPSAとりたい人向けにもいいかもと思いました。
セルフベースラボに行ってみたところだいぶ空いてたっす。帰りにせんべいもらったのと資格とる関係の有料トレーニングのチラシをいっぱいもらいました。ビジネスチャンスなんですね。
では、みていただいてありがとうございました。