グーグルのクラウドを支えるテクノロジー > 第88回 Googleのアプリケーション環境を支えるシャーディングシステム「Slicer」(パ

2020年8月31日 14:40

※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。
また、編集部はこの内容について正確性を保証できません。

CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第88回 Googleのアプリケーション環境を支えるシャーディングシステム「Slicer」(パート1)」を公開しました。

###

はじめに
 今回からは、2016年に公開された論文「Slicer: Auto-Sharding for Datacenter Applications」を元にして、Googleが提供するアプリケーションのバックエンドで利用されている「シャーディングシステム」について解説します。以前はアプリケーションごとに個別の仕組みを作り込んでいましたが、効率のよいシャーディングシステムを開発するのはそれほど簡単ではありません。そこで、複数のアプリケーションから利用できる共有型のシャーディングシステムとして、「Slicer」が開発されました。現在では、Speech Recognition(音声認識)やCloud DNSなど、さまざまなサービスのバックエンドとして、1秒あたり200万〜700万リクエストを処理するシステムになっているそうです。

シャーディングシステムのユースケース
 ここで説明するシャーディングシステムは、クライアントからのアクセスを複数のアプリケーションサーバーに分配するロードバランサーの機能拡張にあたります。なお、Googleの環境では、アプリケーションサーバーの機能は、コンテナ管理システムであるBorgの「タスク」として稼働します。これ以降は、アプリケーションサーバーの代わりに「タスク」という用語を使用します。
 たとえば、先ほど挙げた音声認識サービスの場合は、さまざまな言語に対応する必要があり、各タスクは、言語ごとに専用のモジュールをメモリにロードします。ただし、メモリの使用量を最適化するために、すべてのモジュールを同時にロードするのではなく、タスクごとに異なるモジュールをロードしておき、英語のリクエストは、英語のモジュールをロードしたタスクにルーティングするといった処理を行います。仮に、英語のモジュールをロードしていないタスクに英語のリクエストが来た場合、リクエストを処理する前に(既存のモジュールを破棄して)英語のモジュールをロードしなおす処理が必要になり、リクエストに対する応答時間が長くなります。

この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai288.html

この記事のキーワード

この記事をシェアしてほしいパン!

人気記事トップ10

人気記事ランキングをもっと見る

今日の用語

ダークパターン
「ダークパターン」(Dark Pattern)は、ユーザーを騙したり勘違いさせたりして判断を誤らせるUIのこと。インターネットでは悪質なサイトや広告、サービス解除の手順などで見受けられる。 たとえば「残り○個!のような表示だが、実際には数値は変わらない」「押しにくい場所にボタンを配置して押させない」「逆にまったく押す気がないのに、勘違いするようなデザインや配置でボタンを押させる」「特定個所を 用語集 を見てみる