PG-Stromとは?
爆速Webinar#01 - 地理情報を爆速で処理するPG-Strom の新機能3
【機能】
集計/解析ワークロードの透過的なGPU高速化
SQLからGPUプログラムを自動生成し並列実行
SSD-to-GPU Direct SQLによるPCIeバスレベルの最適化
GPUメモリにデータを常駐。OLTPワークロードとの共存
一部PostGIS関数のサポート。位置情報分析を高速化
PG-Strom: GPUとNVME/PMEMの能力を最大限に引き出し、
テラバイト級のデータを高速処理するPostgreSQL向け拡張モジュール
App
GPU
off-loading
for IoT/Big-Data
for ML/Analytics
➢ SSD-to-GPU Direct SQL
➢ Columnar Store (Arrow_Fdw)
➢ GPU Memory Store (Gstore_Fdw)
➢ Asymmetric Partition-wise
JOIN/GROUP BY
➢ BRIN-Index Support
➢ NVME-over-Fabric Support
➢ Inter-process Data Frame
for Python scripts
➢ Procedural Language for
GPU native code (w/ cuPy)
➢ PostGIS Support
NEW
NEW
4.
ログ収集デーモン:
ターゲット:IoT/M2Mログの集計・解析処理
爆速Webinar#01 - 地理情報を爆速で処理するPG-Strom の新機能4
Manufacturing Logistics Mobile Home electronics
なぜPostgreSQLか?
シングルノードで処理できるならそっちの方が運用が楽
エンジニアが慣れ親しんが技術で、運用ノウハウの蓄積が豊富
JBoF: Just Bunch of Flash
NVME-over-Fabric
(RDMA)
DB管理者
BIツール(可視化)
機械学習アプリケーション
(E.g, 異常検知など)
共通データ
フレーム PG-Strom
トランザクションの対応
SAVEPOINT, ROLLBACKTO SAVEPOINT も使用可能
トランザクション分離レベルは Read-Committed のみ
他の GPU-DB では(INSERT/UPDATE/DELETE対応していても)非対応
✓ OmniSCI, Kinetica, SQreamDB, Brytlyt のドキュメントを調査
GPU-DBでは珍しく、トランザクションのRollbackにも対応
=# BEGIN;
BEGIN;
=# INSERT INTO ft VALUES (9999999, random(), random(), 'this is test record');
INSERT 0 1
postgres=# SELECT * FROM ft WHERE id > 9000000;
id | x | y | z
---------+--------------------+--------------------+---------------------
9999999 | 0.4181428498515025 | 0.5861937164356661 | this is test record
(1 row)
postgres=# ABORT;
ROLLBACK
postgres=# SELECT * FROM ft WHERE id > 9000000;
id | x | y | z
----+---+---+---
(0 rows)
爆速Webinar#01 - 地理情報を爆速で処理する PG-Strom の新機能34