SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flight
ビッグデータ用高速データ転送フレームワーク
須藤功平
株式会社クリアコード
db tech showcase 2021
2021-11-17
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
モチベーション
ビッグデータを
処理したい!
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
ビッグデータ処理に必要なもの
大量データ:データがないと始まらない!
✓
速度:速くないと処理しきれない!
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
大量データの収集に必要なもの
データ収集ツール
例:ログ:Fluentd/Fluent Bit
✓
✓
ストレージ
例:Amazon S3
✓
✓
効率的なデータフォーマット
トレードオフ:空間効率と時間効率
✓
例:CSVよりApache Parquet
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
高速処理に必要なもの
高速な分散システム
1台では処理しきれない
✓
✓
高速なアルゴリズムとその実装
個々の処理が速くなると全体も速くなる
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
今日注目すること
高速な分散システム
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
高速な分散システムに必要なもの
効率のよいタスク管理
より速く処理が終わるようなリソース配分
✓
✓
効率のよいデータ転送
ノード間でのデータ交換コストは無視できない
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
大量データの交換コスト
Figure 2: Communication between a client and a
server
Don’t Hold My Data Hostage –
A Case For Client Protocol Redesign
Mark Raasveldt
Centrum Wiskunde & Informatica
Amsterdam, The Netherlands
m.raasveldt@cwi.nl
Hannes Mühleisen
Centrum Wiskunde & Informatica
Amsterdam, The Netherlands
hannes@cwi.nl
Netcat (10.25s)
170.9
170.9
170.9
189.6
189.6
189.6
629.9
629.9
629.9
221.2
221.2
221.2
686.5
686.5
686.5
101.3
101.3
101.3
391.3
391.3
391.3
202
202
202
MongoDB
Hive
MySQL+C
MonetDB
PostgreSQL
DBMS X
DB2
MySQL
0 200 400 600
Wall clock time (s)
Operation
Connection
Query Execution
RSS + Transfer
Figure 1: Wall clock time for retrieving the lineitem
table (SF10) over a loopback connection. The
dashed line is the wall clock time for netcat to trans-
fer a CSV of the data. https://hannes.muehleisen.org/p852-muehleisen.pdf
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
大量データの交換コスト
ボトルネックになりやすい
シリアライズ・デシリアライズ
a.
ネットワーク帯域
b.
✓
目指すところ
メイン処理がボトルネック
(メイン処理以外が十分速い)
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
解決策
Apache Arrow Flight
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flightと私
Apache ArrowプロジェクトのPMCメンバー
Apache Arrow Flightも開発しているプロジェクト
✓
PMC:プロジェクト管理委員会
✓
✓
コミット数2位
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flight
gRPCベースのデータ転送フレームワーク
✓
ポイント
並列転送対応
「効率のよいタスク管理」に有用
✓
✓
ストリーム処理対応
「効率のよいタスク管理」に有用
✓
✓
シリアライズ・デシリアライズがほぼ不要
「効率のよいデータ転送」に有用
✓
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
簡単な使い方
https://arrow.apache.org/img/20191014_flight_simple.png
Apache License 2.0 - © 2016-2021 The Apache Software Foundation
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
GetFlightInfo
クライアント→サーバー
✓
データの取得方法を教えてもらう
サーバーはFlightInfoを返す
✓
✓
FlightInfoの中身
メタデータ:スキーマ・総レコード数…
✓
複数エンドポイント:
データは複数ヶ所に分散しているかもしれない!
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
DoGet
クライアント→サーバー
✓
データを取得する
サーバーはレコードバッチをストリームで返す
✓
プロトコルレベルではFlightDataと呼んでいる
✓
✓
レコードバッチ
データ全体のうちの一部のレコードの集まり
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flightが扱うデータ
カラム1 カラム2 カラム3
レコード1
レコード2
レコード3
レコード4
レコード5
レコード
バッチ1
レコード
バッチ2
型付きのテーブルデータ
RDBMSで扱うようなデータ
✓
カラムごとに型がある
✓
すべてのレコードは同じカラム構成
✓
✓
レコードバッチ
テーブルデータ内の連続したレコードの集まり
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
レコードバッチストリーム
レコード1
レコード2
レコード3
レコード
バッチ1
レコード4
レコード5
レコード
バッチ2
クライアント サーバー
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
なぜストリームが重要か
大量データを準備ができた順に処理できる
全部準備ができるまで待たなくてよい
✓
リソースを有効活用できる
✓
✓
レコードバッチのストリームでいいの?
レコードのストリーム方がいいんじゃない?
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
ストリームの単位
カラム
レコード
a b c
1
2
3
値 値 値
値 値 値
値 値 値
カラム
レコード
a b c
1
2
3
値 値 値
値 値 値
値 値 値
レコード
バッチ
単位
レコード
単位
レコード
レコード単位で処理できる
✓
データはレコード単位でまとめる
✓
✓
レコードバッチ
複数レコードをまとめて処理できる
✓
データをカラム単位でまとめられる
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
レコードバッチと処理
カラム
レコード
a b c
1
2
3
値 値 値
値 値 値
値 値 値
カラム
レコード
a b c
1
2
3
値 値 値
値 値 値
値 値 値
レコード
バッチ
単位
レコード
単位
複数レコードをまとめて処理
SIMDを活用すればレコード単位の処理より高速
✓
✓
カラム単位でまとまったデータ
分析処理が高速
✓
ビッグデータ処理の多くは分析処理なはず
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
詳細
Apache Arrowフォーマットはなぜ速いのか Powered by Rabbit 3.0.1
Apache Arrowフォーマットは
なぜ速いのか
須藤功平
株式会社クリアコード
db tech showcase ONLINE 2020
2020-12-08
https://slide.rabbit-shocker.org/authors/kou/db-tech-showcase-online-2020/
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
高速な分散システムの実現方法
レコードバッチのストリーム
ここまでで説明したこと
待ち時間を減らせる
✓
受け取ったデータを高速処理できる
✓
✓
スケールアウト
これから説明すること
データを複数ノードで分散処理
✓
それを効率的に扱う
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
スケールアウト構成例
https://arrow.apache.org/img/20191014_flight_complex.png
Apache License 2.0 - © 2016-2021 The Apache Software Foundation
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
ポイント1:ムダな転送を回避可能
多くの分散システム
「コーディネーター」経由で通信
✓
ノード→コーディネーター→クライアント
✓
✓
Apache Arrow Flight
直接クライアントがデータ取得可能
✓
ノード→クライアント
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
ポイント2:並列転送可能
同時に複数ノードからデータ取得可能
データごとに異なるエンドポイントだから可能
✓
✓
ストリームなので各データを随時処理可能
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
個々のデータ転送も速い
個々のデータ転送のボトルネック
シリアライズ・デシリアライズ
✓
✓
どうすれば速くできる?
なにもしなきゃいいじゃん!
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
なにもしない?
そもそもなぜシリアライズが必要?
メモリー上のデータの配置と
通信時のデータの配置が違うから
✓
✓
シリアライズしなくて済むには?
メモリー上のデータの配置と
通信時のデータの配置を同じにすればいい!
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrowフォーマット
シリアライズ不要フォーマット
メモリー上で効率よくデータを扱える配置
✓
データ交換時も↑と同じ配置を使う
✓
✓
Apache Arrow Flightが扱うデータは
Apache Arrowフォーマット
個々のデータ転送も速い!
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flightのまとめ
高速データ転送フレームワーク
並列転送対応
✓
ストリーム処理対応
✓
シリアライズ・デシリアライズがほぼ不要
✓
✓
gRPCベース
既存のgRPCライブラリーでも接続可能
✓
専用ライブラリーあり:C, C++, C#, Go, Java,
Python, R, Ruby, Rust
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Flightの利用事例
Apache Arrow
Ballista
Apache License 2.0 - © 2016-2021 The Apache Software Foundation
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Ballista
Rust実装の分散計算プラットフォーム
✓
データはApache Arrowフォーマット
✓
通信はgRPCとApache Arrow Flight
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
アーキテクチャー
Apache Arrow Flight
Apache Arrow Flight
Apache License 2.0 - © 2016-2021 The Apache Software Foundation
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
Apache Arrow Ballistaでの使い方
DoGetだけ使っている
処理済みのパーティションを受け取る
✓
大量データになりうる
✓
✓
その他の通信は素のgRPC
各Executorへの処理の依頼など
✓
大量データにはならない
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
さらにApache Arrow Flight
利用可能なリクエスト
✓
ミドルウェア
✓
将来の展望
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
利用可能なリクエスト1
Handshake
認証
✓
✓
ListFlights
利用可能なデータの取得方法一覧を取得
✓
GetSchema/DoGetなどで使える
✓
✓
GetFlightInfo
指定したデータの取得方法を取得
✓
GetSchema/DoGetなどで使える
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
利用可能なリクエスト2
GetSchema
指定したデータのスキーマを取得
✓
✓
DoGet:指定したデータを取得
✓
DoPut:データを送信
✓
DoExchange:データを送受信
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
利用可能なリクエスト3
DoAction
任意の処理を実行
✓
普通のRPCなので素のgRPCでも十分
✓
✓
ListActions
利用可能なアクション一覧を取得
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
ミドルウェア
プラグインみたいなもの
サーバー側・クライアント側両方あり
✓
✓
利用例
認証機能
✓
分散トレーシング機能
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
将来の展望1
gRPC以外もサポートするかも
https://issues.apache.org/jira/browse/ARROW-13889
✓
メーリングリストで議論中
✓
✓
候補:UCX
https://openucx.org/documentation/
RDMA/GPUなどハードウェアも活用した高速通信
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
将来の展望2
Apache Arrow Flight SQLの追加
https://issues.apache.org/jira/browse/ARROW-9825
✓
Apache Arrow Flight経由で各種RDBMSとやりとり
✓
✓
GetFlightInfoでSQL送信
✓
DoGetで結果を受信
RDBMSとFlightアダプターの間のシリアライズがボトルネックになりそうな気
がするんだけど、RDBMSのプロセス内にFlightアダプターを実装するのか
な。。。
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
まとめ
大量データのやりとりは
シリアライズ・デシリアライズが遅い
Apache Arrow Flightでそのコストをなくせる
✓
✓
さらに高速に扱う仕組みもある
並列転送やストリーム処理
✓
将来:UCXやFlight SQL
✓
✓
Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2
次のステップ
もっと詳しく知りたくなったから
イベント・社内・…で紹介して!
https://www.clear-code.com/contact/
✓
✓
アンケートに答えてね!
⇗のQRコードあるいは⇓
https://www.clear-code.com/surveys/db-tech-showcase-2021.html
✓
✓

Contenu connexe

Tendances

【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
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)Noritaka Sekiyama
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred NetworksPreferred Networks
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話Takanori Sejima
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)NTT DATA Technology & Innovation
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング勲 國府田
 

Tendances (20)

【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
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)
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 

Similaire à Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021

Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話Yasuhiro Horiuchi
 
CloudTrail ログの検索を爆速化してみた
CloudTrail ログの検索を爆速化してみたCloudTrail ログの検索を爆速化してみた
CloudTrail ログの検索を爆速化してみたYohei Azekatsu
 
Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンNoritaka Sekiyama
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonightAmazon Web Services Japan
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data PipelineAmazon Web Services Japan
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift UpdateAmazon Web Services Japan
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用についてYuuki Namikawa
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
AWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターンAWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターンseiichi arai
 
VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料Shinichiro Isago
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法Amazon Web Services Japan
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Tusyoshi Matsuzaki
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...Insight Technology, Inc.
 

Similaire à Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021 (20)

Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話
 
Serverless analytics on aws
Serverless analytics on awsServerless analytics on aws
Serverless analytics on aws
 
CloudTrail ログの検索を爆速化してみた
CloudTrail ログの検索を爆速化してみたCloudTrail ログの検索を爆速化してみた
CloudTrail ログの検索を爆速化してみた
 
Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターン
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
 
Apache Spark on Azure
Apache Spark on AzureApache Spark on Azure
Apache Spark on Azure
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用について
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
AWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターンAWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターン
 
VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
 

Plus de Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像Kouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版Kouhei Sutou
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムKouhei Sutou
 
Improve extension API: C++ as better language for extension
Improve extension API: C++ as better language for extensionImprove extension API: C++ as better language for extension
Improve extension API: C++ as better language for extensionKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムKouhei Sutou
 

Plus de Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
 
Improve extension API: C++ as better language for extension
Improve extension API: C++ as better language for extensionImprove extension API: C++ as better language for extension
Improve extension API: C++ as better language for extension
 
PGroonga & Zulip
PGroonga & ZulipPGroonga & Zulip
PGroonga & Zulip
 
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システムMySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
 

Dernier

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Dernier (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021

  • 1. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flight ビッグデータ用高速データ転送フレームワーク 須藤功平 株式会社クリアコード db tech showcase 2021 2021-11-17
  • 2. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 モチベーション ビッグデータを 処理したい!
  • 3. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 ビッグデータ処理に必要なもの 大量データ:データがないと始まらない! ✓ 速度:速くないと処理しきれない! ✓
  • 4. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 大量データの収集に必要なもの データ収集ツール 例:ログ:Fluentd/Fluent Bit ✓ ✓ ストレージ 例:Amazon S3 ✓ ✓ 効率的なデータフォーマット トレードオフ:空間効率と時間効率 ✓ 例:CSVよりApache Parquet ✓ ✓
  • 5. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 高速処理に必要なもの 高速な分散システム 1台では処理しきれない ✓ ✓ 高速なアルゴリズムとその実装 個々の処理が速くなると全体も速くなる ✓ ✓
  • 6. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 今日注目すること 高速な分散システム
  • 7. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 高速な分散システムに必要なもの 効率のよいタスク管理 より速く処理が終わるようなリソース配分 ✓ ✓ 効率のよいデータ転送 ノード間でのデータ交換コストは無視できない ✓ ✓
  • 8. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 大量データの交換コスト Figure 2: Communication between a client and a server Don’t Hold My Data Hostage – A Case For Client Protocol Redesign Mark Raasveldt Centrum Wiskunde & Informatica Amsterdam, The Netherlands m.raasveldt@cwi.nl Hannes Mühleisen Centrum Wiskunde & Informatica Amsterdam, The Netherlands hannes@cwi.nl Netcat (10.25s) 170.9 170.9 170.9 189.6 189.6 189.6 629.9 629.9 629.9 221.2 221.2 221.2 686.5 686.5 686.5 101.3 101.3 101.3 391.3 391.3 391.3 202 202 202 MongoDB Hive MySQL+C MonetDB PostgreSQL DBMS X DB2 MySQL 0 200 400 600 Wall clock time (s) Operation Connection Query Execution RSS + Transfer Figure 1: Wall clock time for retrieving the lineitem table (SF10) over a loopback connection. The dashed line is the wall clock time for netcat to trans- fer a CSV of the data. https://hannes.muehleisen.org/p852-muehleisen.pdf
  • 9. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 大量データの交換コスト ボトルネックになりやすい シリアライズ・デシリアライズ a. ネットワーク帯域 b. ✓ 目指すところ メイン処理がボトルネック (メイン処理以外が十分速い) ✓ ✓
  • 10. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 解決策 Apache Arrow Flight
  • 11. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flightと私 Apache ArrowプロジェクトのPMCメンバー Apache Arrow Flightも開発しているプロジェクト ✓ PMC:プロジェクト管理委員会 ✓ ✓ コミット数2位 ✓
  • 12. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flight gRPCベースのデータ転送フレームワーク ✓ ポイント 並列転送対応 「効率のよいタスク管理」に有用 ✓ ✓ ストリーム処理対応 「効率のよいタスク管理」に有用 ✓ ✓ シリアライズ・デシリアライズがほぼ不要 「効率のよいデータ転送」に有用 ✓ ✓ ✓
  • 13. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 簡単な使い方 https://arrow.apache.org/img/20191014_flight_simple.png Apache License 2.0 - © 2016-2021 The Apache Software Foundation
  • 14. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 GetFlightInfo クライアント→サーバー ✓ データの取得方法を教えてもらう サーバーはFlightInfoを返す ✓ ✓ FlightInfoの中身 メタデータ:スキーマ・総レコード数… ✓ 複数エンドポイント: データは複数ヶ所に分散しているかもしれない! ✓ ✓
  • 15. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 DoGet クライアント→サーバー ✓ データを取得する サーバーはレコードバッチをストリームで返す ✓ プロトコルレベルではFlightDataと呼んでいる ✓ ✓ レコードバッチ データ全体のうちの一部のレコードの集まり ✓ ✓
  • 16. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flightが扱うデータ カラム1 カラム2 カラム3 レコード1 レコード2 レコード3 レコード4 レコード5 レコード バッチ1 レコード バッチ2 型付きのテーブルデータ RDBMSで扱うようなデータ ✓ カラムごとに型がある ✓ すべてのレコードは同じカラム構成 ✓ ✓ レコードバッチ テーブルデータ内の連続したレコードの集まり ✓ ✓
  • 17. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 レコードバッチストリーム レコード1 レコード2 レコード3 レコード バッチ1 レコード4 レコード5 レコード バッチ2 クライアント サーバー
  • 18. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 なぜストリームが重要か 大量データを準備ができた順に処理できる 全部準備ができるまで待たなくてよい ✓ リソースを有効活用できる ✓ ✓ レコードバッチのストリームでいいの? レコードのストリーム方がいいんじゃない? ✓ ✓
  • 19. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 ストリームの単位 カラム レコード a b c 1 2 3 値 値 値 値 値 値 値 値 値 カラム レコード a b c 1 2 3 値 値 値 値 値 値 値 値 値 レコード バッチ 単位 レコード 単位 レコード レコード単位で処理できる ✓ データはレコード単位でまとめる ✓ ✓ レコードバッチ 複数レコードをまとめて処理できる ✓ データをカラム単位でまとめられる ✓ ✓
  • 20. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 レコードバッチと処理 カラム レコード a b c 1 2 3 値 値 値 値 値 値 値 値 値 カラム レコード a b c 1 2 3 値 値 値 値 値 値 値 値 値 レコード バッチ 単位 レコード 単位 複数レコードをまとめて処理 SIMDを活用すればレコード単位の処理より高速 ✓ ✓ カラム単位でまとまったデータ 分析処理が高速 ✓ ビッグデータ処理の多くは分析処理なはず ✓ ✓
  • 21. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 詳細 Apache Arrowフォーマットはなぜ速いのか Powered by Rabbit 3.0.1 Apache Arrowフォーマットは なぜ速いのか 須藤功平 株式会社クリアコード db tech showcase ONLINE 2020 2020-12-08 https://slide.rabbit-shocker.org/authors/kou/db-tech-showcase-online-2020/
  • 22. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 高速な分散システムの実現方法 レコードバッチのストリーム ここまでで説明したこと 待ち時間を減らせる ✓ 受け取ったデータを高速処理できる ✓ ✓ スケールアウト これから説明すること データを複数ノードで分散処理 ✓ それを効率的に扱う ✓ ✓
  • 23. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 スケールアウト構成例 https://arrow.apache.org/img/20191014_flight_complex.png Apache License 2.0 - © 2016-2021 The Apache Software Foundation
  • 24. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 ポイント1:ムダな転送を回避可能 多くの分散システム 「コーディネーター」経由で通信 ✓ ノード→コーディネーター→クライアント ✓ ✓ Apache Arrow Flight 直接クライアントがデータ取得可能 ✓ ノード→クライアント ✓ ✓
  • 25. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 ポイント2:並列転送可能 同時に複数ノードからデータ取得可能 データごとに異なるエンドポイントだから可能 ✓ ✓ ストリームなので各データを随時処理可能 ✓
  • 26. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 個々のデータ転送も速い 個々のデータ転送のボトルネック シリアライズ・デシリアライズ ✓ ✓ どうすれば速くできる? なにもしなきゃいいじゃん! ✓ ✓
  • 27. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 なにもしない? そもそもなぜシリアライズが必要? メモリー上のデータの配置と 通信時のデータの配置が違うから ✓ ✓ シリアライズしなくて済むには? メモリー上のデータの配置と 通信時のデータの配置を同じにすればいい! ✓ ✓
  • 28. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrowフォーマット シリアライズ不要フォーマット メモリー上で効率よくデータを扱える配置 ✓ データ交換時も↑と同じ配置を使う ✓ ✓ Apache Arrow Flightが扱うデータは Apache Arrowフォーマット 個々のデータ転送も速い! ✓ ✓
  • 29. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flightのまとめ 高速データ転送フレームワーク 並列転送対応 ✓ ストリーム処理対応 ✓ シリアライズ・デシリアライズがほぼ不要 ✓ ✓ gRPCベース 既存のgRPCライブラリーでも接続可能 ✓ 専用ライブラリーあり:C, C++, C#, Go, Java, Python, R, Ruby, Rust ✓ ✓
  • 30. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Flightの利用事例 Apache Arrow Ballista Apache License 2.0 - © 2016-2021 The Apache Software Foundation
  • 31. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Ballista Rust実装の分散計算プラットフォーム ✓ データはApache Arrowフォーマット ✓ 通信はgRPCとApache Arrow Flight ✓
  • 32. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 アーキテクチャー Apache Arrow Flight Apache Arrow Flight Apache License 2.0 - © 2016-2021 The Apache Software Foundation
  • 33. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 Apache Arrow Ballistaでの使い方 DoGetだけ使っている 処理済みのパーティションを受け取る ✓ 大量データになりうる ✓ ✓ その他の通信は素のgRPC 各Executorへの処理の依頼など ✓ 大量データにはならない ✓ ✓
  • 34. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 さらにApache Arrow Flight 利用可能なリクエスト ✓ ミドルウェア ✓ 将来の展望 ✓
  • 35. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 利用可能なリクエスト1 Handshake 認証 ✓ ✓ ListFlights 利用可能なデータの取得方法一覧を取得 ✓ GetSchema/DoGetなどで使える ✓ ✓ GetFlightInfo 指定したデータの取得方法を取得 ✓ GetSchema/DoGetなどで使える ✓ ✓
  • 36. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 利用可能なリクエスト2 GetSchema 指定したデータのスキーマを取得 ✓ ✓ DoGet:指定したデータを取得 ✓ DoPut:データを送信 ✓ DoExchange:データを送受信 ✓
  • 37. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 利用可能なリクエスト3 DoAction 任意の処理を実行 ✓ 普通のRPCなので素のgRPCでも十分 ✓ ✓ ListActions 利用可能なアクション一覧を取得 ✓ ✓
  • 38. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 ミドルウェア プラグインみたいなもの サーバー側・クライアント側両方あり ✓ ✓ 利用例 認証機能 ✓ 分散トレーシング機能 ✓ ✓
  • 39. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 将来の展望1 gRPC以外もサポートするかも https://issues.apache.org/jira/browse/ARROW-13889 ✓ メーリングリストで議論中 ✓ ✓ 候補:UCX https://openucx.org/documentation/ RDMA/GPUなどハードウェアも活用した高速通信 ✓ ✓
  • 40. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 将来の展望2 Apache Arrow Flight SQLの追加 https://issues.apache.org/jira/browse/ARROW-9825 ✓ Apache Arrow Flight経由で各種RDBMSとやりとり ✓ ✓ GetFlightInfoでSQL送信 ✓ DoGetで結果を受信 RDBMSとFlightアダプターの間のシリアライズがボトルネックになりそうな気 がするんだけど、RDBMSのプロセス内にFlightアダプターを実装するのか な。。。 ✓ ✓
  • 41. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 まとめ 大量データのやりとりは シリアライズ・デシリアライズが遅い Apache Arrow Flightでそのコストをなくせる ✓ ✓ さらに高速に扱う仕組みもある 並列転送やストリーム処理 ✓ 将来:UCXやFlight SQL ✓ ✓
  • 42. Apache Arrow Flight - ビッグデータ用高速データ転送フレームワーク Powered by Rabbit 3.0.2 次のステップ もっと詳しく知りたくなったから イベント・社内・…で紹介して! https://www.clear-code.com/contact/ ✓ ✓ アンケートに答えてね! ⇗のQRコードあるいは⇓ https://www.clear-code.com/surveys/db-tech-showcase-2021.html ✓ ✓