SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Kinesis→Redshift連携を、
KCLからFirehoseに切り替えたお話
Hajime Sano (Data Technologist for Data & Marketing)
Data Team, Digital BU, Nikkei Inc.
⾃⼰紹介
2
• ⽇経にいます。電⼦版40%、そのほか組織横断60% くらい
• データドリヴンな⽂化を醸成したり、それに必要なツールを作ったり
• https://www.slideshare.net/HajimeSano1/
• 元々はマーケティングテクノロジーの会社でCSMとして⽇経を担当
• その後、⽇経に⼊って中からかき回すことに
やってること
3
⽇経 読者
アクセスログ解析ツール
Realtime Stream Data Processing Platform
4
Web
App
Mail
APIs
Push
3rd Party
GeoIP API
アクセスログ解析ツール
Realtime Stream Data Processing Platform
5
Web
App
Mail
APIs
Push
3rd Party
GeoIP API
Challenges
6
• メンテナンスが微妙
• プラットフォーム、Nodeモジュール、カラム追加への対応、で環境の更新が必要
• EC2インスタンスのライフサイクル的に、「気付いて⼿動対応」がダサい
• 世の中の流れが、Server-less & Managed
• 何でもかんでもサーバーレスが良いみたい⾔われているし、EBでEC2ですと⾔うとモテない
• 「⼈間の時間が最も⾼単価」なので、作業の⼿間、ミスのリスク を最⼩化したい
• ⾊んな機能使ってケーススタディになりたい!
• そろそろ新しいサービス使って⾊々知⾒を共有したいな…
Kinesis - Redshift : 構築当初
7
• 当初は、Kinesisからデータを読み出し、メモリーに蓄え、ファイルに書き出してS3にPUTする処理を、
node.jsでKCLを使い、EB/EC2で動かしていたい。
• r4.largeを16台使っていたが、r5.largeにしたら性能上がってコストが下がった。
Kinesis - Redshift : Firehose化した
8
• Kinesis FirehoseをAWS コンソールからポチポチ構成した
• Redshiftへのロードまでをやってくれるので、バッチ処理を合理化できた
• EBでやっていた整形処理(ex. array→dict化)をData Transformation Lambdaに移植した
収穫は?
9
• AWS利⽤料は増えたが、メンテナンスの⼼配は減った
• 雰囲気的には $1200/⽉ → $2000/⽉
• しかし想定外のコスト増があった…
• コンポーネントが減るとトラブルシューティングしやすい
• 従来はEB上で動くワーカー、ワーカーが使うDynamo、ワーカー監視のPrometheus、ロード処理の
Azkaban@EC2、バッチの履歴… 等気にしなければならなかった
• Firehoseだと、FirehoseのUIとCloudWatchでおよそ必要な情報が揃う
• 今⽇ここで発表するネタにできた
• 使っているコードをGitHubで公開しようとしているところ…
10
11
課題が多かった
12
• Firehoseの処理を、⼀時停⽌したり再開したりできない(ですよね?)
• Iterator、チェックポイントの指定ができない
• スロットリングが発⽣→拡張ファンアウトがFirehoseでは使えず、「Firehose以外」に拡張ファンアウ
トを⼤量に適⽤する⽻⽬に
• S3→Redshiftのリトライ処理に柔軟性がなく、リトライのバッチ処理を別途作った
• Data Transformation Lambdaの障害で、S3に書き出されるレコードが破損しロードできなくなった
• KCL on EC2 by EB の時は、データの質における問題はゼロ、気にすることは多かったが障害耐性を⾼め
ていた(全体として、⼈が介在せずに⾃動復旧し、データロスをゼロにする設計思想)
どこから処理するか指定したい
13
• Lambdaのような⾃由度を期待していた
• 拡張ファンアウトを選択できたり
• 開始位置(iterator/checkpoint) を柔軟に指
定できたり
• 有効・無効を切り替えられたり
• Firehoseは、いずれも指定不可(ですよね?)
障害耐性が低い
14
• ロンドン出張の最初の週末、Greenwichを散歩しているとSlackにいくつかアラートが
• Firehoseを調べると何やらエラーがあったらしい…
障害耐性が低い
15
• FirehoseでLambdaということはData Transformationなので調べて⾒ると、⼀瞬availabilityがゼロ
障害耐性が低い
16
• 68秒間で6件の不穏な動きがあった
レコード切れてる…
17
分かったこと
18
• Data Transformation Lambdaで障害
• S3に書き出された6レコードで、JSONが途中で切れている
• FirehoseはRedshiftに対し、manifestファイルで1,000ファイルをまとめてCOPYコマンドを発⾏
• 1000ファイルのどれかに、破損した6レコードが含まれるので、1,000ファイルまとめてエラーする
• 処理に失敗したレコードは、S3にディレクトリが作られて保存される
• エラーした6件より、その6件が紛れ込んで処理出来ない1000ファイルに含まれる数百万レコードが
ロードできないことが問題
対処した
19
• 破損したレコードの復旧は⾮現実的
• manifestファイルを分解して問題のレコードを含むファイルを⾒つけようとしたが、全体の処理に
時間がかかる
• バッテリー切れ、思い切りが必要
• Cityでカフェを渡り歩いて作業を続けたがバッテリー切れ
• Covent GardenにApple Storeがあるので、作業スペースと電源を借りた
• ロードできないmanifestファイルを破棄して、Source Record Backupから問題のあった時間分の
データを、改めてKinesis Streamに投⼊し直した
• すぐに問題は解消
20
まとめ
21
• Kinesis Firehoseは⼿軽で便利
• UIで設定できてRedshiftへのロードまで⾃動化できる
• 検討すべきことは多い
• ⼀時停⽌できない、開始位置が決められない、1件でもData Transformartionがエラーすると泥沼
• スロットリングが発⽣するが拡張ファンアウトに対応出来ず、Firehose以外で対処が必要

(結果、$200/⽇ になってしまった…)
• ミッションクリティカルな⽤途に向かない
• 挙動に対して介⼊できることが少ないので、今ある性能・今ある耐久性を受け⼊れるしかない
• CSV/TSVの右端のカラムで同じ問題が起きたら、問題に気付かないのでは??
• AWSに改良を期待…
22
23
オフィス⾒学歓迎
⽇経の技術に興味があれば
⾒学歓迎
エンジニア情報
https://hack.nikkei.com/
エンジニア向けTwitter
@nikkeideveloper
WE ARE HIRING!
24

Mais conteúdo relacionado

Mais procurados

[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
Amazon Web Services Japan
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
 

Mais procurados (20)

AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
 
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しよう
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
 
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグAWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
 
AWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリAWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリ
 
AWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPCAWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPC
 
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
 

Semelhante a Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話

Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!デベロッパーネットワーク
 
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
Ryusuke Ashiya
 
第11回SIA例会プレゼン資料
第11回SIA例会プレゼン資料第11回SIA例会プレゼン資料
第11回SIA例会プレゼン資料
Tae Yoshida
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
Cybozucommunity
 

Semelhante a Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話 (20)

『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について
 
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
 
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
 
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
【最小限の学習コスト】効率的なビッグデータ収集・連携とは?
【最小限の学習コスト】効率的なビッグデータ収集・連携とは?【最小限の学習コスト】効率的なビッグデータ収集・連携とは?
【最小限の学習コスト】効率的なビッグデータ収集・連携とは?
 
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
分析のモダナイズへのヒント:データ価値を最大化するビジュアル分析とエンタープライズ組織への展開 - 経営課題解決シンポジウム (2018/09/28)
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
第11回SIA例会プレゼン資料
第11回SIA例会プレゼン資料第11回SIA例会プレゼン資料
第11回SIA例会プレゼン資料
 
リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術リクルート式ビッグデータ活用術
リクルート式ビッグデータ活用術
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
20180915 mynavi rpa_seminar
20180915 mynavi rpa_seminar20180915 mynavi rpa_seminar
20180915 mynavi rpa_seminar
 
2017spring jjug ccc_f2
2017spring jjug ccc_f22017spring jjug ccc_f2
2017spring jjug ccc_f2
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
 

Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話