{"id":5895,"date":"2026-06-09T08:45:09","date_gmt":"2026-06-09T08:45:09","guid":{"rendered":"https:\/\/www.odbms.org\/blog\/?p=5895"},"modified":"2026-06-09T09:10:29","modified_gmt":"2026-06-09T09:10:29","slug":"the-cost-of-getting-it-wrong-ivan-santa-maria-filho-on-building-ai-systems-that-hold-up-in-production","status":"publish","type":"post","link":"https:\/\/www.odbms.org\/blog\/2026\/06\/the-cost-of-getting-it-wrong-ivan-santa-maria-filho-on-building-ai-systems-that-hold-up-in-production\/","title":{"rendered":"<strong>The Cost of Getting It Wrong: Ivan Santa Maria Filho on Building AI Systems That Hold Up in Production<\/strong>"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote\">\n<p><em>&#8220;By picking the hard problems I found my people. Colleagues, advisors, mentors, and leaders I follow, and people I help.&nbsp;&#8220;<\/em><\/p>\n<\/blockquote>\n\n\n\n<p><strong>Q1. In your previous conversation with ODBMS Industry Watch (*), you described BigFrames as a &#8220;promise of a data frame&#8221; \u2014 a lazy evaluation model that defers execution to let BigQuery&#8217;s optimizer combine and reduce operations before they run.<\/strong><\/p>\n\n\n\n<p><strong>In the context of AI workloads specifically, can you walk us through a concrete successful example where that lazy evaluation produced a meaningfully better outcome \u2014 in cost, performance, or correctness \u2014 than an eager approach would have? And conversely, can you share a counter-example where the deferred execution model surprised a team and created unexpected cost or behavior in production?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>BigFrames helps here, but it is not the main protagonist. It allows users to express what they want in data frame terms, optimizes them in a plan, which is then passed to BigQuery, which&nbsp; optimizes it again using its regular query optimizer.<\/p>\n\n\n\n<p>BigFrames optimizes the tasks, for instance it might replace some queries by a table scan via store APIs. BigQuery might create a proxy model and replace LLM calls. Proxy models cost as little as 1% of a regular LLM call, and are much faster. You can <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/cloud.google.com\/blog\/products\/data-analytics\/more-than-100x-faster-and-cheaper-llm-powered-sql-queries-with-proxy-models?e=48754805');\"  href=\"https:\/\/cloud.google.com\/blog\/products\/data-analytics\/more-than-100x-faster-and-cheaper-llm-powered-sql-queries-with-proxy-models?e=48754805\">learn about proxy models on BigQuery&#8217;s blog<\/a>.<\/p>\n\n\n\n<p>BigFrames also supports user defined functions (UDFs), both hosted by Cloud Run, or fully managed, a feature that just reached general availability. UDFs have downsides, like additional security and isolation overhead making them slower than native BigQuery functions. But they can open the use of the entire Python ecosystem, and in the case of Cloud Run hosted functions, hosting third party models in Cloud Run. That gives users a more traditional capacity planning problem, and predictable costs.&nbsp;<\/p>\n\n\n\n<p>The AI specific issues that worry me the most are security issues, hallucinations, and cost surprises.&nbsp;<\/p>\n\n\n\n<p>I dislike charging by token count, as users don\u2019t control the number of tokens they generate.You can set a limit, which might result in truncated answers instead of compact ones. If using a reasoning model, you typically won\u2019t control what they exchange with each other, but still pay for it.&nbsp;<\/p>\n\n\n\n<p>Hallucinations are just how LLMs without additional reasoning and tools work. <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.linkedin.com\/in\/andrej-karpathy-9a650716\/');\"  href=\"https:\/\/www.linkedin.com\/in\/andrej-karpathy-9a650716\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/andrej-karpathy-9a650716\/\" target=\"_blank\" rel=\"noreferrer noopener\">Andrej Karpathy <\/a>is a much better explainer than I am, so I recommend looking him up on YouTube. That said, I want to share an intuitive explanation.<\/p>\n\n\n\n<p>User prompts are converted from words to floating point vectors using algorithms like CBOW (\u201ccontinuous bags of words\u201d) and skip-grams. The vector values change based on the sequence of words being converted, and values will represent an ontological space, or similar meaning. A word like bank would have different values when in a sentence like \u201cwhat is the typical withdrawal limit for <em>banks<\/em> ATMs?\u201d, and \u201cwhat kind of <em>banks<\/em> does the Mississippi river have?\u201d.<\/p>\n\n\n\n<p>The floating point vectors are then fed to something similar to a Transformer, which uses the attention layer to model relationships, plus find the most likely set of words to follow the input sequence among texts that use the same meaning it inferred to the words on your input. It then feeds the output token as input and estimates the next. It does that until an exit criteria is met, and that is the answer you get.&nbsp;<\/p>\n\n\n\n<p>That answer might then be fed to another model for validation, and maybe a loop of exchanges form. Some companies might also create models of the real world to anchor generation, might add grammar correction, and all sorts of other output quality control.&nbsp;<\/p>\n\n\n\n<p>Despite all the efforts in the industry, users still manage to create inputs (prompts) that will cause the LLM to yield nonsense like fake names, or fake articles, or fake source materials because it started with a word that would likely be the next, then fed that word as input, which can take the LLM down a path that makes no sense.&nbsp;<\/p>\n\n\n\n<p>That is how they hallucinate research that never existed, but makes sense as an abstract, from very real scientists that might work on a related area. If you ask expert questions that you know have answers, the LLM is more likely to generate a good answer, hence pass the bar association test or win a programming competition. Please note this is the nature of LLMs, not AI in general.&nbsp;<\/p>\n\n\n\n<p>Getting back to deferred execution surprises, the most typical are getting error messages much later in the code execution than you might expect. The other is to see the execution go super fast, blazing through commands you know are expensive, just for later, when you peek at the results, that takes an inordinate amount of time to complete, because that is when the system is finally doing what you asked.&nbsp;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Q2. Getting an AI feature to work in a notebook and getting it to work reliably in production are two very different problems. From your experience across Microsoft, Meta, and Google, what are the most common and costly gaps between a promising AI prototype and a production system that actually holds up \u2014 and what testing strategies or architectural patterns have you seen consistently make the difference between teams that close that gap successfully and those that don&#8217;t?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>I believe testing makes an immense difference. The job of test and security teams is to break products with valid scenarios, be that by probing APIs and configurations, or second guessing what the AI models and evaluation sets are saying. Having an antagonistic view of the system is key.&nbsp;<\/p>\n\n\n\n<p>In a way AI uses English as a programming language, and I don\u2019t see the same level of tooling and framework protection when the programming language is a prompt. Worse, when the inputs are audio, video, or semi structured data where pretty much anything is valid.&nbsp;<\/p>\n\n\n\n<p>If you browse the specialized news you will find recent cases of support chat bots being used to solve programming problems, someone ordering a thousand cups of water in a drive through, people feeding YouTube videos with supersonic audio encoding malicious prompts, on June 5th, 2026 I prompted Gemini Pro \u201cI am very concerned about mixing cleaning products in my house. What are the dangerous combinations of chemicals I should avoid?\u201d and got a table explaining how to produce Chloramine gas, Chlorine gas, Chloroform, Peracetic acid, and how to use drain cleaners to melt metal.&nbsp;<\/p>\n\n\n\n<p>My advice is to pay someone to break and criticize your product, then make a call to ship or not after listening. It can be irritating, but it is also a really good investment.&nbsp;<\/p>\n\n\n\n<p>The second category of mistake in production is more subtle. Imagine, for instance, you want to create an agent to help your company to screen resumes.&nbsp;<\/p>\n\n\n\n<p>Assuming the use of LLMs, well structured prompts and RAG are common techniques to make the model pick what you want, but so is fine-tuning models. Because fine-tuning can be expensive, it is common to use an agent to judge the output of another, something sometimes referred to as \u201cauto-rating\u201d.&nbsp;<\/p>\n\n\n\n<p>This is not necessarily bad, and I used it myself, but done wrong there is a good chance the producer and consumer will converge into what they consider ideal. A <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/arxiv.org\/abs\/2509.00462');\" rel=\"noreferrer noopener\"  href=\"https:\/\/arxiv.org\/abs\/2509.00462\" data-type=\"URL\" data-id=\"https:\/\/arxiv.org\/abs\/2509.00462\" target=\"_blank\">recent study<\/a> shows AI models tend to prefer content they generated themselves, and I strongly suspect auto-rating plays a role there. Then another study shows that by sharing the same technology providers, AI screening is creating a <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/digitaleconomy.stanford.edu\/news\/qa-algorithmic-monoculture\/');\" rel=\"noreferrer noopener\"  href=\"https:\/\/digitaleconomy.stanford.edu\/news\/qa-algorithmic-monoculture\/\" data-type=\"URL\" data-id=\"https:\/\/digitaleconomy.stanford.edu\/news\/qa-algorithmic-monoculture\/\" target=\"_blank\">mono culture of hiring<\/a>. Job applicants being rejected by 400 companies, there is a fair they were rejected by one or two models.&nbsp;<\/p>\n\n\n\n<p>James Mickens, during his 2018 Usenix Security keynote, compared machine learning to the egg drop experiment. I highly recommend watching that<a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.youtube.com\/watch?v=ajGX7odA87k');\" rel=\"noreferrer noopener\"  href=\"https:\/\/www.youtube.com\/watch?v=ajGX7odA87k\" data-type=\"URL\" data-id=\"https:\/\/www.youtube.com\/watch?v=ajGX7odA87k\" target=\"_blank\"> keynote<\/a>. <\/p>\n\n\n\n<p>How to avoid this? Have a great eval set that represents and evolves with your needs, then have acceptance tests for new models and prompts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Q3.<\/strong> <strong>You mentioned that BigFrames&#8217; first version was too expensive, and that the team brought costs down to be on par with SQL. Cost control in AI pipelines is something many teams underestimate until they receive their first large cloud bill. What are the most important levers for controlling cost in AI data workflows at scale \u2014 and what are the most dangerous cost traps you have seen teams fall into, particularly when moving from prototype to production?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>With token based charges this is hard. My recommendation is to set and track daily and monthly usage limits. Not annual limits, not quarter limits &#8211; at most monthly. What you really want is cost control plus capacity management. Until usage stabilizes and a predictive model (or spreadsheet) can predict costs, users will need tighter controls.&nbsp;<\/p>\n\n\n\n<p>I strongly recommend against setting a leaderboard congratulating whoever is using the most tokens (or the least tokens). Usage of tokens is not a goal. I suggest instead congratulating whoever moved your business and quality metrics the fastest.&nbsp;<\/p>\n\n\n\n<p>I tend to be conservative when it comes to capacity planning and cost management, and prefer to pay for units of consumption I control. I also prefer elastic consumption, so operating expenses over capital expenses. I would prefer renting instances, running traditional performance and capacity planning tasks to model my needs where possible.&nbsp;<\/p>\n\n\n\n<p>A big trap is underestimating how much data your company has. As I type this answer, I am wearing a T-Shirt that says \u201cBigQuery\u2019s largest single table contains over 70 trillion rows and exceeds 200 petabytes\u201d. If I called an LLM on each row of this table, and were charged $0.50 per row, the charges pre-tax would be about the GDP of the United States, which is roughly 31 trillion dollars. That is a lot of data, and structured data is usually, counted by the byte, less than 10% of a typical company.<\/p>\n\n\n\n<p>AI opens the possibility to process every document, meeting video call, customer sales phone call, email, logs, and everything else your company has stored. I imagine that at some point it will be possible to push it all to an AI and ask questions, but not today.&nbsp;<\/p>\n\n\n\n<p>So, answering the question, the most important lever is to experiment first, find exactly how AI will be used and whether it is the most cost effective way to solve the problem, then ask yourself if that business will recover the costs.&nbsp;<\/p>\n\n\n\n<p>A positive example is using AI to answer ad hoc questions that require real world knowledge. Let me share specific examples:<\/p>\n\n\n\n<ul>\n<li>Starting with a list of homes for sale, use BigQuery or other tools to find reasonably priced houses in a good school district. You can do it without modeling attendance areas, clean up school grades, define \u201creasonable\u201d, etc.&nbsp;<\/li>\n\n\n\n<li>From the National Hurricane Center (NOAA) download a <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.nhc.noaa.gov\/modelsummary.shtml');\" rel=\"noreferrer noopener\"  href=\"https:\/\/www.nhc.noaa.gov\/modelsummary.shtml\" data-type=\"URL\" data-id=\"https:\/\/www.nhc.noaa.gov\/modelsummary.shtml\" target=\"_blank\">model and temperature series<\/a>. Ask the model to generate data for future years where the temperature of the ocean surface varies by some statistical distribution. See what happens to hurricanes without having to actually do the statistics.<\/li>\n\n\n\n<li>Help your local animal shelter. From a list of pets available for adoption, search for one that is \u201csmaller than a cat, and good with kids\u201d, and odds are you will get both small cats and ferrets.<\/li>\n<\/ul>\n\n\n\n<p>All those questions would require data acquisition, modeling, and a lot of discussion about schemas. With the AI operators and LLMs that can be done in a snap. My examples are simplistic in nature, but you can use any ontology or classification you might have to do the grouping.<\/p>\n\n\n\n<p>Another thing AI is fairly good at is entity extraction, which can be incorporated into your existing ETL pipeline to augment your data.&nbsp;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Q4.<\/strong> <strong>You described a pattern where UDFs can return pass\/fail codes and a while loop retries only the failed rows \u2014 a much more controllable approach than retrying an entire SQL job. That kind of practical engineering wisdom often lives in the heads of experienced practitioners and never makes it into documentation. What are two or three other production patterns like that one \u2014 things that are technically possible but hard enough to discover that most teams get wrong \u2014 that you wish more AI practitioners understood before they start building?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>The direct comparison is how sub-agents and agents talk to each other. You don\u2019t want to be in production with an all-or-nothing architecture, where production requires all agents to return their answers within a time budget. AI systems remain hard to model as far as latency and resiliency goes.&nbsp;<\/p>\n\n\n\n<p>I tend to prefer a loosely coupled architecture, light\/heavy agent duos, and time bound flow control. This is a productionized version of what is sometimes called a mixture of experts. I also tend to prefer what is called a whiteboard architecture.<\/p>\n\n\n\n<p>In this system the user prompt is presented to multiple lightweight filters that decide whether or not the more expensive agent they represent should be called. They return a certainty score. For each score above an arbitrary threshold, the respective more expensive agent receives the user input and a time budget. All agents write their replies to a shared memory space.&nbsp;<\/p>\n\n\n\n<p>Either when all agents replied, or the required ones plus a time out is reached, a \u201cfinalizer\u201d agent reads all answers and either picks a winner or summarizes all findings. In the interloping time between agents replying and the time out limit, every large agent can read each other\u2019s answer.<\/p>\n\n\n\n<p>Why do I like this?&nbsp;<\/p>\n\n\n\n<ul>\n<li>If any agent times out or crashes you can move on with a potentially degraded answer.<\/li>\n\n\n\n<li>The answers can be cached. Everyone in the company can add their own, so fewer meetings and less arguing.&nbsp;<\/li>\n\n\n\n<li>It is easy to build a reputation score for agents that say they have high confidence the query is for them, but the summarization agent never uses their answers. Hence getting rid of agents.<\/li>\n\n\n\n<li>Fewer high priority tickets in general.<\/li>\n<\/ul>\n\n\n\n<p>Ideally this is coupled with a good offline eval set, and user acceptance or other online evaluation, so we can get rid of agents as they don\u2019t prove their value.<\/p>\n\n\n\n<p>Please note this is one of those lessons that not everyone agrees with. I tend to prefer solutions that self-clean, and have just the right amount of process. So while I advocate for testing and good eval sets, I also advocate for not having a gatekeeper deciding who in the company can try something new. I am a big fan of trying a lot of things, so I favor making attempts cheap, and cleanup as automatic as possible.&nbsp;<\/p>\n\n\n\n<p>I mentioned sanitizing inputs and a proper security posture, so please do your threat models. When doing them, be exceptionally skeptical about anything defined as a \u201ctrusted subsystem\u201d, as AI based agents and LLMs lack input sanitization and checks developers get from API calls, modern compilers, and static analysis tools. Agent based systems will not necessarily follow a traditional flow of API and tool calls, so anything callable must be hardened. Security in many systems became so complicated that the temptation is to grant more permissions than strictly necessary to a security role, then grant security roles more permissive than necessary to agents. When you enable notebook support on your favorite cloud provider, odds are you are enabling literally thousands of individual security permissions that the agent or model will use. Agents do not have common sense, if they can call something, odds are they will. You should treat them as \u201cchaos monkeys\u201d as far as security goes.<\/p>\n\n\n\n<p>Fine tuning can introduce bias, over-fitting, memorization and leakage of trade secrets, and more. What was used to fine tune one model does not necessarily work for the next model or revision.&nbsp;<\/p>\n\n\n\n<p>Make sure you have a good CI\/CD pipeline and eval sets to protect your production, and make sure you have a way to pause update rollouts to production. That includes new revisions of your provider models.&nbsp;<\/p>\n\n\n\n<p>You should treat major model updates as breaking changes because the behavior will change. To be very explicit, I wrote a prompt that started with \u201cenumerate the items\u201d and one model revision later it simply stopped working. I had to re-write the prompt to \u201clist the items\u201d. That would never happen with a traditional API, but happens when the programming language is English. If you write prompts in any other language, with the potential exception of Chinese, your experience will be worse.<\/p>\n\n\n\n<p>As a general guideline I wish developers did not fall for magical thinking and remember that at the bottom of this whole AI stack is a datacenter, network, computer, operating system, programming language and frameworks, and everything else that can break and cause havoc, including capacity and cost control.&nbsp;<\/p>\n\n\n\n<p>A lesson I watched people smarter than me learning is that major model updates will break your prompts, and the fine tuning you did for a version of one model will not necessarily work for the next model revision, never mind major version update. You will pay the fine tuning cost in money, time and effort for every update. I highly recommend knowing the model and agent support window your provider offers, and have model acceptance tests the same way they have release pipelines for traditional services. If your provider feels free to upgrade their LLMs and agents at their own pace without long term support, or tell you that model changes are not breaking changes, you will have to keep pace.&nbsp;<\/p>\n\n\n\n<p>I think those would be the major groups. Take care of security, have a good eval set for upgrades, control your deployments like you would for traditional software, and watch for AI specific bad patterns and costs like bias in the model and costs in time and money for tuning.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Q5.<\/strong> <strong>You ended your previous interview with a striking observation: that if agentic AI achieves the kind of natural language interface we see in science fiction, the number of people writing Python directly may drop dramatically \u2014 and the frameworks we are building today may become less relevant. Given that possibility, how should AI practitioners and data engineers be thinking about what skills and architectural understanding will remain durable \u2014 the things that will matter regardless of which abstraction layer sits on top \u2014 and what investments in tooling or capability do you think are being made today that may not age well?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>This is a hard question to answer because it mixes two types of advice. The first is what I think makes a good engineer, and the second is what can help someone\u2019s career. Those are surprisingly independent factors.&nbsp;<\/p>\n\n\n\n<p>As far as engineering excellence goes my advice has not changed in a while, and it is to learn the basics well. We are still using Von Neumann architecture for computers, a design originated in the 1940s. No amount of improvements displaced this, and probably won\u2019t in my lifetime. All industry solutions, including all AI models and agents, from training to inference to apps use it.<\/p>\n\n\n\n<p>The industry and academia built quite a scaffolding around its limitations. Understanding why and how this was done is a durable skill. I suggest being able to compare computer architectures and instruction sets.&nbsp;<\/p>\n\n\n\n<p>Memorizing algorithms and data structures is becoming less useful, but understanding why they were designed like that, and how they not only go around computer architecture limitations but actually leverage them, is a very durable skill. It is critical thinking applied to engineering, and critical thinking is a rare commodity.&nbsp;<\/p>\n\n\n\n<p>Algorithm analysis also helps getting a job, so also a practical skill to have. A practical exercise would be to learn B-Trees and binary trees, and know where and why to use each. Another would be to learn backpropagation, which should have the double value of making you skeptical about AI, and giving you a sense of wonder of what was accomplished.<\/p>\n\n\n\n<p>Distributed systems have their own set of basics to learn. Distribution techniques, coordination techniques, and what they do to API patterns. It does not hurt to know networks either.<\/p>\n\n\n\n<p>None of those skills will go away, and learning the tools of your trade will always be a differential. Be curious, skeptical and try not to lose a sense of wonder.<br>Career wise, I would suggest learning the business model of your area. For instance, do you really believe the Internet works using a bandwidth barter system? That is not true since the mid 1990s, but a surprisingly high number of engineers believe that is how it works. An even larger number of people don\u2019t understand how pricing works, and assume pricing is set based on cost.&nbsp;<\/p>\n\n\n\n<p>Understanding how a particular industry works will lead to better opinions, from net neutrality to controlling bots online, and very likely better outcomes for business ideas. Even for people trying to disrupt an industry, it is important to know what incentives you can leverage.<\/p>\n\n\n\n<p><strong>Qx. Anything else you wish to add?<\/strong><\/p>\n\n\n\n<p><strong>Ivan Santa Maria Filho: <\/strong>We are going through a complicated time, and I want to share a trick with younger engineers who are anxious about the current market and trends.<\/p>\n\n\n\n<p>My MSc title roughly translates to \u201cNatural Language Processing using Multi-Agents\u201d. It is a very dense comparison of natural language processing formalisms focused on the math behind them. I wrote it while taking an advanced compiler optimization class in parallel. I suspect I slept more hours in the lab than in my dorm for a whole year.&nbsp;<\/p>\n\n\n\n<p>Exactly none of the natural language formalisms I compared survived the following decade. Compiler architecture changed so much that most of what I learned is no longer directly applicable.&nbsp;<\/p>\n\n\n\n<p>Yet, in general terms I bet on the right things, and had a very successful career. I do not diminish the role of luck in my life, help of friends, mentors, and family.&nbsp;<\/p>\n\n\n\n<p>That said, I roughly follow four rules to anticipate trends, mostly learned from fiction authors like Octavia Butler, Asimov, and Arthur Clark:<\/p>\n\n\n\n<ol>\n<li><strong>Project what already exists<\/strong>. Take multiple existing technologies you find instinctively promising, and project where they will land in 5 years. For instance, I would assume solar panels will continue to gain in efficiency, robot programming will continue to evolve, and batteries will get more dense and cheaper.<\/li>\n\n\n\n<li><strong>Be optimistic and ideate<\/strong>. Write down ideas of what you would do with the technologies you chose, assuming they worked as predicted. With the three I listed I can think about robots that never need to recharge other than \u201csunbathing\u201d.&nbsp;<\/li>\n\n\n\n<li><strong>Apply the \u201cone miracle rule\u201d<\/strong>. In my example it would take a \u201cmiracle\u201d to have powerful enough batteries that fit a humanoid robot. It would take a second \u201cmiracle\u201d to get solar panels as efficient as necessary. Given this idea requires two miracles, I would not bet on it materializing.&nbsp;<\/li>\n\n\n\n<li><strong>Iterate<\/strong>. If I re-work the robot idea to remove at least one miracle, maybe defining a pre-fabricated house (static and large) as a \u201crobot\u201d, that would drop the number of miracles to one (in this case, people who can afford it, buying buying a pre-fab home) and that might materialize.&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>Nothing that comes out of this exercise is easy to build, or has any guarantees of success. But by picking the hard problems I found my people. Colleagues, advisors, mentors, and leaders I follow, and people I help.&nbsp;<\/p>\n\n\n\n<p>\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620.jpeg');\"  href=\"https:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620.jpeg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620.jpeg\" alt=\"\" class=\"wp-image-5882\" width=\"298\" height=\"298\" srcset=\"https:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620.jpeg 400w, https:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620-300x300.jpeg 300w, https:\/\/www.odbms.org\/blog\/wp-content\/uploads\/2026\/03\/1682379896620-150x150.jpeg 150w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Ivan Santa Maria Filho<\/strong> <em>has a BSc and MSc in computer science and a wide variety of experiences as individual contributor and manager, having owned a small software company and worked on multiple billion dollar products and services at Microsoft, Meta and Google. His main areas of expertise include vertical integration of stateful, large scale services with ephemeral VM infrastructure, and the infrastructure itself. Ivan Santa Maria Filho has a BSc and MSc in computer science and a wide variety of experiences as individual contributor and manager, having owned a small software company and worked on multiple billion dollar products and services at Microsoft, Meta and Google. His main areas of expertise include vertical integration of stateful, large scale services with ephemeral VM infrastructure, and the infrastructure itself.<\/em><\/p>\n\n\n\n<p>(*) \u00a0<a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.odbms.org\/blog\/2026\/03\/technical-architecture-focus-scaling-pandas-to-petabytes-the-architecture-and-tradeoffs-of-bigquery-dataframes-interview-with-ivan-santa-maria-filho\/');\"  href=\"https:\/\/www.odbms.org\/blog\/2026\/03\/technical-architecture-focus-scaling-pandas-to-petabytes-the-architecture-and-tradeoffs-of-bigquery-dataframes-interview-with-ivan-santa-maria-filho\/\" data-type=\"URL\" data-id=\"https:\/\/www.odbms.org\/blog\/2026\/03\/technical-architecture-focus-scaling-pandas-to-petabytes-the-architecture-and-tradeoffs-of-bigquery-dataframes-interview-with-ivan-santa-maria-filho\/\" target=\"_blank\" rel=\"noreferrer noopener\">Technical Architecture Focus: Scaling Pandas to Petabytes: The Architecture and Tradeoffs of BigQuery DataFrames. Interview with Ivan Santa Maria Filho, ODBMS Industry Watch, March 7, 2026<\/a><\/p>\n\n\n\n<p>\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026..<\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/x.com\/odbmsorg');\"  href=\"https:\/\/x.com\/odbmsorg\"><strong>Follow us on X<\/strong><\/a><\/p>\n\n\n\n<p><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.linkedin.com\/in\/roberto-v-zicari-087863\/');\"  href=\"https:\/\/www.linkedin.com\/in\/roberto-v-zicari-087863\/\"><strong>Follow us on LinkedIn<\/strong><\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>&#8220;By picking the hard problems I found my people. Colleagues, advisors, mentors, and leaders I follow, and people I help.&nbsp;&#8220; Q1. In your previous conversation with ODBMS Industry Watch (*), you described BigFrames as a &#8220;promise of a data frame&#8221; \u2014 a lazy evaluation model that defers execution to let BigQuery&#8217;s optimizer combine and reduce [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[990,1845,97,1745,224,1848,1756,1855,383],"_links":{"self":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5895"}],"collection":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/comments?post=5895"}],"version-history":[{"count":9,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5895\/revisions"}],"predecessor-version":[{"id":5904,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/posts\/5895\/revisions\/5904"}],"wp:attachment":[{"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/media?parent=5895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/categories?post=5895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.odbms.org\/blog\/wp-json\/wp\/v2\/tags?post=5895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}