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?

【セッションレポート】「”TiDB” をKubernetesで動かしてみよう!2025年最新版」に参加しました

Posted at

はじめに

本記事は Open Source Conference 2025 Day2(2025/2/22)において PingCAP株式会社 Executive Technical Advisor 長谷川誠氏 が講演された「”TiDB” をKubernetesで動かしてみよう!2025年最新版」のレポートです。

公式セッション紹介

TiDBは水平方向のスケーラビリティと強力な一貫性、そしてMySQLとの互換性による高い可用性を備えた、クラウドネイティブ思考で設計されたOSSの分散型SQLデータベースプラットフォームです。
Kubernetesとの相性も大変良く、運用者はコストをかけずに構築・運用することが可能です。
本セッションではTiDB Operatorを使用してTiDBをKubernetes上に展開する方法や運用する際のポイントをご紹介いたします。

(引用:「TiDB」をKubernetesで動かしてみよう! 2025年最新版

発表資料

※2025/2/23時点では未公開

概要/おすすめポイント

TiDBのメリット・デメリットやk8s上で利用するためのTIPSがちりばめられていたので、最近流行のTiDBに興味がある方や k8s 上でデータベースを動かすことに興味ある方は確認されてみてはと思いました。

セッション内容の紹介

PingCAP社の紹介

TiDBの開発元。
TiDBで利用している TiKV、Chaos Mesh を オープンソースとしてCNCFへ寄贈。
2021年4月に 日本法人が設立されている。

TiDBの紹介

TiDBはHTAPをサポートするオープンソースのNewSQLで、MySQLとの互換性がある。
次の三つの形態で利用が可能。

  • TiDB Cloud(フルマネージド)
    • 一部無償での利用も可能
  • TiDB Self Managed(自己管理)
    • k8s上での利用もサポートされる
  • TiDB Community(コミュニティ版、無償)
    • サポートはない
TiDBの特徴
  • Horizontal Scalability(水平拡張)
  • MySQL Compatible Syntax(MySQL 互換)
  • Distributed Transactions(分散トランザクション)
  • Cloud Native(クラウドネイティブ志向)
    • 複数のコンポーネントからできており、それぞれが独立しているためクラウド環境、k8sと親和性が高い
  • Minimize ETL(OLTP と OLAPのサポート)
    • TiFlashというコンポーネントを動かすことで分析が可能、分析用のデータベースにデータを移す必要がない
  • High Availability(高可用性)
    • コンポーネントはそれぞれ冗長化が可能
    • 自動的に負荷分散が行われる
TiDBの苦手な点
  • データが分散配置されているためネットワークレイテンシがかかる(環境にもよるが数msecは難しい)
    • キャッシュを利用するなど、システムとして対策
  • データが3重化されているためストレージコストがかかる
  • ストアドプロシージャやトリガー、UDFには未対応
TiDBの運用管理
  • TiUPという構築・運用管理ツールがある(https://github.com/pingcap/tiup)
    • yamlを読み込ませることで自動構築が可能
      • ssh での接続が必要になる
    • TiUPではベンチマークやデモデータの登録が可能

TiUPは仮想・物理サーバにのみ対応、k8sには未対応となる。

k8sでのTiDB

TiDB Operatorを利用することで k8s 上での管理が可能、TiDB Operator は k8s 上で動くコントローラー、次のコマンドのように kubectl にyaml(k8sのカスタムリソースTidbClusterで定義)を読み込ませることでTiUPと同じような構築が可能に。

TiDB Operator
$ kubectl apply -f tidb_cluster.yaml
TiDB Operatorの利用TIPS
  • 各コンポートネントがバラけるようにAffinity/AntiAffinityの適切な設定が必要
    • 設定が複雑なので tidb-scheduler を利用することで自動的に設定が可能
  • クラウドのゾーン分散などもtidb-schedulerで定義が可能
  • Advanced StatefulSetを利用することで欠番などを利用した分散が可能に
    • 別途インストールが必要
  • バックアップ・リカバリもOperatorの設定で実施が可能
    • クラウドのオブジェクトストレージなどもバックアップ先として指定が可能

セッションまとめ

  • TiDBはHTAPワークロードをサポートするオープンソースのNewSQLデータベース
  • MySQLとの互換性、水平方向のスケーラビリティ、強力な一貫性、および高可用性を持っている

TiDB Monitorを利用することで個別にPrometheusやGrafanaを設定することなくダッシュボードの確認が可能となる。

まとめ・感想

TiDB自体はだいぶ紹介事例も積み重ねられてきており、先日のデブサミでも mixi2 の事例 が、昨年のGoogle Cloud Nextでは menu の事例 が紹介されていました。
今回は事例紹介ではなく、基本的な話から k8s での運用・構築に向けての話でしたので、利用に向けて最初に確認しておくような形でも良いかもしれません。

2025/3(?)にTiDBの運用管理本が出るみたいなので、興味ある方は是非チェックしてみましょう!

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?