Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゆるSRE勉強会 #6 LT

Kaoru
June 06, 2024

ゆるSRE勉強会 #6 LT

Kaoru

June 06, 2024
Tweet

More Decks by Kaoru

Other Decks in Technology

Transcript

  1. ©2024 Voicy, Inc. 1. TiDBとは
 • PingCAP社が開発したオープンソースの NewSQLデータベース
 • MySQLとの互換性(5.7

    / 8.0 相当)
 • 水平方向への拡張性と高可用性
 • ベクトル検索が最近実装された

  2. ©2024 Voicy, Inc. 1. TiDBとは
 • TiDBの主な特徴
 ◦ MySQL互換性: 既存のMySQLアプリケーションやツールをそのま

    ま利用可能
 ◦ 水平スケーラビリティ: ノードを追加することで、データ容量と処理 能力を容易に拡張可能
 ◦ 高可用性: データを複数のノードに分散し、障害発生時にもサー ビス継続が可能
 ◦ HTAP (Hybrid Transactional and Analytical Processing): トランザ クション処理と分析処理を同じデータベース上で実行可能
 ◦ クラウドネイティブ: Kubernetesなどのクラウド環境での運用に最 適化

  3. ©2024 Voicy, Inc. 1. TiDBとは
 • TiDB
 ◦ SQLレイヤーを担当するステートレスなコンポーネ ント


    ◦ MySQL互換のプロトコルとSQL構文をサポートして おり、既存のMySQLアプリケーションやツールをそ のまま利用可能
 ◦ クエリの実行計画を最適化し、TiKVやTiflashにクエ リを分散実行する
 ◦ トランザクション管理、ACID特性の保証も行う

  4. ©2024 Voicy, Inc. 1. TiDBとは
 • TiKV
 ◦ データの保存とレプリケーションを担当する分散 Key-Valueストア


    ◦ Raftコンセンサスアルゴリズムを用いてデータの整 合性を保証し、高可用性を実現
 ◦ データは複数のノードに分散して保存され、任意の ノードで読み書きが可能
 ◦ スケーラビリティが高く、ノードを追加することで容 易に容量を拡張可能

  5. ©2024 Voicy, Inc. 1. TiDBとは
 TiKV1 TiKV2 TiKV3 Store1 Store1

    Store2 Store2 Store3 Store3 1a 1c 1d • TiKV

  6. ©2024 Voicy, Inc. 1. TiDBとは
 • TiFlash
 ◦ TiDBの拡張コンポーネントで、カラムナーストレー ジを採用した分析処理エンジン


    ◦ 大規模なデータセットに対する複雑な分析クエリを 高速に実行可能
 ◦ TiKVと連携して動作し、リアルタイムの分析処理を 実現
 ◦ TiDBと同じSQLインターフェースを使用するため、 分析クエリとトランザクション処理をシームレスに連 携可能

  7. ©2024 Voicy, Inc. 1. TiDBとは
 • PD(Placement Driver)
 ◦ TiDBクラスター全体の管理とスケジューリングを担

    当するコンポーネント
 ◦ TiKVのデータ分散、レプリカ配置、負荷分散などを 自動的に行う
 ◦ TiDBクラスターの全体的な状態を監視し、障害発 生時には自動的にリカバリーを行う
 ◦ スケーラビリティが高く、TiDBクラスターの規模に応 じてPDノードを追加可能

  8. ©2024 Voicy, Inc. 3. Pros & Cons
 • Pros
 ◦

    スケール台数制限とかはない
 ◦ Writerが限定されない
 ◦ MySQL互換なので、ほぼそのまま動く
 ◦ AZ分散が自動的にされる
 ◦ 導入サポートは充実

  9. ©2024 Voicy, Inc. 3. Pros & Cons
 • Cons
 ◦

    TiKVのスケールは3台1セット
 ◦ Auroraで問題ないクエリーがTiDBでは重かっ たりする
 ◦ TiDBが意外にメモリを喰う(クエリ次第)
 ◦ リソース制限には気をつけよう
 ◦ Explainの表示はかなり違う
 ◦ オートスケールほしい