Facebook、新しいMySQL用ストレージエンジン「MyRocks」をオープンソースで公開。フラッシュに適したデータの書き込みと圧縮効果

2016年9月2日

FacebookはMySQL用の新しいストレージエンジン「MyRocks」をオープンソースで公開しました。同社のエンジニアである松信嘉範(Yoshinori Matsunobu)氏がFacebookのブログに投稿した記事「MyRocks: A space- and write-optimized MySQL database」で紹介しています。

MyRocks: A space- and write-optimized MySQL database | Engineering Blog | Facebook Code | Facebook

MySQLのデータベースエンジンとして使われているInnoDBは優れているものの、フラッシュストレージと組み合わせたときに書き込まれるデータ量の効率性などに課題があったため、MyRocksに取り組んだと説明されています。

InnoDB is great for performance and reliability, but there are some inefficiencies on space and write amplification with flash. To help optimize for more storage efficiency, we decided to investigate an alternative space- and write-optimized database technology.

InnoDBは性能や信頼性の面で優れていましたが、フラッシュストレージにおけるデータ量や書き込みの面で非効率なところがありました。ストレージ効率をより最適なものにしようと、私たちはデータ量と書き込みの最適化に取り組もうと決心しました。

MyRocksは、同社が2013年にキーバリューストアとして公開したRocksDBをMySQLに統合させたものを基盤としています。

同じデータの書き込みに対して、MyRocksはInnoDBのデータベース圧縮機能よりもさらに小さいデータ容量を実現でき、また実際に書き込むデータも小さくなるため、コストあたりの容量に制限があり、しかも書き込みに対する耐久性に対して課題を抱えているフラッシュストレージの利用に対して、より適した仕組みになっているとのことです。

以下はデータベースサイズのグラフ。一番上の青い線がInnoDB、二番目の緑の線が圧縮機能を用いたInnoDBで、三番目の黄色い線がMyRocksの圧縮を用いたもの(「MyRocks: A space- and write-optimized MySQL database」から引用)。おおよそInnoDBの圧縮のさらに半分程度になっていることが分かります。

fig

次のグラフは、書き込みされるデータ量の比較です(ログを除く)。MyRocksが圧倒的に小さいことが分かります。

fig

Facebookは現在、ユーザーデータベースティアにおいてInnoDBからMyRocksへの移行を行っているところだそうです。ただし、MyRocksはInnoDBを全面的に置き換えることを意図したものではなく、それぞれ異なるユースケースがあることが強調されています。

It is important to note that we are not planning to migrate all existing InnoDB databases to MyRocks. InnoDB is a long-standing standard MySQL storage engine and has many different use cases.

これは重要なことだが、既存のInnoDBを全部MyRocksにマイグレートする計画はない。InnoDBは長きにわたってMySQLの標準的なストレージエンジンであり、異なるユースケースがあるのだ。

あわせて読みたい

MySQL RDB データベース Facebook




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本