このページの本文へ

AWS re:Inventで披露されたデータベースの革新

AuroraはServerlessからLimitlessへ 量子チップのR&Dも披露

2023年11月29日 11時00分更新

文● 大谷イビサ 編集●ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

フェイルオーバー不要なAurota Serverlessはどう実現されたのか?

 Auroraのローンチにより、サーバーレスには近づいた。しかし、「真のサーバーレスにはほど遠い」とデサントス氏は指摘する。書き込み用のメモリ容量を増やすために、フェイルオーバーが必要だからだ。そこでリリースされたのがAurora Serverlessになる。これにより、フェイルオーバーが不要になり、伸縮可能になる。では、どうやってAurora Serverlessを実現したのか。

 従来のリレーショナルデータベースでは、大型の物理サーバーを用意し、メモリが足りなければ、OSに要求していた。もちろん、無駄は多いが、共有すれば、複雑性は増してしまう。そのため、AWSはNitroのハイパーバイザー内でセキュアに共有を行なう。

 Nitroハイパーバイザーでは静的にメモリが割り当てられているので、安定したパフォーマンスを確保できる。他のハイパーバイザーの影響も受けない。だが、もっとメモリが必要になった場合は、ホスト側にメモリがあっても、ハイパーバイザーを再起動しなければならない。これだと当然フェイルオーバーと変わらない。こうしたジレンマを解決すべく、新たに開発されたのが「Caspian」という新しいハイパーバイザーレイヤーだ。Caspianにより、Aurora Serverlessはミリ秒単位でサイズを変更でき、共用型オーバーサブスクリプションという技術を用いて、負荷を変えることが可能になる。

Caspianを用いた動的なリソース割り当て

 Caspianはハイパーバイザー、ヒートマネジメントプランニングシステム、そしてデータベースの変更エンジンという複数のコンポーネントから構成されている。Caspianインスタンスはホスト上の最大メモリを確保しているが、Nitroと異なり、データベースのリクエストに合わせて、容量を動的に割り当てる。

 これを実現するのが、仮想マシンのリソースを管理するCaspianのヒートマネジメントプランニングシステムだ。データベースがどれだけメモリを必要としているかをつねにモニターし、メモリが枯渇したら、別の物理ホストにインスタンスを立ち上げる。高速・低遅延なNitro環境だからこそできる芸当だ。こうした一連のメカニズムにより、ハイパーバイザーのアロケーション(隔離)機能を確保しつつ、データベースに必要なメモリを確保し、かつ共有することが可能になるわけだ。

データベースの分散シャーディングでAuroraが真のサーバーレスへ

 しかし、サーバーレスへの道程はゴールにたどり着かない。なぜならまだ物理サーバーのリソースに制約を受けているからだ。これを解決する方法として目を付けたのが、データベースのシャーディングになる。

 シャーディングはデータベースのサブセットを複数のホストに分散させる方法だ。データのパーティショニニングを行ない、頻繁にアクセスするデータはローカルにホストすることで、拡張性を高める。しかし、複数のデータベースに分散されるため、ルーティングとオーケストレーションを独自に開発しなければならない。シャードの拡大にも限界があるし、複数のシャードでトランザクションを確保するのも難しい。「サーバーレスでシャーディングするのはどういうことか? われわれは自問自答した」とデサントス氏は語る。

 こうした試行錯誤の結果、今回発表されたのが「Aurora Serverless Limitless Database」になる。各シャードは自動的に管理・アップデートされ、アプリからは1つのエンドポイントから扱える。また、複数のシャードに対して分散してクエリをかけるため、パフォーマンスも向上。新たに開発したルーティングとオーケストレーションにより、各シャードのスキーマを理解し、分散したトランザクションでの一貫性確保、スケールアップ、新規のパーティション作成などもバックエンドで実行する。

発表された「Aurora Serverless Limitless Database」

 そして、データベースが分散した環境でシャーディングを実現するための鍵は時刻同期だ。単一サーバーの場合、統一されたシーケンス番号で処理の順番を管理できるが、Aurora Serverless Limitless Databaseではタイムスタンプを用いて、シーケンスを管理している。しかし、ネットワークの遅延があるため、ローカルとリモートではどうしても時刻のずれが生じてしまう。小さいネットワークであればあまり困難のない時刻同期も、グローバル環境にデータベースが分散している場合は、ばらつきが生じてしまう。

 そのためカスタムの最新Nitroチップに時刻同期の仕組みを盛り込んだ。そして、世界のどこでも正確な時刻を提供する衛星を用いた原子時計、時刻同期のみを行なうASIC、そして専用ネットワークを用いて、すべてのEC2インスタンスと正確な時刻同期を図る。これは「Amazon Time Sync Service」としてサービス化されており、ユーザーも分散型トランザクションを効率的に実現できる。

時刻同期のためのインフラ

 デサントス氏は、レイテンシを低減し、サービスのコストを下げるキャッシュについても言及した。Amazon Elastic CacheはMemcashedやRedisのようなキャッシングサービスをマネージドサービス化したものだ。ただ、従来はメモリを確保するためのサーバーに依存するため、サーバーレスではなかった。今回はサーバーレスのキャッシュサービス「Amazon ElastiCache Serverless」が新たに発表され、インフラやキャパシティの管理も不要になった。これを実現可能にしたのも、前述したCaspianを用いたシャーディング技術のおかげだ。遅延は平均0.5ミリ秒を実現し、最大5TBまでの容量をサポートするという。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    トピックス

    “持たない家電”ランキング、もはや定番のアレがやっぱり1位なような

  2. 2位

    トピックス

    思い切った慶應義塾 全教職員にNotion導入で168年分の知的資産をAIに食わせるプロジェクトが始動

  3. 3位

    ビジネス

    管理職こそ大事にしないとまずくないか? 約4割が「続けたい、と答えない」現実

  4. 4位

    TECH

    訓練だとわかっていても「緊張で脇汗をかいた」 LINEヤフー、初のランサムウェア訓練からの学び

  5. 5位

    トピックス

    インバウンドの頑張りランキングベスト3は「大分県」「岐阜県」「佐賀県」 努力が光る結果に

  6. 6位

    データセンター

    液冷技術の最先端が集うイノベーションラボ「DRIL」、印西のデータセンターに現わる

  7. 7位

    トピックス

    リモートワークは福利厚生なの? ITエンジニアが本当に欲しい福利厚生第1位となる

  8. 8位

    ビジネス

    ランチ抜きが22%!? 物価高で「水筒・コンビニ控え」が定着する中、なぜか「推し活・美容費」だけは死守するオフィスワーカーたち

  9. 9位

    TECH

    身代金要求攻撃の被害額は「1社平均6.4億円」 それでも6割超が「支払いを否定しきれない」苦境

  10. 10位

    ビジネス

    廃校がAIの心臓部に!? 地方の遊休施設を「AIデータセンター」に生まれ変わらせるハイレゾの挑戦がアツいぞ

集計期間:
2026年04月14日~2026年04月20日
  • 角川アスキー総合研究所