Data Cache FAQ
このトピックでは、Data Cache に関するよくある質問 (FAQ) と一般的な問題について説明し、これらの問題に対するトラブルシューティング手順と解決策を提供します。
Data Cache の有効化
Data Cache が正常に有効化されているかどうかを確認するにはどうすればよいですか?
ほとんどの場合、次のいずれかの方法で Data Cache が正常に有効化されているかどうかを確認できます。
- SQL クライアントから
SHOW BACKENDS(またはSHOW COMPUTE NODES) を実行し、DataCacheMetricsの値を確認します。ディスクまたはメモリキャッシュのクォータが 0 より大きい場合、Data Cache が有効化されていることを確認できます。
mysql> show backends \G
*************************** 1. row ***************************
BackendId: 89041
IP: X.X.X.X
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2025-05-29 14:45:37
LastHeartbeat: 2025-05-29 19:20:32
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 10
DataUsedCapacity: 0.000 B
AvailCapacity: 1.438 TB
TotalCapacity: 1.718 TB
UsedPct: 16.27 %
MaxDiskUsedPct: 16.27 %
ErrMsg:
Version: main-c15b412
Status: {"lastSuccessReportTabletsTime":"2025-05-29 19:20:30"}
DataTotalCapacity: 1.438 TB
DataUsedPct: 0.00 %
CpuCores: 8
MemLimit: 50.559GB
NumRunningQueries: 0
MemUsedPct: 0.50 %
CpuUsedPct: 0.2 %
DataCacheMetrics: Status: Normal, DiskUsage: 44MB/1TB, MemUsage: 0B/0B
Location:
StatusCode: OK
1 row in set (0.00 sec)
上記の例では、Data Cache のディスクキャッシュクォータは 1TB で、現在 44MB が使用されています。一方、メモリキャッシュクォータは 0B であるため、メモリキャッシュは有効化されていません。
- BE Web コンソール (
http://${BE_HOST}:${BE_HTTP_PORT}/api/datacache/stat) にアクセスして、現在の Data Cache クォータ、ヒット率、およびその他のメトリクスを確認できます。disk_quota_bytesまたはmem_quota_bytesが 0 より大きい場合、Data Cache が有効化されていることを確認できます。

なぜ Data Cache はデフォルトで有効化されていないのですか?
v3.3 以降、BE は起動時に Data Cache を有効化しようとします。ただし、現在のディスクに十分 な空きスペースがない場合、Data Cache は自動的に有効化されません。
これは次の状況によって引き起こされる可能性があります。
-
使用率: 現在のディスク使用率が高い。
-
残りスペース: 残りのディスクスペースのサイズが比較的少ない。
したがって、Data Cache がデフォルトで有効化されていない場合、まず現在のディスク使用率を確認し、必要に応じてディスク容量を増やすことができます。
または、現在の利用可能なディスクスペースに基づいてキャッシュクォータを設定することで、手動で Data Cache を有効化することもできます。
# Data Cache 自動調整を無効化
datacache_auto_adjust_enable = false
# Data Cache ディスククォータを手動で設定
datacache_disk_size = 1T
Data Cache の使用
Data Cache はどのカタログタイプをサポートしていますか?
Data Cache は現在、StarRocks Native File Reader (Parquet/ORC/CSV Reader など) を使用する external catalog タイプをサポートしており、Hive、Iceberg、Hudi、Delta Lake、Paimon などが含まれます。JNI に基づいてデータにアクセスするカタログ (JDBC Catalog など) はまだサポートされていません。
一部のカタログは、特定の条件 (ファイルタイプやデータの状態など) に基づいて異なるデータアクセス方法を使用する場合があります。たとえば、Paimon catalog では、StarRocks は現在のデータの compaction 状態に基づいて、Native File Reader または JNI を使用してデータにアクセスするかどうかを自動的に選択する場合があります。Paimon データに JNI を使用してアクセスする場合、Data Cache のアクセラレーションはサポートされません。
クエリがキャッシュにヒットしたことを知るにはどうすればよいですか?
対応する Query Profile で Data Cache に関連するメトリクスを確認できます。DataCacheReadBytes と DataCacheReadCounter のメトリクスは、ローカルキャッシュのヒット状況を示します。
- DataCacheReadBytes: 518.73 MB
- __MAX_OF_DataCacheReadBytes: 4.73 MB
- __MIN_OF_DataCacheReadBytes: 16.00 KB
- DataCacheReadCounter: 684
- __MAX_OF_DataCacheReadCounter: 4
- __MIN_OF_DataCacheReadCounter: 0
- DataCacheReadTimer: 737.357us
- DataCacheWriteBytes: 7.65 GB
- __MAX_OF_DataCacheWriteBytes: 64.39 MB
- __MIN_OF_DataCacheWriteBytes: 0.00
- DataCacheWriteCounter: 7.887K (7887)
- __MAX_OF_DataCacheWriteCounter: 65
- __MIN_OF_DataCacheWriteCounter: 0
- DataCacheWriteTimer: 23.467ms
- __MAX_OF_DataCacheWriteTimer: 62.280ms
- __MIN_OF_DataCacheWriteTimer: 0ns