YouTubeがMySQLをスケールアウトする「Vitess」をオープンソースで公開。Kubernetesに対応

2015年3月23日

YouTubeは、同社内で膨大な動画の視聴データやメタデータなどを管理するためのデータベースツール「Vitess」をオープンソースで公開しました

Vitess

Google Cloud Platformのブログに投稿された記事「Scaling MySQL in the cloud with Vitess and Kubernetes」で、Vitessは次のように説明されています。

At YouTube, we went on that journey as we scaled our MySQL deployment, which today handles the metadata for billions of daily video views and 300 hours of new video uploads per minute. To do this, we developed the Vitess platform, which addresses scaling challenges while hiding the associated complexity from the application layer.

YouTubeには、MySQLをスケールさせてきた長い歴史があり、現在では1日あたり数十億もの動画視聴や1分ごとに300時間もアップロードされる動画のメタデータなどを扱わなければならなくなっている。そのために私たちはVitessプラットフォームを開発した。これはスケーリングの課題を解決し、同時にアプリケーションレイヤーからはその複雑さを隠蔽するものだ。

シャーディング機構内蔵、自動マスターフェイルオーバーなど

VitessのWebサイトによると、主な特長は次の通り。

  • MySQLのコネクションに掛かるメモリオーバーヘッドを排除
  • アプリケーションでのシャーディングロジック不要でデータベースを拡大
  • シャーディング機構内蔵
  • 最小の読み取りダウンタイムでライブにリシャーディング
  • データベース性能に問題を起こしそうなクエリを自動書き換え
  • プロキシサーバでキャッシュ機構を用いることで、クエリの調停や重複するクエリの排除
  • etcdやZookeeperのようなロックサーバによって、サーバ群の追跡や管理を行う
  • マスターフェイルオーバー、バックアップなどの自動化でダウンタイムを最小化

VitessはDockerコンテナのクラスタ環境を運用管理できるKubernetes環境で実行可能となっており、容易にスケールアウトできるとのことです。

クラウドでMySQLスケールアウトが一般化するか

スケールアウトするMySQLといえば、昨年11月にAmazonクラウドが発表した「Amazon Aurora」が思い出されます。今回のVitessも、Google Container EngineとKubernetesで容易に試せると説明されており、今後Googleが提供するサービスになるのではないかという予感もさせます。

以前からMySQLをスケールアウトさせるツールはいくつも存在していましたが、これからはそれがクラウドサービスとして一般的になっていく、という動きにつながるかもしれません。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本