【ヴァイテス】

Vitess とは?

公開:
💡 MySQLを束ねて、何億行でも怖くない分散データベースの指揮者
📌 このページのポイント
Vitess — MySQLの水平スケーリング アプリ Vitess ルーター / プロキシ MySQL Shard 1 MySQL Shard 2 MySQL Shard 3 SQL 自動 振り分け アプリはMySQLと同じSQLを送るだけ。Vitessが裏でシャードに分散する
Vitessがルーターとなり複数MySQLへ透過的にシャーディングするイメージ
ひよこ ひよこ
ペンギン先生、VitessってMySQLと何が違うの?
ペンギン先生 ペンギン先生
MySQLはそのままだと1台でしか動かせないけど、Vitessを間に挟むと複数台に自動で分散させてくれるんだよ。アプリ側はMySQLと同じ感覚で使えるのが便利なんだ。
ひよこ ひよこ
じゃあYouTubeの動画データもVitessで管理してるの?
ペンギン先生 ペンギン先生
そうだよ。YouTubeがMySQL1台では捌ききれなくなったときに開発したのがVitessなんだ。今はCNCFという団体に寄贈されてオープンソースになっているよ。
ひよこ ひよこ
シャーディングって自動でやってくれるの?それって難しそうなんだけど…
ペンギン先生 ペンギン先生
Vitessがルーターとして動いて、どのデータをどのMySQLサーバーに置くかを管理してくれるんだよ。アプリ側はSQLを普通に投げるだけで、裏の振り分けはVitessが全部やってくれるんだ。
ひよこ ひよこ
他にも使っている会社はあるの?
ペンギン先生 ペンギン先生
GitHub・Shopify・PlanetScaleなど名だたる企業が採用しているよ。PlanetScaleはVitessをサービス化したものなんだ。
ひよこ ひよこ
CNCFの卒業プロジェクトってどういう意味なんだろう?
ペンギン先生 ペンギン先生
CNCF(Cloud Native Computing Foundation)はKubernetesなどを管理する団体で、「卒業」は成熟して本番利用に十分信頼できると認められたレベルなんだよ。Kubernetesと同格の太鼓判だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Vitess」って出てきたら「MySQLを大規模分散させるミドルウェア」と思えればだいたいOK!
📖 おまけ:英語の意味
「Vitess」 = 速さ(フランス語 vitesse 由来の造語)
💬 フランス語で「速度」を意味するvitesseからとった名前で、MySQLを高速・大規模に扱う意図を込めているんだよ
← 用語集にもどる