Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ストリーミングデータをkintoneで取り扱う
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ムラナカ=ゴリラ
August 02, 2026
Programming
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ストリーミングデータをkintoneで取り扱う
2026/7/11 devkin meetup! vol7で発表した資料となります。
ムラナカ=ゴリラ
August 02, 2026
More Decks by ムラナカ=ゴリラ
See All by ムラナカ=ゴリラ
アプリ・スペースの定期的な棚卸しをしてみる
muranakagorilla
0
120
Amplify gen2を使った感想
muranakagorilla
0
130
Other Decks in Programming
See All in Programming
ジョジョの世界をXRで再現する
mofurune
0
160
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Event is what happens
moro
2
790
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.4k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How to Talk to Developers About Accessibility
jct
2
580
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Thoughts on Productivity
jonyablonski
76
5.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Test your architecture with Archunit
thirion
2
2.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Transcript
ストリーミングデータを kintoneで取り扱う 🤔
目次 1.自己紹介 2.ストリーミングデータとは? 3.ストリーミングデータを kintoneで 取り扱う 4.まとめ
1.自己紹介 自己紹介
2.ストリーミングデータとは? 今回のお話するのはストリーミングデータの話 https://aws.amazon.com/jp/builders-flash/202311/awsgeek-kinesis-data-streams/
2.ストリーミングデータとは? 今回のお話するのはストリーミングデータの話 以下の知識がないと理解が難しいかもしれません ・kintoneのAPIサービス ・AWSのサービス周り(AWS SAA相当の知識) ・データ基盤技術周り
2.ストリーミングデータとは? ストリーミングデータとは? https://www.nttdata.com/jp/ja/trends/data-insight/2021/101201/ ストリーム(stream)とは、小川、流れ、連続などの意味を持つ英単語で、 ITの分野では連続したデータの流れ や、データの送受信や処理を連続的に行うことなどを意味する。
2.ストリーミングデータとは? ストリーミングデータの身近な例(動画サイト) https://www.stream.co.jp/blog/blogpost-13915/ 例:YouTubeのストリーミング配信 >灰色の部分がデータが届いていることを示す
2.ストリーミングデータとは? ストリーミングデータの性質 時系列的な意義 データストリーム内の個々の要素にはタイムスタンプが含まれています。データストリーム自体に時間的制約があり、特定の期間後にその意義が低下する場合があります。例えば、アプリケー ションがユーザーの現在地に基づいてレストランのレコメンデーションを提供するとします。ユーザーの地理的位置情報に基づいてリアルタイムでアクションを実行しなければ、そのデータの意義 は失われてしまいます。 絶え間ないフロー データストリームに始まりと終わりはありません。必要とされる限り、データを絶え間なく継続的に収集します。例えば、サーバーのアクティビティログは、サーバーが実行されている限り蓄積され ます。 一意的
時間的制約があるため、データストリームの反復送信は困難です。そのため、正確でリアルタイムのデータ処理が重要になります。残念ながら、ほとんどのストリーミングデータソースでは、再送 信のための措置が限られています。 非同種性 一部のソースは、文字列、数字、および日付などのデータ型とバイナリ型を伴う JSON、Avro、およびコンマ区切り値 (CSV) などの構造化形式での複数の形式でデータをストリーミングする場合 があります。ストリーム処理システムには、このようなデータのばらつきを処理する機能が備わっている必要があります。 不完全 ソースでの一時的なエラーは、ストリーミングされたデータ内の破損または欠落した要素の原因となる場合があります。ストリームの継続的な性質のため、データ整合性を保証することは困難に なり得ます。ストリーム処理システムと分析システムには通常、これらのエラーを緩和または最小限化するためのデータ検証用のロジックが含まれています。 https://aws.amazon.com/jp/what-is/streaming-data/
2.ストリーミングデータとは? ストリーミングデータ活用の例 (Iotセンサ - AWS) ・端末ID ・温度/湿度等のセンサデータ ・タイムスタンプ などのセンサデータ ・対象端末の登録
・センサデータの分岐 https://aws.amazon.com/jp/blogs/news/new-serverless-streaming-etl-with-aws-glue/ ・センサデータから ストリーミングデータ の変換(スループット 設 定) ・レイテンシは数ミリ秒 でリアルタイムで送信 ・ストリーミングデータ から前処理変換。 ・変換後データの ストレージ ・Glueクローラー・カタログによる テーブル定義 ・S3ストレージデータの取り出し(SQL)
3.ストリーミングデータをkintoneで取り扱う ストリーミングデータとkintone ストリーミングデータを、 そのまま kintoneへ反映することは難しい。 ・端末ID ・温度/湿度等のセンサデータ ・タイムスタンプ などのセンサデータ https://aws.amazon.com/jp/blogs/news/new-serverless-streaming-etl-with-aws-glue/
3.ストリーミングデータをkintoneで取り扱う ストリーミングデータとkintone ストリーミングデータを、 そのまま kintoneへ反映することは難しい。 https://www.cybozu.com/jp/service/restrictions.html ・APIのリクエスト制限により、毎秒のデータ送信は不可能(60秒 *60分*24時間 = 86,400)
3.ストリーミングデータをkintoneで取り扱う ストリーミングデータをkintoneで扱うための例 ・データレイク (生データを保管) ・データウェアハウス(加工データを保管) ・データマート (加工データを保管)としてのkintoneアプリ
3.ストリーミングデータをkintoneで取り扱う データレイクとしてのkintoneアプリ バッファリングの設定ができる >送信間隔の調整(秒数/サイズ) ※ゼロバッファリングはkintoneの 仕様上不可 ・ストリーミングデータをkintoneAPI の「複数のレコードを登録する」を実行 Kinesis FireHose
Lambda kintone データレイクアプリ 注意 ・Kinesis FireHoseのバッファをkintoneAPIの仕様内で収めること。 ・kintoneレコード数は100万レコード程度まで。超えた場合はCSVで出力しておくなど。
3.ストリーミングデータをkintoneで取り扱う データウェアハウス(DWH)としてのkintoneアプリ レコードが追加されたらWebhookで APIGateway + Lambdaへ飛ばす kintoneAPIの「単体or複数の レコードを登録する」を実行 Kinesis FireHose
APIGateway + Lambda Lambda kintone データレイクアプリ 注意 ※kintone Webhookは1MBを超えるとエラーが発生するのでFirehoseのバッファ部分で 調整する必要がある https://jp.cybozu.help/k/ja/app/set_webhook/webhook_logs.html kintone DWHアプリ
3.ストリーミングデータをkintoneで取り扱う データマートとしてのkintoneアプリ S3 Kinesis FireHose データレイク AWS Glue or RedShft
Lambda kintone データマートアプリ1 Lambda kintone データマートアプリ2 Lambda kintone データマートアプリ3 S3 DWH krewDashboardなどを使用して ダッシュボード化して見やすいグラフにしておく。
6.まとめ まとめ ストリーミングデータはレコード自体の量は膨大なので、、、 ・kintoneで取り扱うならば、見せるデータ(データマート)として変換す るのが吉 ・処理コストが高い部分は、クラウドサービスへ任せるのが吉 ※kintone側のJSで書いてはダメ! (処理能力はクライアント依存なので!) >kintoneで、できないことはクラウドサービスへ任せよう!
6.まとめ 裏まとめ 🤔 これ、無理してkintoneに 合わせて作成する必要なくね? 異常系のフロー構築が煩雑だし、kintoneの仕様内で構築するの が苦しい。。。 >データ処理周りが手返しが良い例とは言えないのでアプリは データマートアプリのみ作成するのが良いかもしれない。
6.まとめ 裏まとめ Lambdaのバッチ処理、または手動で AthenaからCSVを吐き出して kintoneへ登録 kintone データマートアプリ