BigQuery Search Indexes
GA した
Link
費用
作成無料、インデックスストレージ有料
組織内のインデックステーブルの合計サイズが制限を超えたら reservation が必要
制限
(リージョン, プロジェクト) ごとに CREATE INDEX DDL 500/day
テーブルごとに 20/day
予約外で、組織ごとのベーステーブルデータの合計サイズ
マルチリージョンで 100TB / 他 20TB
Maximum total size of base table data per organization
ええええ、これ東京で生きてる組織は組織全体で 20TB??
If your organization’s total base table size exceeds your region’s indexing limit, then you should maintain a non-zero reservation assigned for indexing. Otherwise, indexing might fall back to the default tier, resulting in unintended deletion of all indexes.
怖いこと言う
いろんなチームでバリバリ使ってたらある日崩壊するのがありえるのでは
Reservation に対する感覚が皆無
小さい組織なら制限内だし、課金させる作戦としてはまあ妥当だと思うが......
If you rename a base table after you create a search index on it, the index becomes invalid.
テーブル名変えたら index 無効になる
テーブルまるごと洗い替えするタイプだと都度 index 作ることになりそう
宛先テーブルで INSERT してしまうと INDEX 定義消えそうだよね、MERGE して INSERT したらデータの追加として追従してくれそう
? INDEX でスキャン範囲小さくなって費用減る?
減るだろうけど明確に書いてない?
Savings in bytes processed and slot milliseconds are maximized when the number of search results make up a relatively small fraction of the total rows because less data is scanned.
普通に書いとるわ
Search indexes are designed for large tables. If you create a search index on a table that is smaller than 10GB, then the index is not populated. Similarly, if you delete data from an indexed table and the table size falls below 10GB, then the index is temporarily disabled. In this case, search queries do not use the index and the IndexUnusedReason code is BASE_TABLE_TOO_SMALL
テーブルが 10GB 以下だと Index 使われない
BASE_TABLE_TOO_SMALL エラー見たい
Text enclosed in backticks forces an exact match.
For example, Hello World happy days becomes Hello World, happy, and days.
バッククオートで囲むことでスペース込みの連続した文字列の完全マッチとして扱える
Reservation 周りは preview のときなかった