顿叠性能の基础 DB性能高速化入門 ?基礎から列指向、GPU活用まで? 宮原 徹
- 3. 自己紹介
? 本名:宮原 徹
? 1972年1月 神奈川県生まれ
? 1994年3月 中央大学法学部法律学科卒業
? 1994年4月 日本オラクル株式会社入社
– PCサーバ向けRDBMS製品マーケティングに従事
– Linux版Oracle8の日本市場向け出荷に貢献
? 2000年3月 株式会社デジタルデザイン 東京支社長および株
式会社アクアリウムコンピューター 代表取締役社長に就任
– 2000年6月 (株)デジタルデザイン、ナスダック?ジャパン上場(4764)
? 2001年1月 株式会社びぎねっと 設立
? 2006年12月 日本仮想化技術株式会社 設立
? 2008年10月 IPA「日本OSS貢献者賞」受賞
? 2009年10月 日中韓OSSアワード 「特別貢献賞」受賞
3
- 4. 日本仮想化技術株式会社 概要
? 社名:日本仮想化技術株式会社
– 英語名:VirtualTech Japan Inc.
– 略称:日本仮想化技術/VTJ
? 設立:2006年12月
? 資本金:3,000万円
? 売上高:1億8100万円(2022年7月期)
? 本社:東京都渋谷区渋谷1-8-1
? 取締役:宮原 徹(代表取締役社長兼CEO)
? 伊藤 宏通(取締役CTO)
? スタッフ:11名(うち8名が仮想化技術専門エンジニアです)
? URL:http://VirtualTech.jp/
? 仮想化技術に関する研究および開発
– 仮想化技術に関する各種調査
– 仮想化技術を導入したシステムの構築?運用サポート
– 5G活用のためのインフラ?サービス研究開発
– DevOps支援サービスの提供
– GPUを活用した超高速データ分析基盤「爆速DB」の提供
ベンダーニュートラルな
独立系仮想化技術の
エキスパート集団
4
- 7. DBの検索性能を決定する要素
? データの読み込み
? 検索処理
? 集計その他の演算処理
? 本資料はビッグデータ処理などを想定した検
索処理のみを取り上げています
? DBMS(DataBase Management System)という
ブラックボックスをSQLなどで操作する観点で
解説しており、DBMSの実装によって詳細が
異なる場合があります
- 8. データの読み込み
? データはストレージからメモリに読み込んで処理
? ストレージの読み込み速度とは
– ストレージ自体の速度
– 接続経路の速度
? ストレージ自体の速度
– IOPSや読み書き速度(○MB/秒)などで表される
– HDDならプラッターサイズや回転速度が影響
– SSDならシリコンやコントローラー速度が影響
? 接続経路の速度
– SATAやSAS、NVMe(PCI Expressバス直結)
– SATA(6Gbps)<SAS(12Gbps)<NVMe(64Gbps) ※
? NVMeはPCIe 4.0のx4レーンを想定
※理論値であり、プロトコルオーバーヘッドなどで実速度は低下します
データ メインメモリ CPU
- 9. 接続種類 帯域 主な用途
SATA 6Gbps 一般的なPC
SAS 12Gbps
サーバー
専用ストレージ
NVMe
64Gbps
(PCI-Express 4.0)
最近のPC
ストレージの接続経路と速度
- 16. ID NAME DEPT
1 山田一郎 営業部
2 岡本太郎 開発部
3 宮原徹 サポート部
4 小川夕子 企画部
SELECT NAME FROM EMP
WHERE ID=3
ID列に対する
インデックス
検索
インデックスにより
行を特定
インデックスを使った高速化
- 17. DATE QTY
2024-01-01 10
2024-01-02 20
…… ……
DATE QTY
2024-02-01 15
2024-02-02 8
…… ……
DATE QTY
2024-03-01 12
2024-03-02 9
…… ……
SELECT QTY FROM STOCK
WHERE DATE BETWEEN ‘2024-02-01’AND ‘2024-02-29’
日付範囲の条件に含まれるパーティション表だけを検索
※日付型のデータ指定方法は環境によって異なります
パーティショニング
- 27. Apache Arrowによる読込の最適化
? Apache Arrow形式はカラム(列)指向のデー
タフォーマット
– インメモリデータベースに向いている
? あらかじめ集計などを行う列を抽出してデー
タファイル化
– 読込量を減らして高速処理
? 更新はできないので検索処理のみに使用
– OLTP系DBならテーブルからArrow形式に変換
? Fluentdの出力をArrow形式で保存
– IoTなどのシステム