LoginSignup
0
1

More than 1 year has passed since last update.

MySQL vs. TiDB-分散トランザクションの比較検証(5): TiDBの基本

Last updated at Posted at 2022-05-05
[前回] MySQL vs. TiDB-分散トランザクションの比較検証(4):MySQL内部XA

はじめに

MySQLの検証が長編となってしまったので、TiDBも取り上げてみます。

TiDB(タイディービー)とは

WikipediaのTiDB定義から、

  • オープンソースのNewSQLデータベース
  • MySQLと互換性あり
  • 水平方向のスケーラビリティ、強力な一貫性、高可用性を提供
  • ハイブリッドのトランザクションと分析処理のワークロードをサポート

TiDBのアーキテクチャー

image.png

※ 引用元: PingCAP社のTiDB Architecture

コンポーネント

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

  • 外部からのSQLリクエスト(MySQLプロトコル)を受け付ける
  • スケールアウト可能
  • SQL解析、最適化、分散実行計画の生成

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

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

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

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

TiKVサーバー
  • データ保存用で、分散キーバリューストアエンジン
  • データ保存単位はRegion
  • 一つのTiKVノードに複数存在
  • 分離レベルは、スナップショット分離をサポート
    • TiDBがSQLレベルで分散トランザクションをサポート可能な要因がこれだそうです
  • TiKVに格納されたデータは、複数レプリカにより自動メンテされる
    • デフォルトはレプリカ三つ
  • ネイティブの高可用性を持ち、自動フェールオーバー可能
TiFlashサーバー
  • データを列指向(カラムナー)で保存
  • 特殊ストレージで、主に分析処理を加速するため使用

おわりに

一旦、TiDBのアーキテクチャと用語を抑えておきました。
次回は、いろいろ検証してみたいと思います、お楽しみに。

[次回] MySQL vs. TiDB-分散トランザクションの比較検証(6): TiDBクラスタの導入
0
1
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
1