Cloud data

BigQuery slots, Oracle dictionaries, and the queries that quietly mint invoices

On-demand bytes, idle PX, and a dictionary nobody reads. Three ways to lose money while the dashboard stays green.

17 September 2026 · 8 min

BigQuery, the unsentimental version

On-demand pricing bills scanned bytes. SELECT * on a partitioned table that is not pruned is a donation. We partition by date, cluster by the filter you actually use, require a partition filter in the table options, and put the expensive dashboard on a scheduled query that writes a thin table. Editions and slots are for the jobs you can name. They are not a personality.

A commercial client was scanning 12 TB a day for a 20 MB answer because a Looker model selected unused columns and ignored the partition. We rewrote the explore, clustered the fact, and the monthly BigQuery line dropped by about 70 percent. Same numbers on the screen.

Oracle: read the dictionary before you tune a guess

DBA_TAB_COLUMNS, DBA_INDEXES, DBA_HIST_SQLSTAT, ASH. The data dictionary tells you which predicates have no index, which SQL_ID has been on the CPU since Thursday, and whether statistics are stale. We still see estates where a migration copied every index 'just in case' and then added more. Direct path, parallel degree, and a full scan of a 200-million-row table in a morning report are how Oracle licences feel expensive.

Gather stats on the tables that changed, not on the universe. Check bind peeking before you blame the cloud. When we migrate Oracle to a warehouse, the dictionary is the first extract: it is the map of what the business actually runs, not what the diagram said.

Related service: Cloud data

Tell us the problem. We’ll tell you if we can help.

A short conversation is usually enough to know whether this is a two-week discovery or a longer piece of work. No pitch deck.

Book a conversation