My experience with this kind of tool is that it is at least as hard to learn the tool as it is to learn the technology it abstracts over.<p>I think that's because thinking about the problem I am trying to solve is always the hardest part and I have to learn a syntax and semantics no matter what. And the syntax and semantics of SQL is mathematically linked to the mathematics of relational databases. Natural language isn't.<p>Furthermore there's decades of good technical documentation for SQL written by diverse authors for diverse levels of technical experience. Natural language projects are one off and writing documentation is usually a lower priority than making code go.
For the majority of people from non-tech business functions, the ability to ask for insights from data is liberating. Tools like this can unlock their potential to make more informed decisions. Imagine a store manager of a hyperlocal grocery startup managing a dark store. What if they could ask questions like "What is the fulfilment rate of a certain SKU between 12-3 pm in their store for the past 7 days?"
text-to-sql is a dead end. There's no way for a model to correctly interpret the meaning of every column in a real world database using the `information_schema` alone. Most cloud warehouses (e.g. Snowflake) don't use foreign keys, so you don't even know the joins.<p>Imagine you hire a highly skilled data analyst (e.g. 9 out of 10 proficiency in SQL) and start asking them questions about your database. They won't answer them, they'll ask you more questions. The conversation would go something like:<p>you: what is our churn rate by channel?<p>new analyst: where do we store "channel"? what do we use to process payments? where is that data stored? do we include discounts in MRR / churn? etc.<p>If a human can't do it, an LLM can't either. An LLM isn't able to write the SQL from scratch get the right answers without a ton of additional context. We're working on an approach using a semantic layer at <a href="https://www.definite.app/" rel="nofollow">https://www.definite.app/</a> if you're interested in this sort of thing.