データベースシステムのパフォーマンスを測る最も重要な指標は、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のパフォーマンスチューニング技術について紹介します。