SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Mobility Technologies Co., Ltd.
Data Engineering Study #4
IoTデバイスデータ収集の難しい点
株式会社 Mobility Technologies
渡部 徹太郎
2020/11/04
Mobility Technologies Co., Ltd.
自己紹介
2
ID :fetaro
名前:渡部 徹太郎
学生:東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)
職歴:
* 野村総合研究所(NRI)
- オンライントレードシステム基盤
- オープンソース技術部隊
* リクルートテクノロジーズ
- ビッグデータ分析基盤
* MobilityTechnologies
- データエンジニア
エディタ:emacs派→ InteliJ派
趣味:麻雀、自宅サーバ
日本AWSユーザ会(JAWS)
ビッグデータ支部長
やってました
著書
Mobility Technologies Co., Ltd.
Mobility Technologiesの紹介
3
配車関連事業
広告決済事業 乗務員向けソリューション事業
DRIVE CHART・ドラレコ事業 次世代向けR&D事業
Mobility Technologies Co., Ltd.
ドライブレコーダ
 システム概要
ドライブレコーダのデータを収集している
4
アップロード
プログラム
インター
ネット
Wifi
LB
収集 処理
アクセス
ポイント
ルータドラ
レコ
ドラ
レコ
ドラ
レコ
速度
センサ
GPS
センサ
カメラ
分散キュー
Wifi
タクシー
JapanTaxiドライブレコーダv4の写真
Mobility Technologies Co., Ltd.
 IoTデバイスからのデータ収集はWebのデータ収集とは違う!
1. バイナリデータを扱う
2. CPUアーキテクチャはx86/x64とは限らない
3. プログラムのサイズに容量制限がある
4. ネットワークは切れることがある
5. ネットワーク帯域は無限ではない
6. 電源は落ちることがある
7. 電力は有限である
8. ログは見ることができない
9. アップデートは一大イベント
10. 時間は正しいとは限らない
「エンジニアの総合格闘技」と呼ばれるほど、多種多様な知識が必要となる
IoTデバイスからのデータ収集は一味違う
5
Mobility Technologies Co., Ltd.
 バイナリファイルとは
 01の配列
 どのように読むか規定されていない
 パースが必要
 プログラミング言語のビット演算をつかう
 論理積 (&) 論理和 (|) ビット反転 (~)
右シフト(>>) 左シフト (<<)
 ハマった箇所
 Floatが変な値になる
 →リトルエンディアンとビッグエンディアン
のとり違い!
 -z方向加速度が常に一定の値を示してしまう
 →重力加速度だった!
バイナリデータを扱う
6
1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0
0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0
1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1
Webの場合 IoTデバイスの場合
データ形式 JSON, CSV, DBのテーブル バイナリファイル
タイムスタンプ
GPS緯度
GPS経度
各種フラグ
X方向加速度 -X方向加速度 y方向加速度 -y方向加速度
空き
パース
Mobility Technologies Co., Ltd.
CPUのアーキテクチャはx86/x64とは限らない
7
Webの場合 IoTデバイスの場合
CPU
アーキテクチャ
x86/x64 ARM
(が多い)
 CPUアーキテクチャとは主に2種類ある
 x86/x64 : サーバ、パソコン
 ARM : IoTデバイス、スマートフォン
 難しい箇所
 MacOSやクラウドの仮想マシンでコンパイルしたバイナリは動かない
 →クロスコンパイルが必要
 どうやってクロスコンパイルするか
 Go言語やRustが開発しやすい
 →JapanTaxiドライブレコーダではメモリ管理に厳格なRust言語を採用
Mobility Technologies Co., Ltd.
プログラムのサイズに制限がある
8
Webの場合 IoTデバイスの場合
プログラムの
サイズ
気にしたこと無い。
磁気ディスクやSSDの容量は
100 Gbyte以上ある。
フラッシュディスクは16Gbyte〜
64Gbyte程度
 難しい箇所
 プログラムのコンパイル後のサイズを気にする必要がある
 ライブラリは潤沢には使えない
 →他のモジュールと同じライブラリを使う
 開発言語は複数使えない
 →Rust言語のみ
Mobility Technologies Co., Ltd.
 難しい箇所
 ネットワークは常に切れる想定で開発する必要がある
 リトライを仕込む
 サーバ側でどこまで処理したかを管理し、再接続時にレジュームできるようにする
 ハマった箇所
 無線通信が干渉する
 Wifiの2.4GHz帯の電波は、他のwifi機器やbluetooth機器と干渉する
 →デバイス間のチャンネル調整が必要
 無線電波が弱い
 →天井がないと電波が反射が少ない
ネットワークは切れることがある
9
Webの場合 IoTデバイスの場合
通信品質 安定
たまにパケットが落ちるぐらい
不安定
場所によって切れる
Mobility Technologies Co., Ltd.
 難しい箇所
 通信帯域的&コスト的に、
全てのドライブレコーダの動画をアップロードすることはできない
 →業務要件を加味して必要最小限な動画だけアップロードするようにする
 →全てのデータが取れない前提でアプリケーションを組む
 同時に全台のデバイスのデータを全力でアップロードできない
 →アップロードタイミングを制御することは難しいため、タイムアウト指数的に増やしていきで
きるだけ救うようにする
ネットワーク帯域は有限である
10
Webの場合 IoTデバイスの場合
通信帯域 1Gbps〜10Gbps Wifi: 50Mbps〜500Mbps
(SIM: 10Mbps〜100Mpbs)
料金 固定料金
(従量課金だとしても安い)
従量課金でしかも高い
Mobility Technologies Co., Ltd.
電源は落ちることがある
11
 難しい箇所
 電源が落ちたときを想定して開発する
 電源が供給されなくなると、完全停止する前にデバイス側からシグナルを受信するので、
それをTRAPして適切な終了処理を書く(ファイルを閉じる等)
Webの場合 IoTデバイスの場合
電源の有無 ほとんど気にしない。
インフラ側で吸収してくれる
常に電源が落ちることを想定す
る
Mobility Technologies Co., Ltd.
電力は有限である
12
 難しい箇所
 消費電力を抑える
 エンジンがオンの場合はよいが、オフの場合はバッテリーの電力を用いた動作になる
 長時間の起動はバッテリーあがりを引き起こす可能性がある
 車との調整が必要
 最大起動時間を決めて、それ以内に処理を終わらせるようにする
Webの場合 IoTデバイスの場合
消費電力 え?なんですかそれ? 省電力を心がける。
起動時間を気にする。
Mobility Technologies Co., Ltd.
 難しい箇所
 エラー内容をサーバに返す前に死なれると何が起きていたかわからない
 ログにしかエラー内容は出力されない
 デバイスに接続してログを確認するしかない
 SSHサーバは入っていないため、SSH接続はできない
 タクシー車両に行きコンソールケーブルを接続して参照する必要あり
ログは見ることができない
13
Webの場合 IoTデバイスの場合
ログの参照 Cloud watch ポチー
ssh ポチー
現地にいってデバイスに物理接
続
Mobility Technologies Co., Ltd.
 難しい箇所
 OTA(Over The Air)による自己アップデートシステムの整備が必須
 デバイス側がオンラインになったときに、アップロードプログラムを確認し、あれば自
身を更新する仕組み
 すべてのモジュール更新がOTAでできるわけではない
 インストールメディアをいれたSDカードを持ってタクシー車両に行き、SDカードをド
ライブレコーダに指してインストール作業が必要
 数百台の作業になることもあり、人海戦術となる
アップデートは一大イベント
14
Webの場合 IoTデバイスの場合
デプロイの方法 git pull ポチー OTA (Over The Air)
or
人海戦術
Mobility Technologies Co., Ltd.
 ハマった箇所
 2000年のログが送られてくる
 IoTデバイスのマザーボードには時計が内蔵されていないため、起動直後は2000年1月1
日になる
 GPS等を介して時刻を取得すると、正しい時刻になる
時間が正しいとは限らない
15
Webの場合 IoTデバイスの場合
時刻同期 マザーボードに時計がある。
NTPで常に同期。
デバイスに時計があるとは限ら
ない
Mobility Technologies Co., Ltd.
 Webのデータ収集とIoTデバイスのデータ収集は必要なスキルセットが違う!
 バイナリデータの扱い
 クロスコンパイル・組み込みプログラミング
 ハードウェアの知識
 ネットワークの知識
 電源への配慮
 ログ参照やアップデートへの考慮
 時計への配慮
まとめ
16
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
17
仲間募集中!

Weitere ähnliche Inhalte

Was ist angesagt?

Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Takuya Azumi
 

Was ist angesagt? (20)

Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
[DL輪読会]Meta Reinforcement Learning
[DL輪読会]Meta Reinforcement Learning[DL輪読会]Meta Reinforcement Learning
[DL輪読会]Meta Reinforcement Learning
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎
 
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
 
Depth Estimation論文紹介
Depth Estimation論文紹介Depth Estimation論文紹介
Depth Estimation論文紹介
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 

Ähnlich wie IoTデバイスデータ収集の難しい点

コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
Insight Technology, Inc.
 

Ähnlich wie IoTデバイスデータ収集の難しい点 (20)

ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
 
IoTの魅力
IoTの魅力IoTの魅力
IoTの魅力
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのかSRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
 
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
 
データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達までSORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
 
NTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure DataNTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure Data
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
 
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
 

Mehr von Tetsutaro Watanabe

Mehr von Tetsutaro Watanabe (20)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

IoTデバイスデータ収集の難しい点

  • 1. Mobility Technologies Co., Ltd. Data Engineering Study #4 IoTデバイスデータ収集の難しい点 株式会社 Mobility Technologies 渡部 徹太郎 2020/11/04
  • 2. Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書
  • 3. Mobility Technologies Co., Ltd. Mobility Technologiesの紹介 3 配車関連事業 広告決済事業 乗務員向けソリューション事業 DRIVE CHART・ドラレコ事業 次世代向けR&D事業
  • 4. Mobility Technologies Co., Ltd. ドライブレコーダ  システム概要 ドライブレコーダのデータを収集している 4 アップロード プログラム インター ネット Wifi LB 収集 処理 アクセス ポイント ルータドラ レコ ドラ レコ ドラ レコ 速度 センサ GPS センサ カメラ 分散キュー Wifi タクシー JapanTaxiドライブレコーダv4の写真
  • 5. Mobility Technologies Co., Ltd.  IoTデバイスからのデータ収集はWebのデータ収集とは違う! 1. バイナリデータを扱う 2. CPUアーキテクチャはx86/x64とは限らない 3. プログラムのサイズに容量制限がある 4. ネットワークは切れることがある 5. ネットワーク帯域は無限ではない 6. 電源は落ちることがある 7. 電力は有限である 8. ログは見ることができない 9. アップデートは一大イベント 10. 時間は正しいとは限らない 「エンジニアの総合格闘技」と呼ばれるほど、多種多様な知識が必要となる IoTデバイスからのデータ収集は一味違う 5
  • 6. Mobility Technologies Co., Ltd.  バイナリファイルとは  01の配列  どのように読むか規定されていない  パースが必要  プログラミング言語のビット演算をつかう  論理積 (&) 論理和 (|) ビット反転 (~) 右シフト(>>) 左シフト (<<)  ハマった箇所  Floatが変な値になる  →リトルエンディアンとビッグエンディアン のとり違い!  -z方向加速度が常に一定の値を示してしまう  →重力加速度だった! バイナリデータを扱う 6 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 Webの場合 IoTデバイスの場合 データ形式 JSON, CSV, DBのテーブル バイナリファイル タイムスタンプ GPS緯度 GPS経度 各種フラグ X方向加速度 -X方向加速度 y方向加速度 -y方向加速度 空き パース
  • 7. Mobility Technologies Co., Ltd. CPUのアーキテクチャはx86/x64とは限らない 7 Webの場合 IoTデバイスの場合 CPU アーキテクチャ x86/x64 ARM (が多い)  CPUアーキテクチャとは主に2種類ある  x86/x64 : サーバ、パソコン  ARM : IoTデバイス、スマートフォン  難しい箇所  MacOSやクラウドの仮想マシンでコンパイルしたバイナリは動かない  →クロスコンパイルが必要  どうやってクロスコンパイルするか  Go言語やRustが開発しやすい  →JapanTaxiドライブレコーダではメモリ管理に厳格なRust言語を採用
  • 8. Mobility Technologies Co., Ltd. プログラムのサイズに制限がある 8 Webの場合 IoTデバイスの場合 プログラムの サイズ 気にしたこと無い。 磁気ディスクやSSDの容量は 100 Gbyte以上ある。 フラッシュディスクは16Gbyte〜 64Gbyte程度  難しい箇所  プログラムのコンパイル後のサイズを気にする必要がある  ライブラリは潤沢には使えない  →他のモジュールと同じライブラリを使う  開発言語は複数使えない  →Rust言語のみ
  • 9. Mobility Technologies Co., Ltd.  難しい箇所  ネットワークは常に切れる想定で開発する必要がある  リトライを仕込む  サーバ側でどこまで処理したかを管理し、再接続時にレジュームできるようにする  ハマった箇所  無線通信が干渉する  Wifiの2.4GHz帯の電波は、他のwifi機器やbluetooth機器と干渉する  →デバイス間のチャンネル調整が必要  無線電波が弱い  →天井がないと電波が反射が少ない ネットワークは切れることがある 9 Webの場合 IoTデバイスの場合 通信品質 安定 たまにパケットが落ちるぐらい 不安定 場所によって切れる
  • 10. Mobility Technologies Co., Ltd.  難しい箇所  通信帯域的&コスト的に、 全てのドライブレコーダの動画をアップロードすることはできない  →業務要件を加味して必要最小限な動画だけアップロードするようにする  →全てのデータが取れない前提でアプリケーションを組む  同時に全台のデバイスのデータを全力でアップロードできない  →アップロードタイミングを制御することは難しいため、タイムアウト指数的に増やしていきで きるだけ救うようにする ネットワーク帯域は有限である 10 Webの場合 IoTデバイスの場合 通信帯域 1Gbps〜10Gbps Wifi: 50Mbps〜500Mbps (SIM: 10Mbps〜100Mpbs) 料金 固定料金 (従量課金だとしても安い) 従量課金でしかも高い
  • 11. Mobility Technologies Co., Ltd. 電源は落ちることがある 11  難しい箇所  電源が落ちたときを想定して開発する  電源が供給されなくなると、完全停止する前にデバイス側からシグナルを受信するので、 それをTRAPして適切な終了処理を書く(ファイルを閉じる等) Webの場合 IoTデバイスの場合 電源の有無 ほとんど気にしない。 インフラ側で吸収してくれる 常に電源が落ちることを想定す る
  • 12. Mobility Technologies Co., Ltd. 電力は有限である 12  難しい箇所  消費電力を抑える  エンジンがオンの場合はよいが、オフの場合はバッテリーの電力を用いた動作になる  長時間の起動はバッテリーあがりを引き起こす可能性がある  車との調整が必要  最大起動時間を決めて、それ以内に処理を終わらせるようにする Webの場合 IoTデバイスの場合 消費電力 え?なんですかそれ? 省電力を心がける。 起動時間を気にする。
  • 13. Mobility Technologies Co., Ltd.  難しい箇所  エラー内容をサーバに返す前に死なれると何が起きていたかわからない  ログにしかエラー内容は出力されない  デバイスに接続してログを確認するしかない  SSHサーバは入っていないため、SSH接続はできない  タクシー車両に行きコンソールケーブルを接続して参照する必要あり ログは見ることができない 13 Webの場合 IoTデバイスの場合 ログの参照 Cloud watch ポチー ssh ポチー 現地にいってデバイスに物理接 続
  • 14. Mobility Technologies Co., Ltd.  難しい箇所  OTA(Over The Air)による自己アップデートシステムの整備が必須  デバイス側がオンラインになったときに、アップロードプログラムを確認し、あれば自 身を更新する仕組み  すべてのモジュール更新がOTAでできるわけではない  インストールメディアをいれたSDカードを持ってタクシー車両に行き、SDカードをド ライブレコーダに指してインストール作業が必要  数百台の作業になることもあり、人海戦術となる アップデートは一大イベント 14 Webの場合 IoTデバイスの場合 デプロイの方法 git pull ポチー OTA (Over The Air) or 人海戦術
  • 15. Mobility Technologies Co., Ltd.  ハマった箇所  2000年のログが送られてくる  IoTデバイスのマザーボードには時計が内蔵されていないため、起動直後は2000年1月1 日になる  GPS等を介して時刻を取得すると、正しい時刻になる 時間が正しいとは限らない 15 Webの場合 IoTデバイスの場合 時刻同期 マザーボードに時計がある。 NTPで常に同期。 デバイスに時計があるとは限ら ない
  • 16. Mobility Technologies Co., Ltd.  Webのデータ収集とIoTデバイスのデータ収集は必要なスキルセットが違う!  バイナリデータの扱い  クロスコンパイル・組み込みプログラミング  ハードウェアの知識  ネットワークの知識  電源への配慮  ログ参照やアップデートへの考慮  時計への配慮 まとめ 16

Hinweis der Redaktion

  1. 1:00
  2. ~3:00 60sec