Engineers working on new products, thanks to LLMs, have very little understanding of the technical details of the product. They have the same level of understanding a traditional high level manager had of products they owned. If you ever worked in an engineering org with an M2 or M3 who always attended your outage review, and in every outage review something has to involve some issue with Postgres or your Kafka queue, that disconnected M3 would conclude:
"Almost every outage involves some problem with Postgres. My conclusion, observed over the last 6-12 months, Postgres is bad. I see this new FancyDB or DynamoDB thing is popular on Twitter. We should try that"
I have lost count of the number of idiotic takes like that from M2s or M3s who have no idea how things work but instead focus on keywords they can latch onto that seems to be in the intersection of all issues. Then the logical solution is just to remove that and see what happens. This used to be very expensive, but if you can throw an LLM at a code base and say "Replace Postgres with FancyDB, split it to a list of logical checkpoints adding regression testing when missing to each checkpoint and open stacked PRs for all checkpoints", let it churn for an after noon, and 46k-line change PR (and $800 token bill) later you are ready to try FancyDB, why would you not give it a try? Then if you have issues with FancyDB, are you gonna spend the time to understand what's going on or just say "lets try DynamoDB next"?This is what this new feature called “loops” are for. Tell your agent to identify a list of databases and try them all, in prod, until it finds a good one. Be sure to tell it “no outages”.
This phenomenon is at the root of the hardest organizational & architectural challenges I’ve been involved in.
It really needs a name so it can be tagged as a leadership anti-pattern.
Good leaders find real connections to explore & strengthen.
Bad leaders reach conclusions at the fuzzy pattern matching stage.
I know snowflake does this, they do the query optimization before sending it for execution. So it knows about how many resources will be needed (it can obviously be wrong).
Snowflake has an option to add more resources, which is supposed to be vertical scaling, but it doesn't work as well as increasing the size of the warehouse
We engineered, then we measured and then we tried to make it work, probably for a too long of a time before we decided to completely scrap our current architecture and go back to the drawing board. Happy to answer more questions.
>The fast OLAP stores just don't scale as well as going object store to a proper query engine like Trino
this exactly why we started with this project.
Ah yay, I appreciate it! I feel like its rare to get a look at how these decisions cone about.
What did you measure? How'd you realise there was a problem? And did you measure anything to give you confidence that Trino won't hit the same issues?
Trino on the other hand has a much more convenient distributed query concept, so you can much more dynamically assign resources.
They are big on shipping slop at lightnigg speed. So this is not surprising. Checkout posts by their ceo on cringedin.