- TiDBについて
- クイックスタート
- 発展させる
- 概要
- クイックスタート
- TiDB CloudでTiDBクラスターを構築する(DevTier)
- TiDBのCRUDSQL
- TiDBを使用してシンプルなCRUDアプリを構築する
- アプリケーション例
- TiDBに接続する
- データベーススキーマの設計
- データの書き込み
- データの読み取り
- 取引
- 最適化
- トラブルシューティング
- 参照
- デプロイ
- 移行する
- 管理
- 監視と警告
- トラブルシューティング
- TiDBトラブルシューティングマップ
- 遅いクエリを特定する
- 遅いクエリを分析する
- SQL診断
- Top SQLを使用して高価なクエリを特定する
- ログを使用して高価なクエリを特定する
- ステートメント要約表
- ホットスポットの問題のトラブルシューティング
- 読み取りと書き込みの待ち時間の増加のトラブルシューティング
- クラスタのオンサイト情報を保存および復元する
- クラスタセットアップのトラブルシューティング
- 高いディスクI/O使用量のトラブルシューティング
- ロックの競合のトラブルシューティング
- TiFlashのトラブルシューティング
- 楽観的なトランザクションでの書き込みの競合のトラブルシューティング
- データとインデックス間の不整合のトラブルシューティング
- 性能チューニング
- チューニングガイド
- Configuration / コンフィグレーションの調整
- システムチューニング
- ソフトウェアのチューニング
- SQLチューニング
- チュートリアル
- TiDBツール
- 概要
- ユースケース
- ダウンロード
- TiUP
- ドキュメントマップ
- 概要
- 用語と概念
- TiUPコンポーネントを管理する
- FAQ
- トラブルシューティングガイド
- コマンドリファレンス
- 概要
- TiUPコマンド
- TiUPクラスターコマンド
- 概要
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUPDMコマンド
- 概要
- tiup dm audit
- tiup dm deploy
- tiup dm destroy
- tiup dm disable
- tiup dm display
- tiup dm edit-config
- tiup dm enable
- tiup dm help
- tiup dm import
- tiup dm list
- tiup dm patch
- tiup dm prune
- tiup dm reload
- tiup dm replay
- tiup dm restart
- tiup dm scale-in
- tiup dm scale-out
- tiup dm start
- tiup dm stop
- tiup dm template
- tiup dm upgrade
- TiDBクラスタートポロジリファレンス
- DMクラスタートポロジリファレンス
- ミラーリファレンスガイド
- TiUPコンポーネント
- PingCAPクリニック診断サービス(テクニカルプレビュー)
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDBデータ移行
- TiDBデータ移行について
- クイックスタート
- DMクラスタをデプロイする
- チュートリアル
- 高度なチュートリアル
- シャーディングされたテーブルからのデータのマージと移行
- GH-ost/PT-oscを使用するMySQLデータベースからの移行
- より多くの列を持つダウンストリームTiDBテーブルにデータを移行する
- 管理
- 参照
- 例
- トラブルシューティング
- リリースノート
- バックアップと復元(BR)
- TiDB Binlog
- TiCDC
- Dumpling
- sync-diff-inspector
- TiSpark
- 参照
- クラスターアーキテクチャ
- 主要な監視指標
- セキュリティ
- 権限
- SQL
- SQL言語の構造と構文
- SQLステートメント
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- データ型
- 関数と演算子
- クラスター化インデックス
- 制約
- 生成された列
- SQLモード
- テーブル属性
- トランザクション
- ガベージコレクション(GC)
- ビュー
- パーティショニング
- 一時テーブル
- キャッシュされたテーブル
- 文字セットと照合
- SQLの配置ルール
- システムテーブル
mysql
- INFORMATION_SCHEMA
- 概要
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- TiDBダッシュボード
- 概要
- 管理
- アクセス
- 概要ページ
- クラスター情報ページ
- Top SQLページ
- キービジュアライザーページ
- メトリクス関係グラフ
- SQLステートメント分析
- 遅いクエリページ
- クラスター診断
- 検索ログページ
- インスタンスプロファイリング
- セッションの管理とConfiguration / コンフィグレーション
- FAQ
- CLI
- コマンドラインフラグ
- Configuration / コンフィグレーションファイルのパラメーター
- システム変数
- ストレージエンジン
- テレメトリー
- エラーコード
- テーブルフィルター
- トポロジラベルによるレプリカのスケジュール
- よくある質問
- リリースノート
- すべてのリリース
- リリースタイムライン
- TiDBバージョニング
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 用語集
用語集
A
酸
ACIDは、トランザクションの4つの主要なプロパティである、アトミック性、一貫性、分離、および耐久性を指します。これらの各プロパティについて、以下で説明します。
原子性とは、操作のすべての変更が実行されるか、実行されないことを意味します。 TiDBは、トランザクションの原子性を実現するために、主キーを格納する領域の原子性を保証します。
一貫性とは、トランザクションが常にデータベースをある一貫性のある状態から別の状態に移行することを意味します。 TiDBでは、データをメモリに書き込む前にデータの整合性が確保されます。
分離とは、処理中のトランザクションが完了するまで他のトランザクションから見えないことを意味します。これにより、同時トランザクションは一貫性を犠牲にすることなくデータの読み取りと書き込みを行うことができます。 TiDBは現在、分離レベル
REPEATABLE READ
をサポートしています。耐久性とは、トランザクションがコミットされると、システム障害が発生した場合でもコミットされたままになることを意味します。 TiKVは永続ストレージを使用して耐久性を確保します。
B
テーブルのバッチ作成
バッチ作成テーブルは、TiDBv6.0.0で導入された機能です。この機能はデフォルトで有効になっています。 BR(バックアップと復元)を使用して多数のテーブル(約50000)のデータを復元する場合、この機能はテーブルをバッチで作成することにより、復元プロセスを大幅に高速化できます。詳細については、 テーブルのバッチ作成を参照してください。
ベースラインキャプチャ
Baseline Capturingは、キャプチャ条件を満たすクエリをキャプチャし、それらのバインディングを作成します。 アップグレード中の実行計画のリグレッションの防止に使用されます。
バケツ
領域は、バケットと呼ばれるいくつかの小さな範囲に論理的に分割されます。 TiKVはバケットごとにクエリ統計を収集し、バケットのステータスをPDに報告します。詳細については、 バケット設計ドキュメントを参照してください。
C
キャッシュされたテーブル
キャッシュテーブル機能を使用すると、TiDBはテーブル全体のデータをTiDBサーバーのメモリにロードし、TiDBはTiKVにアクセスせずにメモリからテーブルデータを直接取得するため、読み取りパフォーマンスが向上します。
継続的なプロファイリング
TiDB 5.3.0で導入された継続的プロファイリングは、システムコールレベルでリソースのオーバーヘッドを監視する方法です。継続的プロファイリングのサポートにより、TiDBは、データベースのソースコードを直接調べるのと同じくらい明確なパフォーマンスの洞察を提供し、研究開発および運用および保守担当者がフレームグラフを使用してパフォーマンスの問題の根本原因を特定するのに役立ちます。詳細については、 TiDBダッシュボードインスタンスプロファイリング-継続的なプロファイリングを参照してください。
D
動的剪定
動的プローニングモードは、TiDBがパーティションテーブルにアクセスするモードの1つです。動的プルーニングモードでは、各オペレーターは複数のパーティションへの直接アクセスをサポートします。したがって、TiDBはUnionを使用しなくなりました。ユニオン操作を省略すると、実行効率が向上し、ユニオン同時実行の問題を回避できます。
私
インデックスマージ
インデックスマージは、テーブルにアクセスするためにTiDBv4.0で導入されたメソッドです。このメソッドを使用すると、TiDBオプティマイザーはテーブルごとに複数のインデックスを使用し、各インデックスによって返された結果をマージできます。一部のシナリオでは、このメソッドは全表スキャンを回避することでクエリをより効率的にします。 v5.4以降、インデックスマージはGA機能になりました。
インメモリペシミスティックロック
インメモリペシミスティックロックは、TiDBv6.0.0で導入された新機能です。この機能を有効にすると、ペシミスティックロックは通常、リージョンリーダーのメモリにのみ保存され、ディスクに永続化されたり、Raftを介して他のレプリカに複製されたりすることはありません。この機能により、ペシミスティックロックを取得するオーバーヘッドを大幅に削減し、ペシミスティックトランザクションのスループットを向上させることができます。
L
リーダー/フォロワー/学習者
リーダー/フォロワー/学習者はそれぞれ、 仲間のラフトグループの役割に対応します。リーダーはすべてのクライアント要求を処理し、フォロワーにデータを複製します。グループリーダーが失敗した場合、フォロワーの1人が新しいリーダーとして選出されます。学習者は投票権のないフォロワーであり、レプリカの追加プロセスでのみ機能します。
O
古い値
TiCDCによって出力された増分変更ログの「元の値」。 TiCDCによって出力される増分変更ログに「元の値」が含まれるかどうかを指定できます。
オペレーター
オペレーターは、スケジューリングの目的でリージョンに適用されるアクションのコレクションです。オペレーターは、「リージョン2のリーダーをストア5に移行する」、「リージョン2のレプリカをストア1、4、5に移行する」などのスケジューリングタスクを実行します。
演算子は、 スケジューラーで計算および生成することも、外部APIで作成することもできます。
オペレーターステップ
オペレーターステップは、オペレーターの実行におけるステップです。通常、オペレーターには複数のオペレーターステップが含まれます。
現在、PDによって生成される利用可能なステップは次のとおりです。
TransferLeader
:指定されたメンバーにリーダーシップを移しますAddPeer
:指定されたストアにピアを追加しますRemovePeer
:リージョンのピアを削除しますAddLearner
:指定されたストアに学習者を追加しますPromoteLearner
:指定された学習者を投票メンバーに昇格させますSplitRegion
:指定したリージョンを2つに分割します
P
保留中/ダウン
「保留中」と「ダウン」は、ピアの2つの特別な状態です。保留中は、フォロワーまたは学習者のRaftログがリーダーのそれとは大きく異なることを示します。保留中のフォロワーをリーダーとして選出することはできません。 「ダウン」とは、ピアがリーダーへの応答を長時間停止する状態を指します。これは通常、対応するノードがダウンしているか、ネットワークから分離されていることを意味します。
述語列
ほとんどの場合、SQLステートメントを実行するとき、オプティマイザーは一部の列( WHERE
、およびJOIN
GROUP BY
の列など)の統計のみを使用しORDER BY
。これらの使用される列は、述語列と呼ばれます。詳細については、 一部の列の統計を収集するを参照してください。
Q
クォータリミッター
クォータリミッターは、TiDBv6.0.0で導入された実験的機能です。 TiKVがデプロイされているマシンのリソースが限られている場合(たとえば、4vCPUと16Gメモリのみ)、TiKVのフォアグラウンドが処理する読み取りおよび書き込み要求が多すぎる場合、バックグラウンドで使用されるCPUリソースは、そのような処理を支援するために占有されます。 TiKVのパフォーマンスの安定性に影響を与えるリクエスト。この状況を回避するために、フォアグラウンドで使用されるCPUリソースを制限するようにクォータ関連の構成項目を設定できます。
R
Raft Engine
Raft Engineは、ログ構造設計の組み込み永続ストレージエンジンです。これは、TiKVがマルチラフトログを保存するために構築されています。 v5.4以降、TiDBはログストレージエンジンとしてRaft Engineの使用をサポートしています(実験的機能、デフォルトでは無効になっています)。詳細については、 Raft Engineを参照してください。
地域/ピア/いかだグループ
リージョンは、TiKVの最小のデータストレージであり、それぞれがデータの範囲(デフォルトでは96 MiB)を表します。各リージョンには、デフォルトで3つのレプリカがあります。リージョンのレプリカはピアと呼ばれます。同じリージョンの複数のピアは、Raftコンセンサスアルゴリズムを介してデータを複製するため、ピアはRaftインスタンスのメンバーでもあります。 TiKVはマルチラフトを使用してデータを管理します。つまり、リージョンごとに、対応する孤立したRaftグループがあります。
リージョン分割
リージョンは、データの書き込みが増えるにつれて生成されます。分割のプロセスは、リージョン分割と呼ばれます。
リージョン分割のメカニズムは、1つの初期リージョンを使用してキースペース全体をカバーし、リージョンのサイズまたはキーの数がしきい値に達するたびに既存のリージョンを分割して新しいリージョンを生成することです。
戻す
復元は、バックアップ操作の逆です。これは、準備されたバックアップからデータを取得することにより、システムを以前の状態に戻すプロセスです。
S
スケジューラー
スケジューラは、スケジューリングタスクを生成するPDのコンポーネントです。 PDの各スケジューラーは独立して実行され、さまざまな目的を果たします。一般的に使用されるスケジューラーは次のとおりです。
balance-leader-scheduler
:リーダーの分布のバランスをとるbalance-region-scheduler
:ピアの分散のバランスを取りますhot-region-scheduler
:暑い地域の分布のバランスをとるevict-leader-{store-id}
:ノードのすべてのリーダーを削除します(多くの場合、ローリングアップグレードに使用されます)
店
ストアとは、TiKVクラスタのストレージノード( tikv-server
のインスタンス)を指します。各ストアには、対応するTiKVインスタンスがあります。
T
Top SQL
Top SQLは、指定された時間範囲でTiDBまたはTiKVノードの高負荷に寄与するSQLクエリを見つけるのに役立ちます。詳細については、 Top SQLユーザードキュメントを参照してください。
TSO
TiKVは分散ストレージシステムであるため、単調に増加するタイムスタンプを割り当てるには、グローバルタイミングサービスであるTimestamp Oracle(TSO)が必要です。 TiKVでは、このような機能はPDによって提供され、Google スパナでは、この機能は複数の原子時計とGPSによって提供されます。