0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TiDB 検証ライフ(2-製品構成を理解)

Last updated at Posted at 2021-12-03

検証前に基本アーキテクチャーの理解から

分散データベース、NewSQL、可用性、柔軟性、伸縮性。。。
TiDBを表現するこれらのキーワードを並べても、ピント来ませんね。

知りたいのは、可用性ならMySQL Clusterなどあるのに、なぜTiDB?

TiDBのアーキテクチャー

image.png

※ PingCAP社のドキュメントから引用(https://docs.pingcap.com/tidb/stable/tidb-architecture)

いくつかコンポーネントから構成されているようです。

TiDBクラスタを構成するTiDBサーバ

外部からのSQLリクエスト(MySQLプロトコル)を受け付ける部品で、スケールアウト可能。
SQL解析、最適化、分散実行計画の生成をここでやっているイメージか。

PD(Placement Driver)クラスタを構成するPDサーバ

ここが司令塔のようで、メタデータを管理し、クラスタ全般(TiDBクラスタ、Storageクラスタなど)を司っている。
PDサーバは可用性を持ち、少なくとも3ノード必要、ノード数は奇数が良い(Apache Zookeeperの匂いが)

Storageクラスタを構成するStorageサーバ

2種類のサーバがあるようです。

TiKVサーバ

データ保存用で、分散キーバリューストアエンジン。
データ保存単位はRegionで、一つのTiKVノードに複数存在する。
分離レベルは、スナップショット分離をサポートし、これがTiDBがSQLレベルで分散トランザクションをサポート可能な要因となる。
TiKVに格納されたデータは、複数レプリカにより自動メンテされる(デフォルトはレプリカ三つ)。
ネイティブの高可用性を持ち、自動フェールオーバーも可能か。

TiFlashサーバ

特殊ストレージで、データを列指向(カラムナー)で保存し、主に分析処理を加速するために使用される。

終わりに

一旦、アーキテクチャと用語は抑えておきました。
各コンポーネントの機能と特徴もなんとなく理解できました。

次回は検証に入りたいと思います、お楽しみに。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?