ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Redshiftの分散スタイルとソートキーの決定方法を聞いてきた

2017-06-02 21:43:57 | ネットワーク
6月1日 AWS Summit Tokyo 2017に行ってきた!

次は
Amazon Redshift テーブル設計詳細ガイド –分散スタイルとソートキーの決定方法–

をメモメモ




・クエリ性能をさらに向上させたい

・大切なことは何か→書いてある
 最良のソートキー
 最適な分散スタイル

・分散スタイルとソートキーに関する悩み
 そもそも、メリット・デメリットが・・・
 統一感ない

・分散スタイル
・分散スタイルとは何か
 1万枚の注文書 5人の名前が書かれたお客様
 10人で抽出

・3つの分散スタイル
 EVEN
  1万枚を、1000枚ずつ10人
 KEY
  注文者名が あではじまるひと、 かで始まる人
 ALL
  10部コピーする

・最適な分散スタイルの例
 EVEN分散された注文書とALL分散された名簿
  10人ほぼ等しく終える
・最適じゃない
 KEY分散された注文書とALL分散された名簿
  あ行にくらべ、ワ行の人が早く終わる
 ALL分散注文書、ALL分散名簿

・EVEN分散とEVEN分散
  →再分散が起きる
 KEY分散された名簿

・現実はさらに難しい
 さまざまなクエリに対応する必要がある
 分散キーは1テーブルに1個しか選べない
 フローチャートで機械的に判断

・分散キーの候補となる列の抽出
 公開された資料を印刷して貼っておいてね!

 均一に分散している
  あ行 VS わ行
  NULLの割合が大きい列
  調べ方 countで

  その列のカーでぃなりてぃは高い?
  スライスの数に対して相対的に高いか?
  →4~5倍以上
  調べ方 approximate count distinct 誤差2%だけど、高速

 その列でフィルターされているか Noなら向いている YESなら保留
 SQLは資料を見てね!

 その列は第一ソートキー
  → ゾーンマップが聞く可能性
  1Mごとのデータブロックの最大値と最小値

 その列でマージジョインしている?
  一番高速なジョイン

・分散スタイルの決定

 結合に使用されているか
   →ALL分散の結合子からなくなる

 分散キー候補があるか

 追加ストレージを許容できるか
  →コピーされる:容量

 並列性能を犠牲にできるか

 ALL分散が不向き
  大きなファクトテーブル
  結合しない単一テーブル
  複雑な集計
  頻繁に書き換えられる

 分散キー候補があるか
 結合条件で分散キー候補を使用するか?

・どのクエリを優先すべきか
  いろいろ

・ソートキー
 ソートするメリット
  ディスクIO削減
  クエリー実行時のソート処理
  まーじJOIN

・種類
  COMPOUND(順番重要)
  INTERLEAVED:メンテナンスコストが高い
 →一般的にはCOMPOUNDで十分


・ソート形式の決定
 ソートはMERGE JOINを有効にしますか
 実行時のSORT処理を削減しますか
 ソートはゾーンマップで改善するか
 さまざまな列でフィルターしますか?
 必要に応じてVACUUM REINDEXできますか?
 データに8バイト以上のプリフィックスがありますか?
  http://www→全部同じ:事実上ソートされない

・最良のソートキー列の決定
  マージジョイン:DISTKEYとおなじ
  ORDER BY
  フィルタ

・まとめ
 分散スタイル
  1.KEY分散
  2.ALL分散
  ・結合に注目
  ソートキー
  interleave使えるか



 

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

awsのブロックチェーンに対する取組を聞いてきた!

2017-06-02 18:41:00 | ネットワーク
6月1日 AWS Summit Tokyo 2017に行ってきた!

次は

Blockchain on AWS Ethereum Deep Dive with INFURA(いんふ~ら)

をメモメモ




・いんてるありがとう
・あんけーとよろしくね

・アジェンダ
 AWSのとりくみ
 ブロックチェーンを支えるAWS
 Ethereum Deep Dive with INFURA

・自己紹介

・AWSの取り組み
 ブロックチェーンサービス:まだだしていない
 世界中でユースケース、支援依頼ふえつづけている
  機能性、拡張性、柔軟性
 今後より多くの関連情報・コミュニティの支援
  日本で初めてのセッション

・事例
 バンク オブ イングランド
  去年:ラスベガス Re:インベント
  PwCと一緒に PoC
  VPC,Docker、ECS・・・
 →ふつうのWebアプリですよね…

 Coinbase(ビットコイン取引所)
  そのまえのRe:インベント
 ・セキュリティ
 ・急速な拡大
 ・1TBをリアルタイムに分析
   間にkinesis streamを入れた

ブロックチェーンを支えるAWS
・SecOps
 Strage    BigData Analytics
 Compute   Stream Processing
 Networking

・Amazon EC2インスタンスファミリー
 汎用
 コンピューティング最適化
 ストレージ・IO最適化
 メモリ最適化
 GPU/FPGA

・Amazon Elastic Block Store(EBS)
 Elastic Volume


・Ethereum Deep Dive with INFURA
 Say Hello to インフラ

・自己紹介
 ニューヨーク

・Ethereumとは何か
 分散パブリックブロックチェーン
 ブロックチェーンの技術もとにしてる
 ビットコインと違い、イーサを得ていく:暗号トークン
 イーサはネットワークの手数料にも使える

 ブロックチェーン:P2Pのためだけに、限定されている機能
 →新しいアプローチ

 いーさりあむ ばーちゃる ましーん
 チューリング完全:アプリつくれる

・比較

 いーさ
  迅速に開発
  シャーでぃんぐ
  認証
  抽象化:すぐに開発できる
 はいぱーれっじゃー
 ビットコイン

・なぜ、いーさ
 ばーちゃるましんつかえる
 エンタープライズイーサリアム:多くの人 日本でも
  スマートコントラクト:トラスとフレームワーク

・スマートコントラクト
 コンピューターコード
 さまざまな取引を容易に
 条件合ったときに実行
 好きなオペレーションを展開

・会社ConsenSysについて
 摩擦のないオペレーティングシステム
 すべての実装 dApp、製品:dAppをつくれるように
 エンタープライズの開発、PoC

 ブロックチェーン ソリューション アーキテクチャ
 アプリケーション
 サーバー
 ブロックチェーン
 クラウドホスティング INFURA ゲートウェイ

 グローバル デリバリー エクスペリエンス

・イーサリアム開発の課題
 アプリケーション(DApp)

 ユーザー フロントエンド (RPC) イーサリアムゲートウェイ アプリケーション

・ラップトップにおける課題
  リソース:特にディスク容量
  管理

・クラウドVMにおける課題
  同期時間
  コスト

・INFURAの紹介
 ティアレスなエンドポイント
 機能
  セキュリティ
  スタビリティ
  フォルトとれランス
  セキュリティ

・ワールドワイドピアリング

・アーキテクチャ
 ブーメラン型

・トラフィック、1日当たり8億

・AWSが支えている
 ログファイル分析の課題
  無制限保存
  どっかーとふるーえんとDを使っている
 イーサリアムのシンク
  デプロイするとき
  攻撃を受ける
 → Dynamic IOPS

 AWS:高可用性

 https://infra.io

・まとめ

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AWS Shield と AWS Lambda@Edgeによるセキュリティ話を聞いてきた!

2017-06-02 15:36:03 | ネットワーク
6月1日 AWS Summit Tokyo 2017に行ってきた!

次は

AWS Shield と AWS Lambda@Edge で構築するセキュアで柔軟性の高いアプリケーション

をメモメモ




・一般的なWebアプリケーション
 4つコンポーネント
  静的:
  動的:
  パーソナライズ:
  API:

・デザイン上の考慮店
 セキュリティ
 可用性
 パフォーマンス
 モニタリング:通知

・デザインと実装における課題
  柔軟性
  モニタリングツール
 →かなり複雑なセットアップ

・このようなとき役立つ?
 柔軟性を失わず、構築できる

・静的コンテンツ
 Route53,CloudFront(CDN)
 CloudFrontを使ったエッジデリバリー
  エンタープライズ級のCDN
  ほとんどすべてのアセットで使っている
 エッジからの配信
  ゲーム会社:きゃんでぃーふらっしゅ

・動的コンテンツの復旧能力
 ビジネスロジック、セキュリティ、TTL0秒
 ELB
 なぜ、cloud Front必要→メリット4つ
  TLSの終端
  セキュアな全二重通信のコネクション
  エッジとELB間のコネクションの最適化
  短い期間のキャッシュでも(TTL)リクエスト急増時の耐性を大幅に上げる
 ELBの前にCloudFrontを配置している事例:slack

・パーソナライズされたコンテンツ
 カスタマイズされたコンテンツ、拡張性、遅延の低さ
 AWS Lambda
 利点
  サーバー管理が不要
  継続的スケーリング
  使わないリソースの支払いない
 AWSのリージョン上のトリガー前程?
 もし、エッジでもできれば・・・
 Lambda@Edge
  エッジロケーションにもたらす
  Lambdaの特徴+グローバルに分散(エンドユーザーの近くに)
 新しい使い方
  バリデーション
  Botもある
  アクセス制御・認証
  レスポンスの生成
  A/Bテスト:クッキー設定
  セキュリティたかい接続
  コンテンツのカスタム化

 エッジでコンテンツのパーソナライズ

・キャッシュ不可なAPI
 APIゲートウェイ
 ラムダ使って、さーばーいらない

セキュリティ
・脅威の種類
  DDOS
  アプリケーション攻撃
  不正BOT

・DDOS攻撃の古いセキュリティ対策
 クライピングにトラフィックを送る
 データセンターにはクリーン
この問題
1)親和性の有効化
2)いつもONではない→ひつようなときつかえないかも
3)エンドユーザーもDDOSもスクライピングへ→おそくなる

AWSの場合
・TLS配信にEdgeを活用
・CloudFront標準セキュリティ機能 AWS サーティふぃけーと まねーじゃー
・DDOS攻撃:AWSシールド

AWSシールド
 1.自動的にAWSと統合
 2.常に作動
 3.経済的
 4.柔軟性

AWSシールドでDDOS攻撃

AWSシールド2種類
 スタンダード:
 アドバンスド:プレミアム

 スタンダード:レイヤ3・4、レイヤ7はWAF
 アドバンスドは
  DDOS自動検知
  トラフィックエンジニアリング
  レポート
  24時間365日の支援
  経済てき

ELBとALBでファイヤーウォール

AWS WAF
 柔軟なルール定義
 事前設定された保護
 セキュリティの自動化
 
まとめ
重要なポイント
1.セキュリティ機能標準で
2.Cloud Front:静的・動的コンテンツ
3.Lambda@Edge:パーソナライズ
  Edge最大限に

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OracleからAurora&Redshiftへの移行実践ガイドを聞いてきた!

2017-06-02 12:33:06 | Weblog
6月1日 AWS Summit Tokyo 2017に行ってきた!

次は

Oracle DatabaseからAurora&Redshiftに移行するための実践ガイド

をメモメモ





・自己紹介
・Oracleからの移行を検討しているお客様の声
 クラウドに移行:RDBもクラウドネイティブ
 CPUライセンスだとスケールできない
 予算のいっぱい、Oracle

・不安や悩み
 業務・開発
  DB変更による影響
  業務停止したくない
 IT部門
  何をガイドしてよいかわからない
  管理手法
  移行費用

・決めなくてはいけないこと
1.対象システム
2.移行理由
3.移行戦略

・AWSの考えwる6つの移行戦略
 りほすと:そのままもってくる
 りプラットフォーム:プラットフォームアップグレード
 買い替える
 リファクタ:書き換える Oracle→おーろら
 廃止
 リテイン:保持(のこしておく)

複雑さ
  保持
  廃止
  ホスト変更
  買い替え
  プラットフォームへんこう
  書き換え:今回ここ

4.移行先
・RDS Aurora(MySQL互換、PostgreSQL互換)
・Redshift

・特性概要
 →後で共有されるので、みてね
 OLTP:MySQL,Postgre
 OLAP:Postgre,RedShift

 数ミリ MySQL
 数ミリ~ PostgreSQL
 数ふん・時間 RedShift

 Join
  MySQL:ねすてっどループ
  PostgreSQL:ねすてっとループ、ハッシュ、ソートマージ
  RedShift:ハッシュ、ソートマージ(B-treeない)

・Statpackで評価してください
 SQL orderd by Elapsed Timeを調査

5.期限
6.担当者
→工数の見積もり
 移行先との違いの量

・AWSから提供する移行支援サービス
 データベースマイグレーションサービス(DMS)
 ダウンタイム最小限で

 移行中もアプリケーションは稼働したまま

 1.DMSを用意する
 2.ソース・ターゲット接続
 3.ターゲット切り替え

 使用簡単
 豊富なプラットフォーム
 簡単なセットアップ
 高い信頼性:マルチアベイラビリティゾーンにできる
 低コスト

・AWSスキーマ コンバージョン ツール(SCT)の特徴
 手動変更の補助:できなかった箇所・理由めいじ
 評価レポートの作成
 アプリケーションSQLに対応
 豊富なプラットフォーム
→機械的に変換できるSQLを変更
 評価レポート:何パーセント自動変換できるか
 Disableの制約
 ビットマップインデックスをどうするか

・違いのアジェンダ
 前程:
  自動変換できない部分を抜き出している
  機能は省いている

 移行事例
  レコチョク
  スライドシェアに上がっている

1.オブジェクトの違い
 インデックス
 シーケンス
 マテリアライズドビュー
 MySQLのシーケンス
  Auto_Increment
 マテリアライズドビュー
  PostgreSQL:読み取り専用
  データベースリンク 関数
   RedShiftと組める
 パーティショニング
 ストアドプロシージャ
  PL/pgSQL
  ストアドルーチン
 →PL/SQLと同じではない

2.Selectでの違い
 互換性がないと
  文法エラー
  結果異なる:非互換に気付かない→やっかい

 結果相違を起こしやすい2大ポイント
 ・NULLとから文字の違い
   OracleはNULLと空文字同じ
   ほかはNULLと空文字違う
  MySQL || はOR CONCATはNULLが帰る
 →COALESCEで対応

 ・CHARの末尾に埋められた空白の違い

 そのほか
  ・結合の方法の向き不向き
  ・ヒント
3.DMLでの主な違い
 Oracle:あまりいじらない
 MySQL:ファジーリードが発生しない
 PostgreSQL
 RedShift:シリアライズのみ
 MySQL独自のロック
  →次のキーまでロックしてしまう
 RedShift,PostgreSQLのバキューム
  DELETE,Update
 PostgreSQL Vaccume FULL
  ただし、Vaccumeはチューニングされている

 マネージ度型RDBMSなので、構築運用は簡単

・まとめ
 ブログで公開する
 順序決定要素
  複雑かどうか
  ミッションクリティカルか
  得られる利益が大きいか
 →利益大きい
  アセスメント

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AIがメイクを無効化してしまう、メイク落としアプリ「MAKEAPP」

2017-06-02 09:03:07 | AI・BigData
写真を選んでワンタップ、相手を一瞬で「すっぴん化」することが出来る

https://twitter.com/appmarkelabo/status/869754372598636544

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

国内でテレビがランサムウェアに感染

2017-06-02 01:27:06 | ネットワーク
広告みたいだけど、一応メモ

進む「家庭内IoT化」に潜むリスク
http://toyokeizai.net/articles/-/169860

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする