DBチューニングサービス

Database Tuning Service

PostgreSQLの内部構造に精通したエンジニアがお客様ワークロードを分析し、性能低下の原因を特定。効果、費用、期間等の観点から、問題ワークロードを高速化する最適な方法をご提案します。

Step-1: ワークロードの分析と診断、対策のご提案

  • お客様のワークロードを分析し、問題となっているクエリがどのような原因で性能低下を引き起こしているのか診断します。
  • 分析結果に基づき、効果、費用、期間等の観点から、問題ワークロードを高速化する最適な方法をご提案します。

Step-2: PostgreSQLパラメータやシステム設定の修正によるチューニング

  • 個別クエリの最適化の前に、お客様ワークロードにとって適切なPostgreSQLの設定パラメータや、ストレージを中心としたOS設定の修正をご提案します。
  • これらが遠因となって非効率なクエリ実行計画が生成されたり、CPUやI/Oの稼働率が極端に低いといった状況が起こり得るため、システムの規模や特性に応じたリーズナブルな設定が必要です。

Step-3: データ構造の改善やクエリの書き換えによるチューニング

  • クエリの書き換えやデータ構造の修正など、根本的なデータベースチューニングを行います。
  • 特にバッチ系や解析系の処理では、クエリ最適化が十分でなく不適切な実行計画が生成された場合に、本来の実行速度よりも100倍、10000倍といった水準で遅くなってしまう事も珍しくありません。

ユーザ事例

数TB規模のDBを運用しているA社ではバッチ系処理のスローダウンが問題となり、Oracle社ExadataやAWS社RedShiftなど高速DWH製品の導入を検討し、その一つとしてPG-Stromにもお声がけいただきました。 しかしよくよく話を聞いたところ、どうやらDBシステムの実行性能というよりも、適切でないデータ構造や非効率なクエリ実行計画が原因と考えられるケースであったため、DBチューニングサービスのご利用を提案。 結果、一週間程度のワークロード分析により、インデックスの絞り込み性能の不良や、不適切なクエリ実行計画が明らかになりました。最終的には、PostgreSQL v11のパーティション機能の適用と個別クエリのチューニングにより、ハイエンドDB製品の導入どころか、逆にインスタンスサイズの縮小を検討できる水準にまでDBシステム全体の高速化を実現することができました。

R&D支援サービス

  • 弊社の得意領域である、PostgreSQLデータベース、Linuxオペレーティングシステム、GPUコンピューティング(NVIDIA、CUDA C)、およびその周辺領域における研究開発をお手伝いします。

R&D Support Service

ユーザ事例

高速データ処理製品を開発しているY社では、CPUを介さないデバイス~GPU間のデータ転送システムの開発に NVIDIA GPUDirect RDMA の利用を検討しており、すでにPG-StromのSSD-to-GPU Direct SQL機能の開発で当該技術領域の経験が豊富であった弊社にお声がけをいただきました。 プロジェクトにおいては、主としてLinux kernel moduleの開発に際して、GPUDirect RDMAを利用する際の注意点や性能を引き出すためのヒント、トラブルシューティングにおいて技術的見地からの助言を行い、結果、本プロジェクトでは2ヶ月で目標性能を達成することができました。

GPUソフトウェア開発

  • GPUやCUDA C、並列コンピューティングに精通したエンジニアが、GPU向けソフトウェアの開発をご支援します。
  • お客様ワークロードの特性によっては、PG-Stromのデータフレーム機能を利用して、SQLによる柔軟なデータ処理とGPUによる大規模並列処理の組み合わせソリューションも提案が可能です。

研究事例 - 創薬ワークロードの高速化

創薬研究を行っているC社との共同研究により、類似化合物探索のワークロードをGPU向けに実装し直し、分割統治と共有メモリ上でのtop-k導出処理を中心としたアルゴリズムの変更により、最大で100倍もの処理性能を実現しました。

PL/CUDA for Drug Discovery

PL/CUDA - In-database massive parallel analytics (GTC2017)