ブログ@nnaka2992

データベースってなんだよ

YugabyteDBのドキュメントを全部読む Day5

前回からつづいてYugabyteDBのドキュメントを読んでいきます。

前回はArchitecture > Key Concepts > YB-Master serviceを読みました。 今回はArchitecture > Core functions > Universe creationを読みます。

ドキュメントのバージョンは最新のv2.19 previewです。 また画像は同ドキュメントより引用しています。

Universe creation

YugabyteDBのユニバース作成は複数のステップを含む。

Start YB-Masters

YBユニバース作成の最初のステップはレプリケーションファクターで指定された数だけYB-Masterを作成することである。 作成されたYB-Masterはそれぞれを認識している。

YB-Masterはユニバース内でユニークなID(UUID)をそれぞれに割り当て、それぞれを認識しあったあとにリーダーエレクションを実行する。

このステップの終りにYB-Masterの中のひとつがリーダーとして確立される。

Start YB-TServers

ノードの数だけYB-TServerを起動し、それぞれにマスターのアドレスを渡す。

それぞれのYB-TServerはマスターにハートビートを送信し、正常に動作していることを確認する。

ハートビートはYB-TServerが現在ホストしているタブレットとその負荷情報についても通信するが、この時点ではタブレットにデータは登録されていない。

Examples

4ノードからなるYBユニバースにテーブルを作成する場合について考える。テーブルのレプリケーションファクターは3とする。

  1. 3つのマスターがcreateモードで起動される。これはマスターがすでに起動しているために発生するエラーを防ぐために明示的に実行される。 create_universe_masters
  2. リーダーエレクションを実行し、リーダーを選出する。 create_universe_master_election
  3. YB-TServerが起動し、全てのYB-TServerがマスターにハートビートを送信する。 create_universe_tserver_heartbeat