SlideShare a Scribd company logo
1 of 35
Download to read offline
Apache ArrowとSSD-to-GPU Direct SQLで作る
(機械学習のための)”超高速”データ処理基盤
HeteroDB,Inc
チーフアーキテクト 兼 CEO
海外 浩平 <kaigai@heterodb.com>
HeteroDB社について
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤2
会社概要
 商号 ヘテロDB株式会社
 創業 2017年7月4日
 拠点 品川区西大井1-1-2-206
 事業内容 高速データ処理製品の販売
GPU&DB領域の技術コンサルティング
ヘテロジニアスコンピューティング技術を
データベース領域に適用し、
誰もが使いやすく、安価で高速なデータ解析基盤を提供する。
代表者プロフィール
 海外 浩平(KaiGai Kohei)
 OSS開発者コミュニティにおいて、PostgreSQLやLinux kernelの
開発に10年以上従事。主にセキュリティ・FDW等の分野で
アップストリームへの貢献。
 2007年 IPA未踏ソフト事業において“天才プログラマー”認定
 2017年 GTC Japan 2017にてInception Award受賞
PG-Stromとは?
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤3
GPU CPU
モデル
NVIDIA
Tesla V100
Intel Xeon
Platinum 8280
世代 Volta Cascade Lake
発表 Q2-2017 Q2-2019
トランジスタ数 21billion 8.0billion
コア数
5120
(simple)
28
(functional)
動作クロック
1.280GHz
~1.380GHz
2.70GHz
~4.00GHz
理論性能値
(FP64)
7 TFLOPS
1.6TFLOPS
(with AVX-512)
RAMサイズ 32GB (HBM2) max 768GB (DDR4)
メモリ帯域 900GB/s 140GB/s
消費電力 250W 205W
製造プロセ
ス
12nm 14nm
PG-Strom: GPUの持つ数百~数千コアと広帯域メモリを利用して、
SQLワークロードを高速化するPostgreSQL向け拡張モジュール
App
GPU
off-loading
 データのある場所で集計・解析処理を実行
 10GB/sを越えるシングルノード性能
 エンジニアにとって使い慣れた技術である事
➔ 大量ログデータの集計・解析に最適な製品
想定利用シーン – IoT/M2M向けログデータ処理基盤
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤4
増え続けるログデータの管理、集計から解析・機械学習まで対応したデータ管理基盤
Manufacturing Logistics Mobile Home electronics
 処理ユニットの拡張により、シングルノードで~数十TBのデータにも対応。
 蓄積した生ログデータのまま、H/W限界に近い速度で集計する事が可能。
 使い慣れたPostgreSQLのSQL構文、周辺アプリケーションを適用可能。
JBoF: Just Bunch of Flash
NVME over
Fabric
(RDMA)
DB管理者
BIツール
本日のテーマ
※NVIDIAさんの資料より引用
ここをGPUで高速化する
Ready
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤5
本日のテーマ
※NVIDIAさんの資料より引用
最終的には、機械学習エンジンと
データフレームを共有する所まで
WIP
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤6
GPUとはどんなプロセッサなのか?
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤7
主にHPC分野で実績があり、機械学習用途で爆発的に普及
NVIDIA Tesla V100
スーパーコンピュータ
(東京工業大学 TSUBAME3.0) CG(Computer Graphics) 機械学習
“計算アクセラレータ”のGPUで、どうやってI/Oを高速化するのか?
シミュレーション
中核機能:SSD-to-GPUダイレクトSQL
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤8
一般的な x86_64 サーバの構成
GPUSSD
CPU
RAM
HDD
N/W
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤9
大量データを処理する時のデータの流れ
CPU RAM
SSD GPU
PCIe
PostgreSQL
データブロック
通常のデータフロー
本来は不要なレコードであっても、
一度CPU/RAMへロードしなければ
要・不要を判断できないため、
データサイズは大きくなりがち。
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤10
一度CPU/RAMへロードしなければ、
“ゴミデータ” であってもその要否を判断できない。
中核機能:SSD-to-GPUダイレクトSQL
CPU RAM
SSD GPU
PCIe
PostgreSQL
データブロック
NVIDIA GPUDirect RDMA
CPU/RAMを介することなく、
Peer-to-PeerのDMAを用いて
SSD上のデータブロックを直接
GPUに転送する機能。
WHERE句
JOIN
GROUP BY
GPUでSQLを処理し、
データ量を削減する
データ量:小
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤11
SSD-to-GPU Direct SQL:ソフトウェアスタック
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤12
Filesystem
(ext4, xfs)
nvme_strom
kernel module
NVMe SSD
NVIDIA Tesla GPU
PostgreSQL
pg_strom
extension
read(2) ioctl(2)
Hardware
Layer
Operating
System
Software
Layer
Database
Software
Layer
blk-mq
nvme pcie nvme rdma
Network HBA
ファイルオフセット ➔
NVME-SSDのセクタ番号変換
NVMEoF Target
(JBOF)
NVMe
Request
■ その他のソフトウェア
コンポーネント
■ PG-Stromプロジェクトの
開発したソフトウェア
■ ハードウェア
NVME over Fabric
nvme_strom v2.0 で
NVME-over-Fabric (RDMA) に対応
ベンチマーク(1/2)- システム構成とワークロード
Supermicro SYS-1019GP-TT
CPU Xeon Gold 6126T (2.6GHz, 12C) x1
RAM 192GB (32GB DDR4-2666 x 6)
GPU NVIDIA Tesla V100 (5120C, 16GB) x1
SSD
Intel SSD DC P4600 (HHHL; 2.0TB) x3
(md-raid0によるストライピング構成)
HDD 2.0TB(SATA; 72krpm) x6
Network 10Gb Ethernet 2ports
OS
Red Hat Enterprise Linux 7.6
CUDA 10.1 + NVIDIA Driver 418.40.04
DB
PostgreSQL v11.2
PG-Strom v2.2devel
■ クエリ例(Q2_3)
SELECT sum(lo_revenue), d_year, p_brand1
FROM lineorder, date1, part, supplier
WHERE lo_orderdate = d_datekey
AND lo_partkey = p_partkey
AND lo_suppkey = s_suppkey
AND p_category = 'MFGR#12‘
AND s_region = 'AMERICA‘
GROUP BY d_year, p_brand1
ORDER BY d_year, p_brand1;
customer
1200万件
(1.6GB)
date1
2500件
(400KB)
part
180万件
(206MB)
supplier
400万件
(528MB)
lineorder
24億件
(351GB)
典型的なスタースキーマに対し、JOIN,GROUP BYを含む集計クエリを実行
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤13
ベンチマーク(2/2)- 測定結果
 クエリ実行スループット = 353GB (DBサイズ) ÷ クエリ応答時間
 PostgreSQLの2.2~2.3GB/sに対して、SSD-to-GPUダイレクトSQLの効果により
7.2~7.9GB/s(3倍強)の処理性能を発揮
➔ 従来はDWH専用機や小規模クラスタを用いていた水準の能力を1台のマシンで。
2343.7 2320.6 2315.8 2233.1 2223.9 2216.8 2167.8 2281.9 2277.6 2275.9 2172.0 2198.8 2233.3
7880.4 7924.7 7912.5
7725.8 7712.6 7827.2
7398.1 7258.0
7638.5 7750.4
7402.8 7419.6
7639.8
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
Q1_1 Q1_2 Q1_3 Q2_1 Q2_2 Q2_3 Q3_1 Q3_2 Q3_3 Q3_4 Q4_1 Q4_2 Q4_3
クエリ実行スループット[MB/s]
Star Schema Benchmark on 1xNVIDIA Tesla V100 + 3xIntel DC P4600
PostgreSQL 11.2 PG-Strom 2.2devel
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤14
More faster, beyond the limitation
更なる高速化に向けたアプローチ
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤16
スケールアウト スケールアップ 列指向データ
複数台のPostgreSQLノードで
処理を分散させる。
各ノードにおける処理はシング
ルノードと同様に、GPUとSSD
による高速化が可能。
GPUやSSDの台数を増やし、
一台あたり並列処理能力を
増強する。
スケールアウトと異なり、コー
ディネーターを必要としない。
ストレージ上のデータ形式を
集計・解析系処理に適した
列形式に変更し、SSDから読み
出すべきI/O量を削減する。
データ構造を読み解く(1/2)- PostgreSQL(行データ)
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤17
テーブル
セグメント
1GB単位に分割
されたファイル
ブロック
通常8KBの固定長領域で、
PostgreSQLにおけるI/O単位
PageHeaderData
HeapTuple-0HeapTuple-1
HeapTuple-2
ItemPointer
HeapTuple
Header
• MVCC可視性制御情報
• 各種のフラグ情報
• 含まれる列の個数
• オブジェクトID(≦PG11)
NULL
Bitmap
Column-1
value
Column-2
value
Column-4
value
タプル
PostgreSQLにおけるストレージ上の行
NULL値や可変長データがあると、
常に一定の場所にデータが置かれる
わけではない。
データ構造を読み解く(2/2)- Apache Arrow(列データ)
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤18
Footer
Apache Arrow形式ファイル
RecordBatch-2
RecordBatch-N
RecordBatch-1
Schema
column-1 null-bitmap
column-1 values-array
column-2 values-array
column-3 null-bitmap
column-3 offset-array
column-3 extra buffer
column-4 values-array
SELECT sum(col2) WHERE col2 < col4;
“被参照列のみロードする”
事が容易なデータ形式
Apache Arrowとは(1/2)
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤19
▌特徴
 列指向で分析用途向けに設計されたデータ形式
 アプリケーションによらず、共通のデータ交換形式として利用可能
 整数、実数、日付時刻、文字列など基本的なデータ型を定義
NVIDIA GPU
PostgreSQL / PG-Strom
Apache Arrowとは(2/2)
※NVIDIAさんの資料より引用
機械学習ソリューション同士の
データ交換フォーマットとして利用が期待
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤20
FDW (Foreign Data Wrapper) 機能とは
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤21
 FDWモジュールは、外部データPostgreSQLの相互変換に責任を持つ。
 Arrow_Fdwの場合、ファイルシステム上の Arrow 形式ファイルを
Foreign Table という形で参照できるようにマップする。
➔ 改めてデータをDBシステムにインポートする必要がない。
外部テーブル(Foreign Table)- PostgreSQL管理外のデータソースを、
あたかもテーブルであるかのように取り扱うための機能
Table
外部テーブル
postgres_fdw
外部テーブル
file_fdw
外部テーブル
twitter_fdw
外部テーブル
Arrow_fdw
外部RDBMSサーバ
CSVファイル
Twitter (Web API)
Arrowファイル
《補足》ログデータはどこで生成されるのか?
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤22
ETL
OLTP OLAP
伝統的なOLTP&OLAPシステム - データはDBシステムの内側で生成される
Data
Creation
IoT/M2M時代 - データはDBシステムの外側で生成される
Log processing
BI Tools
BI Tools
Gateway Server
Async
Write
Async
Read
Data
Creation
Many Devices
Import!
SSD-to-GPUダイレクトSQL on Arrow_Fdw
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤23
PCIe Bus
NVMe SSD GPU
SSD-to-GPU P2P DMA WHERE句
JOIN
GROUP BY
Apache Arrow
データファイル
Arrow_Fdw
モジュール
Apache Arrow ➔
PostgreSQL Heapへの
データ形式変換
WHERE句
JOIN
GROUP BY
被参照列だけを
P2P DMAで転送
Apache Arrow形式に対応。
GPUがデータ形式を解釈し、
数千コアを用いた並列実行
実行結果は PostgreSQL の
Heap形式でホスト側へ転送。
(通常、元データより小さい)
実行結果
“被参照列だけ”をGPUに転送する点を除き、同一のインフラを使用している。
ベンチマーク結果(1/2)
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤24
 クエリ実行スループット = 353GB(DB) or 310GB(ファイル) ÷ クエリ応答時間
 PostgreSQLの2.2~2.3GB/sに対して、SSD-to-GPUダイレクトと列データの効果に
より、15GB/s~49GB/s相当のクエリ実行スループットを実現。
➔ シングルノードで数十TB相当のデータ処理も現実的なスコープに達してきた。
2343.7 2320.6 2315.8 2233.1 2223.9 2216.8 2167.8 2281.9 2277.6 2275.9 2172.0 2198.8 2233.3
7880.4 7924.7 7912.5 7725.8 7712.6 7827.2 7398.1 7258.0 7638.5 7750.4 7402.8 7419.6 7639.8
49038
27108
29171 28699
27876
29969
19166
20953 20890
22395
15919 15925
17061
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
Q1_1 Q1_2 Q1_3 Q2_1 Q2_2 Q2_3 Q3_1 Q3_2 Q3_3 Q3_4 Q4_1 Q4_2 Q4_3
クエリ実行スループット[MB/s]
Star Schema Benchmark on 1xNVIDIA Tesla V100 + 3xIntel DC P4600
PostgreSQL 11.2 PG-Strom 2.2devel PG-Strom 2.2devel + Arrow_Fdw
ベンチマーク結果(2/2)- 総実行時間の比較
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤25
※ ベンチマーク結果を採取するために、SSBMの13本のクエリを各々3回ずつ実行した。
上記グラフは、その総実行時間を実行エンジンごとに集計したもの。
0 1000 2000 3000 4000 5000 6000 7000
PG-Strom v2.2devel
+ Arrow_Fdw
PG-Strom v2.2devel
PostgreSQL 11.2
総実行時間ベースでの比較 [sec]
PG-Strom v2.2devel
+ Arrow_Fdw
PG-Strom v2.2devel PostgreSQL 11.2
(かなり長めの)お昼寝並みに
時間を要していたバッチ処理を
オムツ替え程度の時間で実行。
ベンチマーク結果の検証
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤26
Foreign table "public.flineorder"
Column | Type | Size
--------------------+---------------+--------------------------------
lo_orderkey | numeric | 35.86GB
lo_linenumber | integer | 8.96GB
lo_custkey | numeric | 35.86GB
lo_partkey | integer | 8.96GB
lo_suppkey | numeric | 35.86GB <-- ★Q2_1で参照
lo_orderdate | integer | 8.96GB <-- ★Q2_1で参照
lo_orderpriority | character(15) | 33.61GB <-- ★Q2_1で参照
lo_shippriority | character(1) | 2.23GB
lo_quantity | integer | 8.96GB
lo_extendedprice | bigint | 17.93GB
lo_ordertotalprice | bigint | 17.93GB
lo_discount | integer | 8.96GB
lo_revenue | bigint | 17.93GB
lo_supplycost | bigint | 17.93GB <-- ★Q2_1で参照
lo_tax | integer | 8.96GB
lo_commit_date | character(8) | 17.93GB
lo_shipmode | character(10) | 22.41GB
FDW options: (file '/opt/nvme/lineorder_s401.arrow') ... file size = 310GB
▌実際に読み出しているデータの合計は310GB中96.4GBのみ(31.08%)
▌Q2_1の実行時間は 11.06s なので、96.4GB / 11.06s = 8.7GB/s
➔ Intel DC P4600 x3 の読出し速度としては概ね妥当なパフォーマンス。
データ転送の性能は変わらないが、予め不要な列を読み飛ばせる事による高速化
100TBのデータと戦うために
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤27
某大手メーカー(半導体工場)のヒアリングより
誰もが知っている某大手メーカーの製造ラインでも、
M2Mログデータサイズが~100TB規模で収まっている
製造装置のセンサーが
年間20TBのデータを生成
最大で5年分を保存
➔100TBのログデータ
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤28
作ってみたいシステム構成(1/2)
Supermicro社
SYS-4029TRT2
x96 lane
PCIe
switch
x96 lane
PCIe
switch
CPU2 CPU1
QPI
Gen3
x16
Gen3 x16
for each
slot
Gen3 x16
for each
slotGen3
x16
U.2 NVME JBOF製品
NVIDIA Tesla V100 x4台
HBA HBA HBA HBA
各HBA毎に U.2 NVME SSDを4台接続
= 合計16台、最大読み出し速度 51.2GB/s
スケールアップ技術と列データ処理技術を組合せ、実効処理速度 100GB/s を目指す。
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤29
~100TB程度の
ログデータを
シングルノードで
処理可能に
4ユニットの並列動作で、
100~120GB/sの
実効データ処理能力
列データ構造により
ユニット毎25~30GB/sの
実効データ転送性能
作ってみたいシステム構成(2/2)
QPI
スケールアップ技術と列データ処理技術を組合せ、実効処理速度 100GB/s を目指す。
CPU2CPU1RAM RAM
PCIe-SW PCIe-SW
NVME0
NVME1
NVME2
NVME3
NVME4
NVME5
NVME6
NVME7
NVME8
NVME9
NVME10
NVME11
NVME12
NVME13
NVME14
NVME15
GPU0 GPU1 GPU2 GPU3HBA0 HBA1 HBA2 HBA3
GPU+4xSSDユニット
あたり8.0~10GB/sの
物理データ転送性能
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤30
ログデータ(時系列データ)向けパーティション設定例
▌PostgreSQLテーブルとArrow外部テーブルの混在するパーティション設定
▌ログデータは必ずタイムスタンプを含んでおり、更新がない。
➔ 古くなったデータは Arrow 外部テーブルへ移す事で高速化。
logdata_201812
logdata_201901
logdata_201902
logdata_current
logdataテーブル
(PARTITION BY timestamp)
2019-03-21
12:34:56
dev_id: 2345
signal: 12.4
タイムスタンプ
付きログデータ
PostgreSQLテーブル
行データ構造
読み書き可能だが低速
Arrow外部テーブル
列データ構造
読込み専用だが高速
検索条件にタイムスタンプを含む場合、
明らかに該当しない子テーブルは読み飛ばす。
例) WHERE timestamp > ‘2019-01-23’
AND device_id = 456
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤31
ログデータ(時系列データ)向けパーティション設定例
▌PostgreSQLテーブルとArrow外部テーブルの混在するパーティション設定
▌ログデータは必ずタイムスタンプを含んでおり、更新がない。
➔ 古くなったデータは Arrow 外部テーブルへ移す事で高速化。
logdata_201812
logdata_201901
logdata_201902
logdata_current
logdataテーブル
(PARTITION BY timestamp)
2019-03-21
12:34:56
dev_id: 2345
signal: 12.4
タイムスタンプ
付きログデータ
logdata_201812
logdata_201901
logdata_201902
logdata_201903
logdata_current
logdataテーブル
(PARTITION BY timestamp)
一ヶ月
経過
2019年3月分の
データを抽出
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤32
想定利用シーン – IoT/M2M向けログデータ処理 + 異常検知など
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤33
増え続けるログデータの管理、集計から解析・機械学習まで対応したデータ管理基盤
Manufacturing Logistics Mobile Home electronics
JBoF: Just Bunch of Flash
NVME over
Fabric
(RDMA)
DB管理者
BIツール
共通データフレーム
NVIDIA RAPIDS
異常検知など
機械学習アプリケーション
まとめ
▌サマリ
 PG-Strom: GPUを使ってI/O中心の大量データ処理を高速化する
 中核機能はSSD-to-GPU ダイレクトSQL
 Arrow_Fdw: 列指向のApache ArrowファイルをPostgreSQLにマッピング
➔SSD-to-GPUダイレクトSQLと組合せ、
▌適用領域
 IoT/M2M系大量ログデータの解析
✓ 製造業:製造ラインのセンサーデータ集計、異常検知
✓ 通信業:パケットログから攻撃パターンの抽出、など
▌リソース
 https://github.com/heterodb/pg-strom
 メール: kaigai@heterodb.com
 Twitter: @kkaigai
Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤34
20190516_DLC10_PGStrom

More Related Content

What's hot

20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_OnlineKohei KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdwKohei KaiGai
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstromKohei KaiGai
 
20180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #1020180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #10Kohei KaiGai
 
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化gree_tech
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】Kohei KaiGai
 
20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDBKohei KaiGai
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 online
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 onlineGeotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 online
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 onlineRyousuke Wayama
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)NTT DATA OSS Professional Services
 
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用Yoshikazu Suganuma
 
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...Insight Technology, Inc.
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...Yahoo!デベロッパーネットワーク
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)NTT DATA Technology & Innovation
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ株式会社クライム
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京Koichiro Sasaki
 

What's hot (20)

GDLC11 oracle-ai
GDLC11 oracle-aiGDLC11 oracle-ai
GDLC11 oracle-ai
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
 
20180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #1020180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #10
 
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
 
20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB20171212_GTCJapan_InceptionSummt_HeteroDB
20171212_GTCJapan_InceptionSummt_HeteroDB
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 online
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 onlineGeotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 online
Geotiff.jsで始めるリアルタイム演算 in foss4g japan 2020 online
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
 
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ今こそクラウドへ!データの移行、連携、統合のコツ
今こそクラウドへ!データの移行、連携、統合のコツ
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 

Similar to 20190516_DLC10_PGStrom

20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpuKohei KaiGai
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...Insight Technology, Inc.
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]Kohei KaiGai
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0洋 謝
 
20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_HistoryKohei KaiGai
 
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情Hideo Takagi
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)NTT DATA Technology & Innovation
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data PlatformNaoki (Neo) SATO
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリースTech Summit 2016
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリースTech Summit 2016
 
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でSnr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でTech Summit 2016
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
SQL+GPU+SSD=∞ (Japanese)
SQL+GPU+SSD=∞ (Japanese)SQL+GPU+SSD=∞ (Japanese)
SQL+GPU+SSD=∞ (Japanese)Kohei KaiGai
 
Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現Tech Summit 2016
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...Naoki (Neo) SATO
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu GotoInsight Technology, Inc.
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Web Services Japan
 

Similar to 20190516_DLC10_PGStrom (20)

20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0
 
20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History
 
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
 
Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリース
 
Cld017 nh シリーズリリース
Cld017 nh シリーズリリースCld017 nh シリーズリリース
Cld017 nh シリーズリリース
 
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でSnr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務で
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
SQL+GPU+SSD=∞ (Japanese)
SQL+GPU+SSD=∞ (Japanese)SQL+GPU+SSD=∞ (Japanese)
SQL+GPU+SSD=∞ (Japanese)
 
Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
 

More from Kohei KaiGai

20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_countKohei KaiGai
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_IndexKohei KaiGai
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGISKohei KaiGai
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_ProcessingKohei KaiGai
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_BetaKohei KaiGai
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGaiKohei KaiGai
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - EnglishKohei KaiGai
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigDataKohei KaiGai
 
20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA UnconferenceKohei KaiGai
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQLKohei KaiGai
 
20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multiKohei KaiGai
 
20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdwKohei KaiGai
 
20180920_DBTS_PGStrom_EN
20180920_DBTS_PGStrom_EN20180920_DBTS_PGStrom_EN
20180920_DBTS_PGStrom_ENKohei KaiGai
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JPKohei KaiGai
 

More from Kohei KaiGai (17)

20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_count
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
20181211 - PGconf.ASIA - NVMESSD&GPU for BigData
 
20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference20181210 - PGconf.ASIA Unconference
20181210 - PGconf.ASIA Unconference
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL
 
20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi20181016_pgconfeu_ssd2gpu_multi
20181016_pgconfeu_ssd2gpu_multi
 
20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw
 
20180920_DBTS_PGStrom_EN
20180920_DBTS_PGStrom_EN20180920_DBTS_PGStrom_EN
20180920_DBTS_PGStrom_EN
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP
 

20190516_DLC10_PGStrom

  • 1. Apache ArrowとSSD-to-GPU Direct SQLで作る (機械学習のための)”超高速”データ処理基盤 HeteroDB,Inc チーフアーキテクト 兼 CEO 海外 浩平 <kaigai@heterodb.com>
  • 2. HeteroDB社について Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤2 会社概要  商号 ヘテロDB株式会社  創業 2017年7月4日  拠点 品川区西大井1-1-2-206  事業内容 高速データ処理製品の販売 GPU&DB領域の技術コンサルティング ヘテロジニアスコンピューティング技術を データベース領域に適用し、 誰もが使いやすく、安価で高速なデータ解析基盤を提供する。 代表者プロフィール  海外 浩平(KaiGai Kohei)  OSS開発者コミュニティにおいて、PostgreSQLやLinux kernelの 開発に10年以上従事。主にセキュリティ・FDW等の分野で アップストリームへの貢献。  2007年 IPA未踏ソフト事業において“天才プログラマー”認定  2017年 GTC Japan 2017にてInception Award受賞
  • 3. PG-Stromとは? Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤3 GPU CPU モデル NVIDIA Tesla V100 Intel Xeon Platinum 8280 世代 Volta Cascade Lake 発表 Q2-2017 Q2-2019 トランジスタ数 21billion 8.0billion コア数 5120 (simple) 28 (functional) 動作クロック 1.280GHz ~1.380GHz 2.70GHz ~4.00GHz 理論性能値 (FP64) 7 TFLOPS 1.6TFLOPS (with AVX-512) RAMサイズ 32GB (HBM2) max 768GB (DDR4) メモリ帯域 900GB/s 140GB/s 消費電力 250W 205W 製造プロセ ス 12nm 14nm PG-Strom: GPUの持つ数百~数千コアと広帯域メモリを利用して、 SQLワークロードを高速化するPostgreSQL向け拡張モジュール App GPU off-loading  データのある場所で集計・解析処理を実行  10GB/sを越えるシングルノード性能  エンジニアにとって使い慣れた技術である事 ➔ 大量ログデータの集計・解析に最適な製品
  • 4. 想定利用シーン – IoT/M2M向けログデータ処理基盤 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤4 増え続けるログデータの管理、集計から解析・機械学習まで対応したデータ管理基盤 Manufacturing Logistics Mobile Home electronics  処理ユニットの拡張により、シングルノードで~数十TBのデータにも対応。  蓄積した生ログデータのまま、H/W限界に近い速度で集計する事が可能。  使い慣れたPostgreSQLのSQL構文、周辺アプリケーションを適用可能。 JBoF: Just Bunch of Flash NVME over Fabric (RDMA) DB管理者 BIツール
  • 5. 本日のテーマ ※NVIDIAさんの資料より引用 ここをGPUで高速化する Ready Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤5
  • 7. GPUとはどんなプロセッサなのか? Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤7 主にHPC分野で実績があり、機械学習用途で爆発的に普及 NVIDIA Tesla V100 スーパーコンピュータ (東京工業大学 TSUBAME3.0) CG(Computer Graphics) 機械学習 “計算アクセラレータ”のGPUで、どうやってI/Oを高速化するのか? シミュレーション
  • 8. 中核機能:SSD-to-GPUダイレクトSQL Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤8
  • 9. 一般的な x86_64 サーバの構成 GPUSSD CPU RAM HDD N/W Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤9
  • 10. 大量データを処理する時のデータの流れ CPU RAM SSD GPU PCIe PostgreSQL データブロック 通常のデータフロー 本来は不要なレコードであっても、 一度CPU/RAMへロードしなければ 要・不要を判断できないため、 データサイズは大きくなりがち。 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤10 一度CPU/RAMへロードしなければ、 “ゴミデータ” であってもその要否を判断できない。
  • 11. 中核機能:SSD-to-GPUダイレクトSQL CPU RAM SSD GPU PCIe PostgreSQL データブロック NVIDIA GPUDirect RDMA CPU/RAMを介することなく、 Peer-to-PeerのDMAを用いて SSD上のデータブロックを直接 GPUに転送する機能。 WHERE句 JOIN GROUP BY GPUでSQLを処理し、 データ量を削減する データ量:小 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤11
  • 12. SSD-to-GPU Direct SQL:ソフトウェアスタック Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤12 Filesystem (ext4, xfs) nvme_strom kernel module NVMe SSD NVIDIA Tesla GPU PostgreSQL pg_strom extension read(2) ioctl(2) Hardware Layer Operating System Software Layer Database Software Layer blk-mq nvme pcie nvme rdma Network HBA ファイルオフセット ➔ NVME-SSDのセクタ番号変換 NVMEoF Target (JBOF) NVMe Request ■ その他のソフトウェア コンポーネント ■ PG-Stromプロジェクトの 開発したソフトウェア ■ ハードウェア NVME over Fabric nvme_strom v2.0 で NVME-over-Fabric (RDMA) に対応
  • 13. ベンチマーク(1/2)- システム構成とワークロード Supermicro SYS-1019GP-TT CPU Xeon Gold 6126T (2.6GHz, 12C) x1 RAM 192GB (32GB DDR4-2666 x 6) GPU NVIDIA Tesla V100 (5120C, 16GB) x1 SSD Intel SSD DC P4600 (HHHL; 2.0TB) x3 (md-raid0によるストライピング構成) HDD 2.0TB(SATA; 72krpm) x6 Network 10Gb Ethernet 2ports OS Red Hat Enterprise Linux 7.6 CUDA 10.1 + NVIDIA Driver 418.40.04 DB PostgreSQL v11.2 PG-Strom v2.2devel ■ クエリ例(Q2_3) SELECT sum(lo_revenue), d_year, p_brand1 FROM lineorder, date1, part, supplier WHERE lo_orderdate = d_datekey AND lo_partkey = p_partkey AND lo_suppkey = s_suppkey AND p_category = 'MFGR#12‘ AND s_region = 'AMERICA‘ GROUP BY d_year, p_brand1 ORDER BY d_year, p_brand1; customer 1200万件 (1.6GB) date1 2500件 (400KB) part 180万件 (206MB) supplier 400万件 (528MB) lineorder 24億件 (351GB) 典型的なスタースキーマに対し、JOIN,GROUP BYを含む集計クエリを実行 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤13
  • 14. ベンチマーク(2/2)- 測定結果  クエリ実行スループット = 353GB (DBサイズ) ÷ クエリ応答時間  PostgreSQLの2.2~2.3GB/sに対して、SSD-to-GPUダイレクトSQLの効果により 7.2~7.9GB/s(3倍強)の処理性能を発揮 ➔ 従来はDWH専用機や小規模クラスタを用いていた水準の能力を1台のマシンで。 2343.7 2320.6 2315.8 2233.1 2223.9 2216.8 2167.8 2281.9 2277.6 2275.9 2172.0 2198.8 2233.3 7880.4 7924.7 7912.5 7725.8 7712.6 7827.2 7398.1 7258.0 7638.5 7750.4 7402.8 7419.6 7639.8 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Q1_1 Q1_2 Q1_3 Q2_1 Q2_2 Q2_3 Q3_1 Q3_2 Q3_3 Q3_4 Q4_1 Q4_2 Q4_3 クエリ実行スループット[MB/s] Star Schema Benchmark on 1xNVIDIA Tesla V100 + 3xIntel DC P4600 PostgreSQL 11.2 PG-Strom 2.2devel Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤14
  • 15. More faster, beyond the limitation
  • 16. 更なる高速化に向けたアプローチ Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤16 スケールアウト スケールアップ 列指向データ 複数台のPostgreSQLノードで 処理を分散させる。 各ノードにおける処理はシング ルノードと同様に、GPUとSSD による高速化が可能。 GPUやSSDの台数を増やし、 一台あたり並列処理能力を 増強する。 スケールアウトと異なり、コー ディネーターを必要としない。 ストレージ上のデータ形式を 集計・解析系処理に適した 列形式に変更し、SSDから読み 出すべきI/O量を削減する。
  • 17. データ構造を読み解く(1/2)- PostgreSQL(行データ) Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤17 テーブル セグメント 1GB単位に分割 されたファイル ブロック 通常8KBの固定長領域で、 PostgreSQLにおけるI/O単位 PageHeaderData HeapTuple-0HeapTuple-1 HeapTuple-2 ItemPointer HeapTuple Header • MVCC可視性制御情報 • 各種のフラグ情報 • 含まれる列の個数 • オブジェクトID(≦PG11) NULL Bitmap Column-1 value Column-2 value Column-4 value タプル PostgreSQLにおけるストレージ上の行 NULL値や可変長データがあると、 常に一定の場所にデータが置かれる わけではない。
  • 18. データ構造を読み解く(2/2)- Apache Arrow(列データ) Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤18 Footer Apache Arrow形式ファイル RecordBatch-2 RecordBatch-N RecordBatch-1 Schema column-1 null-bitmap column-1 values-array column-2 values-array column-3 null-bitmap column-3 offset-array column-3 extra buffer column-4 values-array SELECT sum(col2) WHERE col2 < col4; “被参照列のみロードする” 事が容易なデータ形式
  • 19. Apache Arrowとは(1/2) Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤19 ▌特徴  列指向で分析用途向けに設計されたデータ形式  アプリケーションによらず、共通のデータ交換形式として利用可能  整数、実数、日付時刻、文字列など基本的なデータ型を定義 NVIDIA GPU PostgreSQL / PG-Strom
  • 21. FDW (Foreign Data Wrapper) 機能とは Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤21  FDWモジュールは、外部データPostgreSQLの相互変換に責任を持つ。  Arrow_Fdwの場合、ファイルシステム上の Arrow 形式ファイルを Foreign Table という形で参照できるようにマップする。 ➔ 改めてデータをDBシステムにインポートする必要がない。 外部テーブル(Foreign Table)- PostgreSQL管理外のデータソースを、 あたかもテーブルであるかのように取り扱うための機能 Table 外部テーブル postgres_fdw 外部テーブル file_fdw 外部テーブル twitter_fdw 外部テーブル Arrow_fdw 外部RDBMSサーバ CSVファイル Twitter (Web API) Arrowファイル
  • 22. 《補足》ログデータはどこで生成されるのか? Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤22 ETL OLTP OLAP 伝統的なOLTP&OLAPシステム - データはDBシステムの内側で生成される Data Creation IoT/M2M時代 - データはDBシステムの外側で生成される Log processing BI Tools BI Tools Gateway Server Async Write Async Read Data Creation Many Devices Import!
  • 23. SSD-to-GPUダイレクトSQL on Arrow_Fdw Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤23 PCIe Bus NVMe SSD GPU SSD-to-GPU P2P DMA WHERE句 JOIN GROUP BY Apache Arrow データファイル Arrow_Fdw モジュール Apache Arrow ➔ PostgreSQL Heapへの データ形式変換 WHERE句 JOIN GROUP BY 被参照列だけを P2P DMAで転送 Apache Arrow形式に対応。 GPUがデータ形式を解釈し、 数千コアを用いた並列実行 実行結果は PostgreSQL の Heap形式でホスト側へ転送。 (通常、元データより小さい) 実行結果 “被参照列だけ”をGPUに転送する点を除き、同一のインフラを使用している。
  • 24. ベンチマーク結果(1/2) Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤24  クエリ実行スループット = 353GB(DB) or 310GB(ファイル) ÷ クエリ応答時間  PostgreSQLの2.2~2.3GB/sに対して、SSD-to-GPUダイレクトと列データの効果に より、15GB/s~49GB/s相当のクエリ実行スループットを実現。 ➔ シングルノードで数十TB相当のデータ処理も現実的なスコープに達してきた。 2343.7 2320.6 2315.8 2233.1 2223.9 2216.8 2167.8 2281.9 2277.6 2275.9 2172.0 2198.8 2233.3 7880.4 7924.7 7912.5 7725.8 7712.6 7827.2 7398.1 7258.0 7638.5 7750.4 7402.8 7419.6 7639.8 49038 27108 29171 28699 27876 29969 19166 20953 20890 22395 15919 15925 17061 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 Q1_1 Q1_2 Q1_3 Q2_1 Q2_2 Q2_3 Q3_1 Q3_2 Q3_3 Q3_4 Q4_1 Q4_2 Q4_3 クエリ実行スループット[MB/s] Star Schema Benchmark on 1xNVIDIA Tesla V100 + 3xIntel DC P4600 PostgreSQL 11.2 PG-Strom 2.2devel PG-Strom 2.2devel + Arrow_Fdw
  • 25. ベンチマーク結果(2/2)- 総実行時間の比較 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤25 ※ ベンチマーク結果を採取するために、SSBMの13本のクエリを各々3回ずつ実行した。 上記グラフは、その総実行時間を実行エンジンごとに集計したもの。 0 1000 2000 3000 4000 5000 6000 7000 PG-Strom v2.2devel + Arrow_Fdw PG-Strom v2.2devel PostgreSQL 11.2 総実行時間ベースでの比較 [sec] PG-Strom v2.2devel + Arrow_Fdw PG-Strom v2.2devel PostgreSQL 11.2 (かなり長めの)お昼寝並みに 時間を要していたバッチ処理を オムツ替え程度の時間で実行。
  • 26. ベンチマーク結果の検証 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤26 Foreign table "public.flineorder" Column | Type | Size --------------------+---------------+-------------------------------- lo_orderkey | numeric | 35.86GB lo_linenumber | integer | 8.96GB lo_custkey | numeric | 35.86GB lo_partkey | integer | 8.96GB lo_suppkey | numeric | 35.86GB <-- ★Q2_1で参照 lo_orderdate | integer | 8.96GB <-- ★Q2_1で参照 lo_orderpriority | character(15) | 33.61GB <-- ★Q2_1で参照 lo_shippriority | character(1) | 2.23GB lo_quantity | integer | 8.96GB lo_extendedprice | bigint | 17.93GB lo_ordertotalprice | bigint | 17.93GB lo_discount | integer | 8.96GB lo_revenue | bigint | 17.93GB lo_supplycost | bigint | 17.93GB <-- ★Q2_1で参照 lo_tax | integer | 8.96GB lo_commit_date | character(8) | 17.93GB lo_shipmode | character(10) | 22.41GB FDW options: (file '/opt/nvme/lineorder_s401.arrow') ... file size = 310GB ▌実際に読み出しているデータの合計は310GB中96.4GBのみ(31.08%) ▌Q2_1の実行時間は 11.06s なので、96.4GB / 11.06s = 8.7GB/s ➔ Intel DC P4600 x3 の読出し速度としては概ね妥当なパフォーマンス。 データ転送の性能は変わらないが、予め不要な列を読み飛ばせる事による高速化
  • 27. 100TBのデータと戦うために Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤27
  • 29. 作ってみたいシステム構成(1/2) Supermicro社 SYS-4029TRT2 x96 lane PCIe switch x96 lane PCIe switch CPU2 CPU1 QPI Gen3 x16 Gen3 x16 for each slot Gen3 x16 for each slotGen3 x16 U.2 NVME JBOF製品 NVIDIA Tesla V100 x4台 HBA HBA HBA HBA 各HBA毎に U.2 NVME SSDを4台接続 = 合計16台、最大読み出し速度 51.2GB/s スケールアップ技術と列データ処理技術を組合せ、実効処理速度 100GB/s を目指す。 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤29
  • 30. ~100TB程度の ログデータを シングルノードで 処理可能に 4ユニットの並列動作で、 100~120GB/sの 実効データ処理能力 列データ構造により ユニット毎25~30GB/sの 実効データ転送性能 作ってみたいシステム構成(2/2) QPI スケールアップ技術と列データ処理技術を組合せ、実効処理速度 100GB/s を目指す。 CPU2CPU1RAM RAM PCIe-SW PCIe-SW NVME0 NVME1 NVME2 NVME3 NVME4 NVME5 NVME6 NVME7 NVME8 NVME9 NVME10 NVME11 NVME12 NVME13 NVME14 NVME15 GPU0 GPU1 GPU2 GPU3HBA0 HBA1 HBA2 HBA3 GPU+4xSSDユニット あたり8.0~10GB/sの 物理データ転送性能 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤30
  • 31. ログデータ(時系列データ)向けパーティション設定例 ▌PostgreSQLテーブルとArrow外部テーブルの混在するパーティション設定 ▌ログデータは必ずタイムスタンプを含んでおり、更新がない。 ➔ 古くなったデータは Arrow 外部テーブルへ移す事で高速化。 logdata_201812 logdata_201901 logdata_201902 logdata_current logdataテーブル (PARTITION BY timestamp) 2019-03-21 12:34:56 dev_id: 2345 signal: 12.4 タイムスタンプ 付きログデータ PostgreSQLテーブル 行データ構造 読み書き可能だが低速 Arrow外部テーブル 列データ構造 読込み専用だが高速 検索条件にタイムスタンプを含む場合、 明らかに該当しない子テーブルは読み飛ばす。 例) WHERE timestamp > ‘2019-01-23’ AND device_id = 456 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤31
  • 32. ログデータ(時系列データ)向けパーティション設定例 ▌PostgreSQLテーブルとArrow外部テーブルの混在するパーティション設定 ▌ログデータは必ずタイムスタンプを含んでおり、更新がない。 ➔ 古くなったデータは Arrow 外部テーブルへ移す事で高速化。 logdata_201812 logdata_201901 logdata_201902 logdata_current logdataテーブル (PARTITION BY timestamp) 2019-03-21 12:34:56 dev_id: 2345 signal: 12.4 タイムスタンプ 付きログデータ logdata_201812 logdata_201901 logdata_201902 logdata_201903 logdata_current logdataテーブル (PARTITION BY timestamp) 一ヶ月 経過 2019年3月分の データを抽出 Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤32
  • 33. 想定利用シーン – IoT/M2M向けログデータ処理 + 異常検知など Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤33 増え続けるログデータの管理、集計から解析・機械学習まで対応したデータ管理基盤 Manufacturing Logistics Mobile Home electronics JBoF: Just Bunch of Flash NVME over Fabric (RDMA) DB管理者 BIツール 共通データフレーム NVIDIA RAPIDS 異常検知など 機械学習アプリケーション
  • 34. まとめ ▌サマリ  PG-Strom: GPUを使ってI/O中心の大量データ処理を高速化する  中核機能はSSD-to-GPU ダイレクトSQL  Arrow_Fdw: 列指向のApache ArrowファイルをPostgreSQLにマッピング ➔SSD-to-GPUダイレクトSQLと組合せ、 ▌適用領域  IoT/M2M系大量ログデータの解析 ✓ 製造業:製造ラインのセンサーデータ集計、異常検知 ✓ 通信業:パケットログから攻撃パターンの抽出、など ▌リソース  https://github.com/heterodb/pg-strom  メール: kaigai@heterodb.com  Twitter: @kkaigai Deep Learning Community #10 - Apache ArrowとSSD-to-GPU Direct SQLで作る "超高速" データ処理基盤34