CacheMetadata
このプロパティは、テーブルメタデータをファイルストアにキャッシュするかどうかを決定します。
データ型
bool
デフォルト値
false
解説
このプロパティを設定してクエリを実行すると、Elasticsearch カタログのテーブルメタデータが設定されている場合にはCacheLocation で指定されたファイルストアに、設定されていない場合にはホームディレクトリにキャッシュされます。テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。
CacheMetadata を使用するタイミング
connector は、はじめてテーブルやビューを発見したときから1時間の間、メタデータをインメモリに自動的に保管します。そのため、CacheMetadata は一般的には必要ありません。CacheMetadata は、大量のメタデータを扱う場合でメタデータオペレーションのコストが高い場合や、短い接続を大量に行う場合などに役立ちます。
CacheMetadata を使用しないタイミング
- 変化しやすいメタデータを扱う場合:はじめてテーブルをクエリするとき、connector はそのメタデータをキャッシュします。このキャッシュはテーブルスキーマの更新を反映するために動的に更新されることはないため、新規、変更、削除されたカラムを取得するには、メタデータキャッシュを削除してリビルドする必要があります。よって、メタデータが頻繁に変更される場合には、インメモリキャッシュを使う方が便利です。
- データベースにキャッシュする場合:CacheMetadata はCacheLocation でのみ使用可能です。CacheDriver およびCacheConnection プロパティで他のデータベースへのキャッシュが可能です。黙示的なキャッシュにはAutoCache を使ってください。