データベースシステムのパフォーマンスを測る最も重要な指標は、QPS/TPS(Query Per Second/Transaction Per Second)とRT(Response Time)です。前者は1秒間に完了するリクエスト数を指し、後者は1つのリクエストが完了するまでの時間を指します。QPS/TPSの向上は、単一サーバーのリソースを最大限に活用し、コストパフォーマンスを向上させるとともに、データベースサーバーのTCO(Total Cost of Ownership)を削減することができます。RTの短縮は、上流のアプリケーションシステムのQPSを向上させ、応答速度とユーザーエクスペリエンスを改善するだけでなく、データベースシステムのQPS/TPSをさらに向上させることができます。
いわゆるパフォーマンスチューニングとは、QPS/TPSを向上させ、RTを短縮する技術を指します。パフォーマンスチューニングは通常、3つのステップに分かれています:最適化の方向性の特定 -> ボトルネックの特定 -> 最適化策の検討。パフォーマンスチューニングは体系的な作業であり、ハードウェア、オペレーティングシステム、ソフトウェアなどの技術スタックに関わり、カーネルの原理とチューニングツールを熟知している必要があります。
OceanBaseは分散型データベースであり、前の章では高い拡張性や高可用性などの特徴について紹介しました。本章では高性能の領域に焦点を当て、OceanBaseのパフォーマンスチューニング技術について説明します。