Your SlideShare is downloading. ×
0
Amazon Kinesis ことはじめ
2014.03.18
池内  孝啓
株式会社ALBERT
1
⾃自⼰己紹介
•  池内  孝啓  - http://librabuch.jp
•  株式会社ALBERT – http://albert2005.co.jp
•  システム開発・コンサルティング部
執⾏行行役員  部⻑⾧長
•  @iktak...
お知らせ
ということでKinesisネタです。
3
ニュースリリース出しました(本⽇日!)
ALBERT、M2MやIoTに対応するビッグデータの
リアルタイム分析にAmazon Kinesisを活⽤用
http://www.albert2005...
Agenda
1.  Amazon Kinesis 概要
2.  Amazon Kinesis API
3.  fluentdとの棲み分け
4.  Amazon Kinesis 注意点
4
Amazon Kinesis 概要
5
“Amazon Kinesis は、⼤大規模なストリーミングデータをリ
アルタイムで処理理する完全マネージド型サービスです。”
http://aws.amazon.com/jp/kinesis/  より
...
Amazon Kinesis API
6
Actions - Amazon Kinesis Service API Reference
http://docs.aws.amazon.com/kinesis/latest/APIReference...
Amazon Kinesis API
7
PutRecord
Amazon Kinesisへレコードを登録します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from boto import k...
Amazon Kinesis API
8
GetRecord
Amazon Kinesisからレコードを取得します。
stream = connect.describe_stream(STREAM_NAME)
shards = stream[‘...
fluentdとの棲み分け
9
fluentdの⽤用法によっては、「あれ、かぶってない?」と
思うことがあるはずです。
特に、アプリケーションを介さずNginxのログをLTVS形式
ではき出して、tail-labeled-tsv で処理理してい...
fluentdとの棲み分け
10
Scale out Architecture
Nginx + fluentd Nginx + fluentd Nginx + fluentd
Nginx + fluentdのArchitectureでThrou...
fluentdとの棲み分け
11
Multistep Processing
Amazon Kinesisが⾯面⽩白いと思っているのはココ。
StreamにPutしたデータにKinesisアプリケーションで処理理
を⾏行行い、別のStreamに渡...
Amazon Kinesis 注意点
12
•  「どこまで処理理したか?」を記憶しない。
=> ⾃自⼒力力で頑張るならKVSなどにSequenceNumberの保存を。
•  APIの呼び出しは各種⾔言語SDKに実装済み。
ただしまだJava...
13
ご清聴ありがとうございました
Upcoming SlideShare
Loading in...5
×

Amazon Kinesis ことはじめ

4,986

Published on

株式会社ALBERTでは、Amazon Kinesisを活用したサービスのリリースを行いました。

ALBERT、M2MやIoTに対応するビッグデータのリアルタイム分析に「Amazon Kinesis」を活用
http://www.albert2005.co.jp/release/archives/201403/18_130056.html

このスライドではAmazon Kinesisの導入の導入として、概要を紹介します。

Published in: Technology
0 Comments
24 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,986
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
36
Comments
0
Likes
24
Embeds 0
No embeds

No notes for slide

Transcript of "Amazon Kinesis ことはじめ"

  1. 1. Amazon Kinesis ことはじめ 2014.03.18 池内  孝啓 株式会社ALBERT 1
  2. 2. ⾃自⼰己紹介 •  池内  孝啓  - http://librabuch.jp •  株式会社ALBERT – http://albert2005.co.jp •  システム開発・コンサルティング部 執⾏行行役員  部⻑⾧長 •  @iktakahiro 2
  3. 3. お知らせ ということでKinesisネタです。 3 ニュースリリース出しました(本⽇日!) ALBERT、M2MやIoTに対応するビッグデータの リアルタイム分析にAmazon Kinesisを活⽤用 http://www.albert2005.co.jp/release/archives/201403/18_130056.html
  4. 4. Agenda 1.  Amazon Kinesis 概要 2.  Amazon Kinesis API 3.  fluentdとの棲み分け 4.  Amazon Kinesis 注意点 4
  5. 5. Amazon Kinesis 概要 5 “Amazon Kinesis は、⼤大規模なストリーミングデータをリ アルタイムで処理理する完全マネージド型サービスです。” http://aws.amazon.com/jp/kinesis/  より Put Amazon Kinesis Get アーキテクチャは⾊色々なところに書いてあるので (いきなり) 割愛!
  6. 6. Amazon Kinesis API 6 Actions - Amazon Kinesis Service API Reference http://docs.aws.amazon.com/kinesis/latest/APIReference/API_Operations.html 1.  CreateStream 2.  DeleteStream 3.  DescribeStream 4.  GetRecords 5.  GetShardIterator 6.  ListStreams 7.  MergeShards 8.  PutRecord 9.  SplitShard APIは以下の9つ
  7. 7. Amazon Kinesis API 7 PutRecord Amazon Kinesisへレコードを登録します。 #!/usr/bin/env python # -*- coding: utf-8 -*- from boto import kinesis STREAM_NAME = ‘sample-stream’ data = ‘hoge’ partition_key = ‘partition_1’ connect = kinesis.connect_to_region(‘us-east-1’) put_response = connect.put_recoad(STREAM_NAME, data, partition_key) ⾊色々と簡略略化しすぎなサンプルコード
  8. 8. Amazon Kinesis API 8 GetRecord Amazon Kinesisからレコードを取得します。 stream = connect.describe_stream(STREAM_NAME) shards = stream[‘StreamDescription’][‘StreamName’] kinesis_iterator = connect.get_chard_iterator(STREAM_NAME, shards[0][‘ShardId’], ‘LATEST’) response = connect.get_records(kinesis_iterator[‘ShardIterator’], limit=2) # get_recordsの戻り値に、次のSequenceNumberが含まれる。 next_iterator = response[‘NextShardIterator’] な感じで引き回すイメージ 更更に⾊色々と簡略略化しすぎなサンプルコード
  9. 9. fluentdとの棲み分け 9 fluentdの⽤用法によっては、「あれ、かぶってない?」と 思うことがあるはずです。 特に、アプリケーションを介さずNginxのログをLTVS形式 ではき出して、tail-labeled-tsv で処理理しているシンプル なアーキテクチャの場合など。 •  ログファイルをtailで攫い続ける •  プラグインでS3へ転送、Redshiftへ登録 •  正規表現でテキスト加⼯工もできるし •  Scaleできる 確かに同じことができる?
  10. 10. fluentdとの棲み分け 10 Scale out Architecture Nginx + fluentd Nginx + fluentd Nginx + fluentd Nginx + fluentdのArchitectureでThrouPutを上げたけれ ばインスタンスを横に並べる。 その数だけfluentdの設定ファイルも複製される。 Amazon KinesisのThroughPutを向上させたい場合、 Shardの数を増加させれば良良い。 => エンドポイントの集約 (Nginxも上位のELBで集約されていると⾔言えばそうですが、複雑性を どこに置くかという思想の違い。深い話っぽいので別の機会に) …
  11. 11. fluentdとの棲み分け 11 Multistep Processing Amazon Kinesisが⾯面⽩白いと思っているのはココ。 StreamにPutしたデータにKinesisアプリケーションで処理理 を⾏行行い、別のStreamに渡すことができる。 Put Amazon Kinesis Stream-1 Get Kinesis App Put Amazon Kinesis Stream-2 •  前処理理からの本処理理 •  多段階の計算を要するアルゴリズム •  クレンジング⼯工程の分離離
  12. 12. Amazon Kinesis 注意点 12 •  「どこまで処理理したか?」を記憶しない。 => ⾃自⼒力力で頑張るならKVSなどにSequenceNumberの保存を。 •  APIの呼び出しは各種⾔言語SDKに実装済み。 ただしまだJavaが最も優遇。 •  Shard上限数が10 => 申請すればOK(たぶん) •  Simple Iconが無いので良良い感じのアーキ図を書けない => マダァー(・∀・  )っ/⼐凵⌒☆チンチン •  ⽇日本未上陸陸 => マダry
  13. 13. 13 ご清聴ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×