バージョンアップ情報
Vitess情報
Vitessとは
Vitess(ヴィテス)は、オープンソースデータベースの大規模クラスターを配備、スケーリング、管理するための分散データベースソリューションです。VitessはYouTubeの開発チームにより、MySQLのスケーラビリティの課題を解決するために2010年に開発されました。その後、Googleによりオープンソースとして公開され、2019年11月にはCNCFプロジェクトの8番目の卒業プロジェクトとなりました。今後さらなる利用や発展が期待されるオープンソースです。
現状は、バックエンドのオープンソースデータベースとしては、MySQLとPercona Server for MySQLだけがサポートされます。ローカル環境でも動作させることが可能ですが、基本的にはパブリックまたはプライベートクラウドで効果的に動作するように設計されています。
Vitessを利用すれば、以下のような問題を解決できます。
- アプリケーションの変更を最小限にしながら、データベースのシャーディングやスケーリングが可能
- ベアメタルやVMからプライベート/パブリッククラウドへの移行
- 大量のデータベースインスタンスの配備と管理
YouTubeでは5年以上にわたり、データベースとして利用された実績もあり、現在も多くの企業がVitessを採用しています。
Vitessのアーキテクチャは以下の通りです。
それぞれのコンポーネントの役割は以下の通りです。
コンポーネント |
役割 |
---|---|
VTGate |
アプリケーションからのトラフィックを正しいVTTabletにルーティングし、統合された結果を返す軽量プロキシサーバーです。MySQLプロトコルとVitess gRPCプロトコルの両方に対応しています。 |
Tablet |
mysqldプロセスと同じマシン上で、vttabletプロセスとして実行され、各タブレットがタイプに応じた役割をこなします。タブレットタイプとしては、primary、replica、rdonly、 backup、restore、drainedがあります。 |
Topologyサービス |
Topologyサービスは様々なサーバーで実行されるバックエンドプロセス(メタデータストア)の1つです。各種Topologyデータの格納および、分散ロックサービスを提供します。 |
vtctl |
Vitessクラスター管理で使用されるコマンドラインツール。 |
vtctld |
Topologyサービスに保存されている情報を参照できるようにするためのHTTPサーバー。トラブルシューティングや、サーバーの現在の状態を把握するのに利用されます。 |
主な特徴
パフォーマンス |
|
---|---|
保護 |
|
モニタリング |
|
構成管理ツール |
|
シャーディング |
|
類似プロダクト
類似の機能を持つOSSとしては以下のものがあります。
- MySQL Community Server、Router、Shell
- Percona XtraDB Cluster
動作環境
ローカル環境にインストールする場合は、以下の方法がガイドされています。
- Docker経由のローカルインストール
- 手動コマンド(Ubuntu系/Debian系/Yum系)によるローカルインストール
- Homebrew経由のローカルインストール
- Macのソース経由のローカルインストール
クラウド環境では、Kubernetes上に、Vitess Operatorを利用して配備することが可能です。最新版では、以下のKubernetesバージョンが推奨されます。(Vitessや、Vitess Operatorのバージョンにも依存します)
- Kubernetesバージョン: v1.22.*, v1.23.*, v1.24.* ,v1.25.*
Vitessのライセンス
Vitessは、Apache2.0ライセンスです。Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
PostgreSQL
ポストグレエスキューエル。多くのOS・プラットフォームで稼動するオープンソースのリレーションナルデータベース管理システムです。
-
サポート対象
MySQL
マイエスキューエル。多くのOS・プラットフォームで稼動するオープンソースのリレーションナルデータベース管理システム