CDNレイヤでDBのコネクションプーリングとクエリキャッシュを提供。世界中どこからのDBアクセスでも高速化する「Hyperdrive」、Cloudflareが提供

今回は「CDNレイヤでDBのコネクションプーリングとクエリキャッシュを提供。世界中どこからのDBアクセスでも高速化する「Hyperdrive」、Cloudflareが提供」についてご紹介します。

関連ワード (動作、北米、通信等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Cloudflareは、グローバルなCDNレイヤでデータベースのコネクションプーリングとクエリのキャッシュを提供することによりデータベースへのアクセスを高速化する新サービス「Hyperdrive」のオープンベータを開始したと発表しました。

Want to make the existing regional database in your legacy cloud provider much, much faster? We've just launched Hyperdrive, which dramatically speeds up queries you make to databases you already have from Cloudflare Workers. https://t.co/0engeFePUP #BirthdayWeek

— Cloudflare (@Cloudflare) September 28, 2023

データベースが遠ければアプリは遅くなってしまう

Cloudflareは、CDNのエッジでアプリケーションを実行する「Cloudflare Workers」を提供しています。Cloudflare Workersはユーザーの近くにあるCDNエッジで動作することで、高速なレスポンスを可能にしています。

しかし一般的にアプリケーションのバックエンドにはMySQLやPostgreSQLといったデータベースが稼働しており、アプリケーションから頻繁にアクセスされます。

もしもこのデータベースが北米のデータセンターで稼働している場合、欧州やアジアやアフリカからアクセスするユーザーはどうなるでしょうか?

欧州やアジアやアフリカからアクセスするユーザーは、自分の近くにあるCDNエッジで稼働するCloudflare Workersにアクセスできるものの、そのCloudflare Workersは太平洋や大西洋を越えて北米にあるバックエンドデータベースにアクセスすることになります。

すると、結局は海を越えて遠い距離を何度も往復する通信が発生してしまい、その待ち時間が発生することでユーザーへのレスポンスが遅くなってしまいます。

せっかくCloudflare Workersをユーザーの近くで提供できたとしても、データベースまでの距離が遠ければそのメリットを十分に発揮できないのです。

データベースはそのままで世界中からのアクセスを高速化する

この問題を本質的に解決するには、データベースそのものも分散化し、ユーザーの近くで実行できるようにすることです。

CloudflareはそのためにCDNエッジで稼働するSQLiteベースの分散データベース「Cloudflare D1」を開発中です。

参考:Cloudflare、分散SQLiteデータベース「Cloudflare D1」のオープンベータを開始

しかし大容量のデータの保持、高性能なトランザクション処理の実現といったことを実現しようとすると、まだしばらくはMySQLやPostgreSQLといった従来のリレーショナルデータベースを選択することが合理的な判断になるでしょう。

そこで従来のデータベースを使いつつ、世界中に分散したCDNエッジからのアクセスを高速化するための技術が必要になってきます。

それを実現するために登場したのが、今回発表されたHyperdriveなのです。

CDNレイヤでコネクションプールとクエリキャッシュを提供

Hyperdriveは2つの機能を提供することで、世界中のCDNエッジからのデータベースアクセスを高速化します。

1つはデータベースへのコネクションプールをグローバルなCDNのレイヤで共有する機能です。

アプリケーションからデータベースへのクエリは、まずデータベースへのコネクションを確立する処理から始まります。

このコネクション処理は時間のかかる重い処理であることが知られているため、ミドルウェアであらかじめデータベースとのコネクションを何本も保持しておき、アプリケーションからのコネクション要求にはそのコネクションを使い回すことでコネクション処理を省略する、「コネクションプーリング」という有名なテクニックがあります。

HyperdriveはこのコネクションプーリングをグローバルなCDNレイヤで実現することで、どのCDNエッジからでも、高速にデータベースへのコネクションを確立できるわけです。

Hyperdriveが提供するもう1つの機能は、よく使われる読み取りクエリを自動的にキャッシュする機能です。

ユーザーがクエリを実行する場所の近くにクエリの結果をキャッシュすることで、レスポンスを劇的に高速化できると説明されています。

この2つの機能により、世界中のCDNエッジからのデータベースアクセスが高速化されるわけです。

ほとんどのケースで大幅に高速に

Cloudflareは実際にHyperdriveを用いて動作するデモを公開しています。下記がその結果の画面です。

濃いグレイのマーカーが、データベースへの直接接続とクエリにかかった時間を示し、オレンジのマーカーがHyperdrive経由での接続とクエリにかかった時間を示しています。

fig

Hyperdrive経由での接続の方が遅いケースもありますが、ほとんどのケースでHyperdrive経由での接続は圧倒的に高速になっており、実際に効果があることが分かります。

PostgreSQLに対応し、今後MySQLへの対応なども

Hyperdriveは現時点でPostgreSQLに対応しています。これはGoogle CloudのCloud SQL for PostgreSQLやAlloyDB for PostgreSQL、CockroachDBなどPostgreSQL互換のデータベース対応も含まれています。

今後はMySQLを含む多くのデータベースへの対応、書き込み処理のキャッシュなどさらなる高速化、プライベートネットワークへの対応などにも取り組むとしています。

Hyperdriveの正式リリースは2024年初頭の予定と発表されています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「バーチャル本社」プラットフォームのGatherがSequoiaなどから約28億円調達
ネットサービス
2021-03-14 12:44
研究予算・指導方針・就職先など全国の研究室情報と口コミを検索できる「研究室サーチ by LabBase」ベータ版が公開
ネットサービス
2021-07-03 07:17
「学習者に合った教育プログラムを展開したい」–AWSが投資するクラウド人材育成
IT関連
2024-01-06 10:49
ランサムウェア攻撃で日本関連の情報暴露は35件–パロアルトネットワークス調べ
IT関連
2024-03-09 04:03
主要なSaaSをまとめて抽象化し、SQLでデータを取得可能にするクラウドサービス「CData Connect」[PR]
CData
2022-05-23 03:31
Apple、Apple MusicでDolby Atmosとロスレスオーディオ配信を開始
IT関連
2021-06-09 18:26
第11回(最終回):連載のふりかえり、アジャイルのこれから
IT関連
2023-11-08 16:18
Apple、児童保護目的でユーザーの「メッセージ」とiCloudの「写真」の画像検出を実施へ
アプリ・Web
2021-08-08 21:31
FBIが新たに「ランサムウェアの爆発的増加」に対応する暗号資産犯罪ユニット立ち上げ
IT関連
2022-02-20 08:44
EC商品のリモート写真・動画撮影を容易にするSoonaがシリーズAで約11.1億円を調達
ネットサービス
2021-04-20 19:19
中国の検索大手BaiduがEV製造ベンチャー設立へ
モビリティ
2021-01-12 02:12
「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能
Java
2023-09-20 04:33
マイクロソフト、「Office」アプリを「Microsoft 365」ブランドで提供へ
IT関連
2022-10-15 01:07
ロシア、国内でのフェイスブックへのアクセスを部分的に制限すると発表
IT関連
2022-02-27 15:33