Data API builderがストアドプロシージャキャッシュに対応、APIパフォーマンスが大幅に向上

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Data API builderがストアドプロシージャのキャッシュに対応
  • Level 1キャッシュで頻繁なクエリと低速変更データを保存
  • キャッシュ設定はグローバルレベルとエンティティ単位で可能

Data API builder 1.4のストアドプロシージャキャッシュ機能

Data API builder(DAB)は、2025年2月3日にストアドプロシージャのLevel 1キャッシュサポートを発表した。この機能追加により、APIレイヤーで頻繁なクエリや低速変更データをメモリに保存し、データベースクエリの回数を削減することが可能になった。[1]

設定ファイルでは、グローバルレベルとエンティティ単位の両方でキャッシュを構成できるようになっており、Time-to-Live(TTL)設定はグローバルな共有デフォルトとして設定するか、各エンティティに個別に設定することが可能だ。コマンドラインインターフェース(CLI)でもランタイム構成のキャッシュ設定をサポートしている。

DABキャッシュは成熟したオープンソースライブラリであるFusionCacheを採用しており、RESTエンドポイントとOpenAPIをサポートしている。ただし、GraphQLに関しては動的なスキーマ生成と深くネストされたリゾルバーの使用により、現時点ではキャッシュ機能をサポートしていない。

Data API builderのキャッシュ機能まとめ

項目 詳細
キャッシュレベル Level 1(インメモリキャッシュ)
対象機能 テーブル、ビュー、ストアドプロシージャ
設定方法 グローバル設定とエンティティ単位の設定が可能
デフォルトTTL 5秒(カスタマイズ可能)
サポート対象 RESTエンドポイント、OpenAPI(GraphQLは非対応)
Data API builderの詳細はこちら

FusionCacheについて

FusionCacheとは、エンタープライズアプリケーションで広く使用されている成熟したオープンソースのキャッシュライブラリで、主な特徴として以下のような点が挙げられる。

  • インメモリキャッシュとして高速なデータアクセスを実現
  • Level 1およびLevel 2キャッシュのサポート
  • 柔軟なTTL設定とキャッシュ制御機能

Data API builderはFusionCacheを採用することで、エンタープライズグレードのキャッシュ機能を実現している。将来的にはFusionCacheの特性を活かし、Redisを活用したLevel 2キャッシュのサポートも計画されており、さらなるスケーラビリティの向上が期待できる。

Data API builderのストアドプロシージャキャッシュに関する考察

Data API builderがLevel 1キャッシュでストアドプロシージャをサポートしたことは、APIのパフォーマンス最適化において重要な進展といえる。頻繁に実行される長時間のプロシージャ呼び出しを最小限に抑えることで、同時実行可能な呼び出し数を劇的に増加させることが可能になった。

キャッシュ戦略の導入により、データベースの負荷を軽減しながらユーザー待ち時間を大幅に短縮できることが実証されている。ただし、キャッシュされたデータの鮮度とパフォーマンスのバランスを取るために、適切なTTL設定の検討が必要になるだろう。

今後はLevel 2キャッシュの導入によって、より大規模なデータセットにも対応可能になることが期待される。FusionCacheの採用は将来の拡張性を見据えた選択であり、エンタープライズアプリケーションにおけるData API builderの価値をさらに高めることになるだろう。

参考サイト

  1. ^ Microsoft Visual Studio. 「Stored Procedure Caching in Data API builder Now Supported - Azure SQL Devs’ Corner」. https://devblogs.microsoft.com/azure-sql/procedure-caching-in-data-api-builder-now-supported/, (参照 25-02-04).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
アーカイブ一覧
プログラミングに関する人気タグ
プログラミングに関するカテゴリ
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。