u/querylabio

341 post karma · 250 comment karma · joined Jan 2025

  1. 0points

    Google BigQuery MCP (self.bigquery)

    10 comments

  2. 6points

    Importing CSV into BigQuery (self.bigquery)

    6 comments

  3. 9points

    Standard to Pipe SQL Convertor (self.bigquery)

    0 comments

  4. 1points

    BigQuery pipe syntax is the best thing Google has shipped in years and it's barely talked about (self.dataengineering) [Blog]

    1 comments

querylabio

Thanks for you support!

querylabio

Exactly. But a bytes-billed limit won’t protect you from a query that consumes a lot of slots without reading much data. It’s less of a concern with on-demand pricing, but on reservations, you will pay for that. And that’s why we’re also adding slot consumption limits to Querylab.

BTW, we have a simplified query execution plan that’s worth checking out.

Do you think it would be useful to give AI agents access to it so they could analyze a query after it fails and help figure out what went wrong?

querylabio

That’s fair, and thanks for the kind words about the UI!

Out of curiosity, would making Querylab open source make a difference for you? It’s something we’re considering.

querylabio

Fair question! If you want maximum privacy, use the desktop app.

Unlike many online tools, Querylab Desktop doesn’t send your BigQuery credentials to our servers. Google authentication happens locally, and credentials are stored in your OS keychain.

If you already use the Google Cloud CLI to authenticate, Querylab can use those credentials directly without copying them anywhere.

The web app is also designed to keep your data private: queries and results go directly between your browser and BigQuery, never through our servers. The only difference is that we store a refresh token so you don’t have to sign in every time.

So if you want the strongest privacy guarantees, go with the desktop app. Your BigQuery credentials stay on your machine.

The IDE is free, but we also offer an enterprise solution for companies that need additional controls and support.

Honestly, what would convince you? Open-source code, an independent security audit, or something else?

querylabio

I wouldn’t call it unusual, but we’re definitely going through a paradigm shift.
AI can already answer most simple, straightforward questions. Don’t you agree?

And we’re building an IDE for people who write queries, so that should answer your question too :)

querylabio

That's is true, unless the table you are scanning is clustered. Then BigQuery will scan only aa few clusters to get rows you needed.
Querylab automatically detects such scenarios and suggests adding limit where it makes sense. https://docs.querylab.io/writing-sql/limit-hints/

querylabio

I actually against flat rate - the best is hybrid flex slots and on demand where each of it makes more sense and cheaper. Works especially good after introducing fluid scaling!

querylabio

Usage of reservations (BigQuery editions, slots) is a way to cut you bill significantly, and what’s especially cool is that no query changes needed and you can estimate savings based on your historical usage. I wrote an article about this - https://blog.querylab.io/bigquery-on-demand-vs-reservations-two-models-two-bills-same-query-476c45e8eec1 - I hope it will be useful and I’m happy to answer any questions.

querylabio

Nice project!

Thats what we actually did in BigQuery IDE - https://docs.querylab.io/notebooks/

The same concept - pure SQL notebook, and since its BigQuery - we use anonymous result tables to allow cells reference other cells result

you can try it here without registration - leads to the notebook with tablesample experiment https://app.querylab.io/s/22f7a23d-bb39-497e-9a7d-70acef81967c?playground=true#k=YwsXP-QzIN75Czse3d1l246cZjc5JjiA2XW4w2XYxnw=

happy to share ideas

querylabio

++, we requested quota increase multiple times and all went smoothly (if there are no tech limitation)

querylabio

I so understand you! That’s total nonsense, and we decided to fix that.

https://medium.com/@querylabio/importing-data-into-bigquery-shouldnt-be-this-hard-74028ac3e824

querylabio

Done - now you can import Google Sheets directly (in "connected" and one-time way)

querylabio

Respect!

querylabio

How about that?

SELECT user_id, ANY_VALUE(status HAVING MAXtimestamp) AS last_status
FROM `my-project.dataset.table`
GROUP BY user_id

I just published an article about cool 5 hidden features in BQ that most people actually don't know about - https://blog.querylab.io/so-you-think-youre-a-bigquery-power-user-11e1e2334896 (that's not a clickbait - I bet you don't know at least about one)

querylabio

no, you cant

Caution: The budget doesn't automatically set a hard cap on spending. We recommend that you set your budget amount below your available funds, to account for delays in usage reporting.

querylabio

Regarding title - yes, indeed but that's actually looks like true - almost nobody knows!

Agree with null, they are tricky.

IS DISTINCT FROM - is another thing which helps with null aware comparisons, will return false if columns not equal or one of it is null, and true if equal or both null.

querylabio

Me too! And it's much more natural to AI.

But I think adoption a bit struggling without proper IDE support? I mean even in BQ console there are no auto completions for it.

querylabio
querylabio

Good catch!

SELECT 1 AS user_id, 100 AS revenue

UNION ALL BY NAME

SELECT 2 AS user_id

Yes - this works and producs null for revenue column. It looks like IDE should warn you when columns count mismatch. Thanks for pointing out!

querylabio

I think there’s nothing wrong with having some sugar to make life easier. But it's also about tooling - IDE should support inline resolution of ALL and displaying expilicit aggregation keys,best of both worlds, and should work with GROUP BY 1, 2, 3

querylabio

Two brothers EXCEPT and REPLACE