TiDBの実験的機能

この文書では、TiDBのさまざまなバージョンにおける実験的機能を紹介する。これらの機能を本番環境で使用することは推奨しない。

パフォーマンス

  • PREDICATE COLUMNS統計の収集をサポート(v5.4で導入)
  • 統計の同期ロードをサポート(v5.4で導入)
  • 統計収集のためのメモリクォータ制御(v6.1.0で導入)
  • 統計を素早く作成するため、約10,000行のデータをランダムにサンプリング(v3.0で導入)

安定性

  • オプティマイザーが選択するインデックスの安定性を向上させる。複数列の順序依存情報を収集することで、統計機能を拡張する(v5.0で導入)。
  • TiKVが限られたリソースでデプロイされている場合、TiKVのフォアグラウンドで処理する読み書きリクエストが多すぎると、バックグラウンドでこれらのリクエストを処理するために使用されるCPUリソースが占有され、TiKVの性能安定性に影響する。この状況を避けるには、クォータリミッターを使用してフォアグラウンドで使用されるCPUリソースを制限する。(v6.0で導入)

スケジューリング

エラスティックスケジューリング機能。これにより、TiDBクラスターはリアルタイムのワークロードに基づいてKubernetes上で動的にスケールアウトおよびスケールインできる。これにより、アプリケーションのピーク時の負荷を効果的に軽減し、オーバーヘッドを節約できる。詳細については、TidbClusterの自動スケーリングの使用を参照する。(v4.0で導入)

SQL

  • 式インデックス機能。式インデックスは関数ベースインデックスとも呼ばれる。インデックスを作成する際、インデックスフィールドは特定の列である必要はなく、1つ以上の列から計算された式にすることができる。この機能は、計算ベースのテーブルへ高速にアクセスするのに役立つ。詳細については、式インデックスを参照する。(v4.0で導入)
  • 生成列(v2.1で導入)
  • ユーザー定義変数(v2.1で導入)
  • JSONデータ型およびJSON関数(v2.1で導入)
  • Cascades Planner: Cascadesフレームワークに基づくトップダウン型クエリオプティマイザー(v3.0で導入)
  • ALTER TABLE ... COMPACT(v6.1.0で導入)
  • ALTER TABLEを使用した複数列またはインデックスの変更(v5.0.0で導入)

ストレージ

  • Titanの無効化(v4.0で導入)
  • Titanレベルマージ(v4.0で導入)
  • パーティションはバケットに分割される。バケットは同時クエリの単位として使用され、スキャンの同時実行性を向上させる。(v6.1.0で導入)
  • TiKVはAPI V2を導入する。(v6.1.0で導入)

バックアップと復元

  • RawKVのバックアップと復元(v3.1で導入)

データ移行

  • DMで移行タスクを管理するためにWebUIを使用する。(v6.0で導入)

ガベージコレクション

  • Green GC(v5.0で導入)

診断

  • SQL診断(v4.0で導入)
  • クラスター診断(v4.0で導入)