<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Starburst Data | Blog</title>
        <link>https://www.starburst.io/blog</link>
        <description>Latest posts from Starburst Data</description>
        <lastBuildDate>Thu, 24 Sep 2026 08:00:43 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>© 2026 Starburst Data</copyright>
        <item>
            <title><![CDATA[Starburst Enterprise Delivers Incremental Iceberg Materialized Views, Query Speed improvements and Enhanced AI Intelligence]]></title>
            <link>https://www.starburst.io/blog/starburst-enterprise-delivers-incremental-iceberg-materialized-views-query-speed-improvements-and-enhanced-ai-intelligence</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/starburst-enterprise-delivers-incremental-iceberg-materialized-views-query-speed-improvements-and-enhanced-ai-intelligence</guid>
            <pubDate>Thu, 24 Sep 2026 08:00:43 GMT</pubDate>
            <description><![CDATA[Today, we are excited to announce the release of Starburst Enterprise 482-e LTS. This release &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Today, we are excited to announce the release of </span><a href="https://docs.starburst.io/latest/release/release-482-e.html"><span style="font-weight: 400;">Starburst Enterprise 482-e LTS</span></a><span style="font-weight: 400;">. This release accelerates our ongoing commitment to open <a href="https://www.starburst.io/blog/data-lakehouse/">lakehouse</a> standards, introduces native performance optimizations for materialized views, expands platform observability for AI, and delivers major connectivity gains across <a href="https://www.starburst.io/blog/what-is-data-federation/">federated</a> and time-series data sources.</span></p>
<p><span style="font-weight: 400;">Collectively, 482-e introduces significant improvements in the following areas:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><b>Icehouse Innovations:</b><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Scheduled, append-only incremental refreshes for Iceberg Materialized Views and Iceberg REST Catalog support with enhanced credentials in Starburst Metastore.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Engine Performance &amp; Query Optimization:</b><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">10% faster query times based on internal benchmarking, lower latency, and support for PyStarburst Arrow protocol acceleration, and Queries Exceeding Ram to prevent Out of Memory (OOM) failures in public preview.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Platform Intelligence &amp; AIDA: </b><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Token consumption monitoring for AI administrators, broader OAuth capabilities for external Model Context Protocol (MCP) servers, and Data Product Enrichment v2.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Expanded Open Connectivity:</b><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">General Availability for the Great Lakes and OpenSearch connectors, alongside Public Preview support for OpenAPI and kdb+ connectors.</span></li>
</ul>
<h2><span style="font-weight: 400;">Icehouse advances with Incremental Materialized Views</span></h2>
<p><span style="font-weight: 400;">Starburst continues to deepen its status as the ideal foundation for Apache Iceberg workloads. In 482-e LTS, we focus on eliminating the recompute overhead of precomputed data products and expanding catalog interoperability.</span></p>
<h3><span style="font-weight: 400;">Incremental Iceberg Materialized Views </span></h3>
<p><span style="font-weight: 400;">Now available in public preview, <a href="https://www.starburst.io/starburst-enterprise/">Starburst Enterprise</a> introduces incremental refreshes for <a href="https://docs.starburst.io/latest/connector/iceberg.html">append-only Iceberg materialized views</a>. Previously, updating an Iceberg materialized view required a full re-execution over historical datasets, creating prohibitive refresh windows and heavy compute costs.</span></p>
<p><span style="font-weight: 400;">Administrators can now schedule append-only refreshes using an </span><code><span style="font-weight: 400;">incremental_column</span></code><span style="font-weight: 400;"> across any <a href="https://www.starburst.io/blog/what-is-trino/">Trino</a>-queryable source, or define them directly through <a href="https://www.starburst.io/blog/what-is-a-data-product/">data products</a>, without deploying a separate caching service. By processing only newly added rows, data engineers can drastically shorten refresh windows and remove a primary technical blocker when migrating legacy Hive pipelines to Apache Iceberg.</span></p>
<h3><span style="font-weight: 400;">Open Iceberg REST Access for Starburst Metastore </span></h3>
<p><span style="font-weight: 400;">Now in public preview, <a href="https://docs.starburst.io/latest/object-storage/metastores.html#hms-to-starburst-metastore-migration-tool">Starburst Metastore</a> (formerly Starburst Data Catalog) adds native support for the <a href="https://iceberg.apache.org/rest-catalog-spec/">open Iceberg REST Catalog specification</a>, complete with managed credentials, PAT-style tokens, and identity support for <a href="https://docs.starburst.io/latest/security/okta-authentication.html">Okta</a> and <a href="https://en.wikipedia.org/wiki/Ping_Identity">Ping Identity</a>. Teams standardizing on the open Iceberg REST spec can now use Starburst Metastore as a unified catalog across external query engines and third-party tools, reducing catalog-specific integrations and connector maintenance.</span></p>
<h2><span style="font-weight: 400;">Engine performance breakthroughs and view optimizations</span></h2>
<p><span style="font-weight: 400;">The 482-e LTS release builds on core core execution engine updates to improve speed by 10% based on internal benchmarking, lower latency, and process complex queries transparently. This iteration further enhances the speed already associated with our query engine, delivering enhanced results for customers. </span></p>
<h3><span style="font-weight: 400;">Queries Exceeding RAM</span></h3>
<p><span style="font-weight: 400;">To prevent <a href="https://docs.starburst.io/latest/admin/spill.html">Out of Memory (OOM) failures</a> on massive queries, we are expanding support for our memory resilience execution mode backed by an object storage and/or a local disk tier in the embedded BufferService. This mode allows large queries to exceed available RAM while reducing  the runtime penalties of <a href="https://docs.starburst.io/latest/data-engineering/cost-and-performance/execution-mode-options.html">Fault-Tolerant Execution (FTE)</a>. This feature is in public preview.</span></p>
<h3><span style="font-weight: 400;">PyStarburst Arrow Protocol </span></h3>
<p><span style="font-weight: 400;">The spooling protocol can now be configured to leverage <a href="https://arrow.apache.org/">Apache Arrow</a> serialization alongside new <a href="https://docs.starburst.io/clients/python/pystarburst.html">PyStarburst</a> methods. Now in public preview, this allows Python clients and data scientists to retrieve query outputs in a data-parallel format and pass Arrow chunks directly to Python data science tools without decoding, making result retrieval up to 7x faster.</span></p>
<h2><span style="font-weight: 400;">Enhanced platform intelligence with AIDA</span></h2>
<p><span style="font-weight: 400;">The 482-e release introduces crucial visibility, security, and context capabilities for the <a href="https://www.starburst.io/blog/starburst-delivers-aida-an-ai-agent-built-to-disrupt-bi/">Starburst AIDA</a>.</span></p>
<h3><span style="font-weight: 400;">AIDA Studio, Skills, and Token Observability </span></h3>
<p><span style="font-weight: 400;">Now supported in 482-e, <a href="https://www.starburst.io/press-releases/starburst-announces-its-ai-data-assistant-to-bring-ai-to-the-business-user/">AIDA Studio</a> provides a collapsible side panel offering configurable tools directly within chat sessions. Furthermore, <a href="https://www.starburst.io/blog/introducing-aida-skills-extending-aida-with-domain-expertise/">AIDA Skills</a> enters public preview, introducing granular access control so non-sysadmin users can author instructions and codify institutional knowledge. To manage costs, administrators gain a dedicated token consumption page in the <a href="https://docs.starburst.io/latest/starburst-admin.html">Starburst Enterprise Admin navigation</a>, providing visibility into usage trends across custom time ranges down to individual users.</span></p>
<h3><span style="font-weight: 400;">External MCP Server OAuth Expansion </span></h3>
<p><span style="font-weight: 400;">Moving into public preview, <a href="https://docs.starburst.io/latest/starburst-ai/aida-ai.html">AIDA’s external Model Context Protocol (MCP) server</a> now supports expanded <a href="https://en.wikipedia.org/wiki/OAuth">OAuth</a> authentication standards, including OAuth Client ID/Secret and OAuth PKCE. AI platform teams can securely connect AIDA to a wider array of third-party enterprise systems to execute complex workflows grounded in enterprise context.</span></p>
<h2><span style="font-weight: 400;">Data Product Enrichment Agent v2 </span></h2>
<p><span style="font-weight: 400;">Now in public preview, the updated <a href="https://docs.starburst.io/latest/starburst-ai/data-product-enrichment-ai.html">Data Product Enrichment Agent</a> enables data SMEs to build AI-ready context in minutes. By combining user-provided scope descriptions and business rules with active data sampling—rather than relying strictly on raw metastore schema definitions—the agent automatically generates higher-quality metadata for data products.</span></p>
<h3><span style="font-weight: 400;">Expanded open connector ecosystem</span></h3>
<p><span style="font-weight: 400;">Starburst Enterprise 482-e expands federated access across unified lake formats, time-series systems, and SaaS endpoints.</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><b>Great Lakes Connector (GA):</b><span style="font-weight: 400;"> A single <a href="https://www.starburst.io/blog/introducing-the-great-lakes-connector-for-starburst-enterprise/">unified connector spanning Hive, Iceberg, and Delta Lake table formats</a>. Organizations can query across mixed table formats through one connector, cutting catalog sprawl and maintenance overhead.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>OpenAPI Connector (Public Preview):</b><span style="font-weight: 400;"> Query any <a href="https://www.starburst.io/blog/introducing-the-openapi-connector/">OpenAPI-described REST system</a> using standard SQL without waiting for custom connectors. Point the connector to an <a href="https://www.openapis.org/">OpenAPI specification file</a> to turn SaaS platforms like Jira, GitHub, and Datadog into queryable tables.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>kdb+ Connector (Public Preview):</b><span style="font-weight: 400;"> Capital markets and quant technology teams can now natively federate queries against kdb+ time-series data without sacrificing execution fidelity.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>OpenSearch Connector (GA):</b><span style="font-weight: 400;"> Upgraded to GA with multi-field <a href="https://www.starburst.io/blog/what-is-query-pushdown/">pushdown</a> and scrollable pagination support for large result sets, bringing production-grade federation to log analytics and SIEM workloads.</span></li>
</ul>
<h2><span style="font-weight: 400;">Critical breaking and configuration changes</span></h2>
<p><span style="font-weight: 400;">This release includes several critical architectural changes and configuration updates that require attention prior to deployment. Review the <a href="https://docs.starburst.io/latest/release/release-482-e.html">full technical documentation</a> to ensure cluster stability during the upgrade process.</span></p>
<h3><span style="font-weight: 400;">Removal of Legacy Packaged HMS and Cloud Object Storage Support</span></h3>
<ul>
<li style="font-weight: 400;" aria-level="1"><b>Hive Metastore Service Image Removed:</b><span style="font-weight: 400;"> The Starburst-packaged Hive Metastore Service (HMS) image and </span><code><span style="font-weight: 400;">starburst-hive</span></code><span style="font-weight: 400;"> Helm chart have been completely removed after reaching end of support in 480-e. Organizations must migrate to Starburst Metastore before upgrading.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Legacy Cloud Storage File Systems:</b><span style="font-weight: 400;"> Legacy Hadoop-based object storage support (</span><code><span style="font-weight: 400;">io.trino.hdfs.s3.TrinoS3FileSystem</span><span style="font-weight: 400;"> and </span><span style="font-weight: 400;">fs.hadoop.enabled=true</span></code><span style="font-weight: 400;"> for cloud storage) has been completely removed from the Delta Lake, Hive, and Iceberg connectors. Catalogs using <code>legacy </code></span><code><span style="font-weight: 400;">hive.s3.*</span></code><span style="font-weight: 400;">, </span><code><span style="font-weight: 400;">hive.azure.*</span></code><span style="font-weight: 400;">, or </span><code><span style="font-weight: 400;">hive.gcs.*</span></code><span style="font-weight: 400;"> configuration properties will fail to start. Migrate to </span><code><span style="font-weight: 400;">fs.native-s3.enabled=true</span></code><span style="font-weight: 400;">, </span><code><span style="font-weight: 400;">fs.native-azure.enabled=true</span></code><span style="font-weight: 400;">, </span><span style="font-weight: 400;">or </span><code><span style="font-weight: 400;">fs.native-gcs.enabled=true</span></code><span style="font-weight: 400;">.</span></li>
</ul>
<h3><span style="font-weight: 400;">Connector Deprecations and Removals</span></h3>
<ul>
<li style="font-weight: 400;" aria-level="1"><b>Snowflake JDBC Connector Removed:</b><span style="font-weight: 400;"> The </span><code><span style="font-weight: 400;">snowflake_jdbc</span></code><span style="font-weight: 400;"> connector has been removed in favor of </span><code><span style="font-weight: 400;">snowflake_parallel</span></code><span style="font-weight: 400;">. Additionally, password-based authentication in the Snowflake connector is deprecated and will be removed in the November 2026 LTS release in favor of key-pair authentication.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Alluxio Exchange &amp; File System:</b><span style="font-weight: 400;"> Support for Alluxio-backed exchange storage for Fault-Tolerant Execution and the Alluxio file system across Delta, Hive, Hudi, and Iceberg connectors has been removed.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Node-Level File System Caching:</b><span style="font-weight: 400;"> File system caching is no longer configured inside catalog properties (</span><code><span style="font-weight: 400;">fs.cache.*</span></code><span style="font-weight: 400;">). All cache configurations must be moved to node-level properties via </span><code><span style="font-weight: 400;">cache-manager.config-files</span></code><span style="font-weight: 400;"> in </span><code><span style="font-weight: 400;">config.properties</span></code><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Starburst Data Catalog Property Renaming:</b><span style="font-weight: 400;"> Starburst Data Catalog has been renamed to Starburst Metastore. Properties prefixed with </span><code><span style="font-weight: 400;">catalog.*</span></code><span style="font-weight: 400;"> (e.g., </span><code><span style="font-weight: 400;">catalog.enabled</span></code><span style="font-weight: 400;">) have been deprecated and renamed to </span><code><span style="font-weight: 400;">metastore.*</span></code><span style="font-weight: 400;"> (e.g., </span><code><span style="font-weight: 400;">metastore.enabled</span></code><span style="font-weight: 400;">).</span></li>
</ul>
<h3><span style="font-weight: 400;">Implicit <code>CHAR</code> and <code>VARCHAR</code> Coercion Reversal </span></h3>
<p><span style="font-weight: 400;">The implicit coercion behavior between </span><code><span style="font-weight: 400;">CHAR</span></code><span style="font-weight: 400;"> and </span><code><span style="font-weight: 400;">VARCHAR</span></code><span style="font-weight: 400;"> types has been reversed. A </span><code><span style="font-weight: 400;">CHAR</span></code><span style="font-weight: 400;"> value now coerces to </span><code><span style="font-weight: 400;">VARCHAR</span></code><span style="font-weight: 400;"> with trailing spaces trimmed, and comparisons follow </span><code><span style="font-weight: 400;">VARCHAR</span></code><span style="font-weight: 400;"> semantics without blank padding. To preserve legacy behavior until the November LTS release, administrators must explicitly set </span><code><span style="font-weight: 400;">deprecated.legacy-varchar-to-char-coercion=true</span></code><span style="font-weight: 400;"> in their configuration.</span></p>
<h2><span style="font-weight: 400;">Upgrade to Starburst Enterprise 482-e LTS Today</span></h2>
<p><span style="font-weight: 400;">The 482-e LTS release marks a defining shift in how modern enterprises run, govern, and scale their data lakehouses. By embedding automated materialized view substitution, incremental Iceberg processing, and native Control Plane high availability, platform teams are equipped to run multi-cluster architectures with absolute performance and resilience.</span></p>
<p><span style="font-weight: 400;">To begin planning your deployment:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">View the full </span><a href="https://docs.starburst.io/latest/release/release-482-e.html"><span style="font-weight: 400;">482-e LTS release notes here</span></a><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Review our </span><a href="https://docs.starburst.io/latest/starburst-ai/aida-ai.html"><span style="font-weight: 400;">AI and AIDA documentation here</span></a><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Read our </span><a href="https://docs.starburst.io/latest/connector.html"><span style="font-weight: 400;">latest connector and migration guides here</span></a><span style="font-weight: 400;">.</span></li>
</ul>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What Are The Most Common AI Use Cases for Banking?]]></title>
            <link>https://www.starburst.io/blog/what-are-the-most-common-ai-use-cases-for-banking</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/what-are-the-most-common-ai-use-cases-for-banking</guid>
            <pubDate>Tue, 22 Sep 2026 08:00:26 GMT</pubDate>
            <description><![CDATA[Ask a chief data officer at a large US bank how many production AI systems &#8230;]]></description>
            <content:encoded><![CDATA[<p>Ask a chief data officer at a large US bank how many production AI systems the bank runs, and the answer is likely to run into the hundreds. Those are not pilots stuck in a lab. They are live systems that already touch documents, transactions, and client work.</p>
<p>The use cases cluster around a handful of repeatable categories:</p>
<ul>
<li>Document and research copilots</li>
<li>Fraud and anti-money laundering (AML) detection</li>
<li>Wealth-management productivity</li>
<li>Agentic workflows that reach across both structured and unstructured data.</li>
</ul>
<p>The easiest wins came from <a href="https://www.starburst.io/blog/unstructured-data/">unstructured data</a>. The harder, <a href="https://www.starburst.io/blog/mcp-server-starburst-nvidia/">higher-value work is unlocking structured transaction data that sits across dozens of silos</a>.</p>
<p>The banks with the most live use cases share one trait. They solved data access first. Without that, the use-case count stalls at pilots, no matter which model sits on top.</p>
<h2>Key takeaways</h2>
<ul>
<li>Banks now report AI use cases numbering in the hundreds, with one major bank running nearly 1,000, and the use cases cluster into four categories, including document and research copilots, fraud and AML detection, wealth-management productivity, and agentic workflows that span structured and unstructured data.</li>
<li>The easiest wins came from unstructured data, such as summarization, transcription, and research copilots, while the harder, higher-value work is unlocking structured transaction data that sits across dozens of data silos.</li>
<li>The results are already measurable. For example, Khan Bank saw 400x faster query performance, a global investment bank cut money laundering losses by millions of dollars, and more than 200,000 Bank of America employees now use AI-enabled tools every day.</li>
<li>Banks that unify structured and unstructured data on one platform can move a new AI use case from pilot to production in about 90 days, without a full data-estate replatform.</li>
<li>Governance, data sovereignty, and audit requirements apply to every AI system from day one, so banks that build access controls and lineage into the data platform can approve new use cases faster.</li>
</ul>
<h2>Conversational copilots for unstructured data are the fastest win</h2>
<p>The easiest AI wins in banking start with unstructured data, including documents, meeting notes, and research reports that used to need a human reader. Summarization tools condense long filings and contracts in seconds. Transcription copilots turn client meetings into searchable notes. Research copilots help analysts scan earnings calls and filings for the details that matter.</p>
<p>According to Banking Dive, citing Bank of America&#8217;s Q2 2026 earnings call, more than 200,000 of the bank&#8217;s employees now use AI-enabled tools. Staff send more than 400,000 prompts a day. Banking Dive also reported that Bank of America has approved more than 300 AI use cases, including 114 generative AI projects, with 34 fully live in production. Wells Fargo has taken a similar path with what it calls its &#8220;AI Teammate,&#8221; an internal assistant built to help employees work through documents and routine tasks faster.</p>
<h2>Fraud detection, AML, and risk analytics run in real time</h2>
<p>Fraud and risk teams were early adopters of machine learning, and the field keeps moving. Banking Dive reported that one major bank now runs nearly 1,000 live AI use cases across risk, fraud, marketing, and document reading. That is one of the largest deployed footprints at any US bank.</p>
<p>Real-time AML monitoring is a good example of why the count keeps climbing. A <a href="https://www.starburst.io/resources/global-investment-bank-case-study/">global investment bank now runs transaction monitoring that accelerates money laundering detection and prevention</a>, helping the bank flag suspicious activity before it becomes a multi-million dollar loss. For a plainer look at how this works, see this rundown of <a href="https://www.starburst.io/blog/modern-standards-for-anti-money-laundering-monitoring/">modern standards for anti-money laundering monitoring</a>.</p>
<p>Risk analytics is moving toward conversational tools, too. At Santander Corporate &amp; Investment Banking, analysts and front-office desks now <a href="https://www.starburst.io/info/aida-for-santander-cib-instant-conversational-risk-market-analytics/">converse with multi-petabyte data lakes in natural language</a> through a Starburst&#8217;s conversational analytics interface, <a href="https://www.starburst.io/blog/starburst-delivers-aida-an-ai-agent-built-to-disrupt-bi/">AIDA</a>. The tool turns what used to be a multi-day data pull into a question typed into a chat window.</p>
<h2>Customer-facing productivity and wealth management gain ground</h2>
<p>Wealth management is where AI&#8217;s productivity gains show up most directly in client relationships. Many wealth-management advisers now use an AI tool that helps them pull client data from Salesforce customer relationship management (CRM) records far faster than manual lookups allowed. That means advisers spend more time with clients and less time hunting for account history.</p>
<p>Citigroup describes adoption in similarly broad terms. Banking Dive reported that nearly 9 out of 10 Citigroup employees now use AI tools, with the bank tying that adoption to gains in productivity, client experience, and growth. Financial firms with this kind of reach are increasingly using AI to help teams <a href="https://www.starburst.io/resources/starburst-for-financial-services/">break down data silos and power smarter decision-making</a>. That same foundation supports <a href="https://www.starburst.io/solutions/industry/financial-services/">informed risk mitigation, revenue-generating, and process optimization decisions</a> across the business.</p>
<h2>The data problem behind agentic AI</h2>
<p>Unstructured data was the easy win because LLMs excel at breaking it down, whether it be a document repository, an email archive, a transcript store. Structured data is a harder problem. Transaction records, account histories, and risk metrics are often spread across dozens of data silos, each with its own access rules and formats.</p>
<p>That&#8217;s the higher-value problem banks are now working through. The next generation of AI systems needs to <a href="https://youtu.be/yle71U4IW4E">reach both kinds of data at once</a>. It has to route a single question across documents and transaction tables without forcing an analyst to query each system by hand. Banks are increasingly building <a href="https://www.starburst.io/blog/how-banks-are-leveraging-structured-and-unstructured-for-ai/">agentic AI systems that route queries across structured and unstructured data</a>. That is what turns a chat interface into something that can answer questions grounded in the bank&#8217;s own data.</p>
<h2>Modernizing the data platform to support AI at scale</h2>
<p>None of the use cases above work well if the underlying data platform can&#8217;t keep up. Query speed, source coverage, and time-to-insight all set the ceiling on what an AI system can do.</p>
<p>Khan Bank saw <a href="https://www.starburst.io/resources/khan-bank-case-study/">400x faster query performance after modernizing its data stack</a>, a change that turned reports that used to take hours into something closer to real time. That gave analysts a wider view of the bank&#8217;s data without new pipelines for every source. US Bank took the same approach to <a href="https://www.starburst.io/us-bank/">unify data access and accelerate AI-driven analytics</a>, giving teams one place to query data that used to live in separate systems.</p>
<h2>Governance and regulatory pressure shape every use case</h2>
<p>Every AI use case in banking runs inside a regulatory perimeter. Data sovereignty rules, cross-border transfer restrictions, and audit requirements apply to an AI system exactly as they apply to any other production system. Banks need to design for that from the start rather than retrofit it later.</p>
<p>That means governance can&#8217;t be an afterthought bolted onto a finished project. Banks need <a href="https://www.starburst.io/info/banking-in-real-time-managing-regulatory-shock-and-risk-with-ai/">a modern, AI-ready data foundation that works across existing systems</a>. That way, access controls, lineage, and audit trails travel with the data no matter which team or model queries it. That kind of <a href="https://www.starburst.io/blog/federated-data-financial-services/">governed, federated access that enables fast, compliant analytics and AI</a> means a bank can say yes to a new AI use case. It doesn&#8217;t need to reopen a compliance review from scratch each time.</p>
<h2>From pilot to production</h2>
<p>The path from a promising pilot to a production AI use case doesn&#8217;t need a full data-estate replatform. Banks that unify structured and unstructured data on one platform can <a href="https://www.starburst.io/info/from-ai-ambition-to-production-in-90-days-a-practical-playbook-for-financial-services-leaders/">launch production-ready AI use cases in just 90 days</a>. They work with the systems they already run rather than ripping them out.</p>
<p>BNY frames this as more than a cost-saving exercise. Banking Dive reported that BNY&#8217;s leadership sees AI as a source of long-term value, tied to new products, new capabilities, and the platform data that makes both possible. That&#8217;s the common thread across every bank in this article. The ones with the most live AI use cases are the ones that solved data access first, before they worried about which model to run on top of it.</p>
<p>Want to know more about financial services and Starburst? Check out our <a href="https://www.starburst.io/info/banking-in-real-time-managing-regulatory-shock-and-risk-with-ai/">webinar</a> on the topic.</p>
<h2>FAQs</h2>
<h3>What are the most common AI use cases banks are deploying today?</h3>
<p>Banks cluster their AI use cases into four groups: document and research copilots, fraud and anti-money laundering detection, wealth-management tools, and agentic workflows. Document and research copilots summarize filings and transcribe meetings, while fraud and anti-money laundering detection flags suspicious transactions in real time. Wealth-management tools help advisers pull client data faster, and agentic workflows route a single question across both structured and unstructured data.</p>
<h3>How are banks using AI for fraud detection and anti-money laundering?</h3>
<p>Fraud and risk teams use AI models to monitor transactions in real time, so a bank can flag suspicious activity before it turns into a large loss. One global investment bank now runs transaction monitoring that speeds up money laundering detection and prevention. Santander Corporate &amp; Investment Banking analysts use a conversational AI agent called AIDA to query multi-petabyte data lakes in plain language instead of waiting days for a manual data pull.</p>
<h3>What&#8217;s the biggest technical obstacle to scaling AI in banking?</h3>
<p>Structured data is the harder problem. Transaction records, account histories, and risk metrics sit across dozens of data silos, each with its own access rules and formats. An AI system has to reach every one of those sources before it can answer a question with confidence. Banks that solve this by unifying access to structured and unstructured data on one platform tend to have the most live use cases in production.</p>
<h3>How is generative AI different from earlier analytics tools in banking?</h3>
<p>Earlier analytics tools mostly answered structured queries against clean, pre-modeled data. Generative AI can also read and summarize unstructured sources, such as contracts, filings, and meeting notes, turning documents that used to need a human reader into searchable, conversational data. That&#8217;s why Bank of America&#8217;s employees now send more than 400,000 AI prompts a day, according to Banking Dive. Most of those prompts aim at document-heavy work that older tools couldn&#8217;t touch.</p>
<h3>Do banks need to move all data before deploying AI?</h3>
<p>No. Banks that unify data access on one platform still leave data where it lives, whether that&#8217;s Amazon S3, an on-premises data warehouse, or a third-party system. They use that platform to query across sources instead of copying everything into a new location first. US Bank took this approach to unify data access and speed up AI-driven analytics, giving teams one place to query data that used to sit in separate systems.</p>
<h3>How fast can a bank launch a new AI use case?</h3>
<p>Banks that have already unified structured and unstructured data on one platform can launch production-ready AI use cases in about 90 days. They work with the systems they already run instead of planning a full data-estate replatform. Governance work, such as access controls, lineage, and audit trails, moves alongside the data from the start. A new use case doesn&#8217;t need a separate compliance review before it can go live.</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Context Engineering for Redshift]]></title>
            <link>https://www.starburst.io/blog/context-engineering-for-redshift</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/context-engineering-for-redshift</guid>
            <pubDate>Mon, 21 Sep 2026 08:00:00 GMT</pubDate>
            <description><![CDATA[Context matters. Two AI agents can query the same Redshift table and return different revenue &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Context matters. Two AI agents can query the same </span><a href="https://www.starburst.io/blog/redshift-vs-starburst/"><span style="font-weight: 400;">Redshift table</span></a><span style="font-weight: 400;"> and return different revenue numbers, and neither query is wrong. This happens because each one applied different unwritten assumptions about fiscal calendars, exclusions, or which customer table is authoritative.</span></p>
<p><span style="font-weight: 400;">Amazon Redshift handles structured business intelligence and low-latency reporting inside AWS well. Connecting an AI agent to it is a different problem. The data warehouse returns rows and columns. It does not tell the agent what those numbers mean or which source to trust.</span></p>
<p><span style="font-weight: 400;">Once you connect an agent to Redshift, you also take on the platform&#8217;s limits. Concurrency ceilings, single-database catalog scope, and proprietary storage were already constraints for reporting. They get harder to live with when agents add exploratory queries on top of reporting load.</span></p>
<p><span style="font-weight: 400;">Adding a governed layer of business definitions, policy, and data products on top of Redshift before the first agent query runs help. This article looks at why Redshift&#8217;s architecture was not built for the </span><a href="https://www.starburst.io/blog/agent-grounding-the-missing-discipline-in-enterprise-ai/"><span style="font-weight: 400;">agent grounding</span></a><span style="font-weight: 400;"> provided by </span><a href="https://www.starburst.io/blog/context-engineering-how-context-makes-or-breaks-your-ai-success/"><span style="font-weight: 400;">context engineering</span></a><span style="font-weight: 400;">. It covers what a governed context layer adds on top, and how you can start building that layer without moving off Redshift.</span></p>
<h2><span style="font-weight: 400;">Key takeaways</span></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Redshift&#8217;s concurrency limit of about 50 parallel queries and its single-database scope per catalog make it hard to serve AI agents that need to reason across multiple sources.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A context layer adds business definitions, governance, and data products on top of Redshift so agents get grounded, policy-enforced answers instead of confident guesses.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Federating Redshift with your data lakes, other data warehouses, and SaaS sources avoids copying data into another proprietary storage silo.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Serving governed context to agents over the Model Context Protocol (MCP) keeps governance centralized while giving every tool access to the same vetted definitions.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Benchmark any vendor-stated performance or cost claims about Redshift alternatives against your own workload before you commit to a specific approach.</span></li>
</ul>
<p><span style="font-weight: 400;">Amazon Redshift handles structured business intelligence and low-latency reporting inside AWS well. When you connect an AI agent to it, though, you run into a different set of problems. The warehouse alone doesn&#8217;t tell the agent what your numbers mean or where else to look.</span></p>
<p><span style="font-weight: 400;">This piece looks at why Redshift&#8217;s concurrency limits, single-database scope, and proprietary storage format leave AI agents short on business context, and what you need to add on top to get answers you can trust.</span></p>
<h2><span style="font-weight: 400;">What context engineering means for Redshift teams</span></h2>
<h3><span style="font-weight: 400;">The bottleneck has moved from models to context</span></h3>
<p><span style="font-weight: 400;">Large language models have become good enough to hold a conversation about your data. What </span><a href="https://www.starburst.io/blog/stop-moving-data-start-using-it-blueprint-data-federation-ai/"><span style="font-weight: 400;">they don&#8217;t have is your data</span></a><span style="font-weight: 400;">. No frontier model knows your fiscal calendar, your definition of churn, or which of 5 customer tables is the authoritative one, because </span><a href="https://www.starburst.io/blog/context-is-the-new-bottleneck/"><span style="font-weight: 400;">that knowledge doesn&#8217;t exist in any public training corpus</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">That gap explains a sobering number. Only </span><a href="https://www.starburst.io/blog/context-engineering-for-amazon-athena/"><span style="font-weight: 400;">about 30 percent of agentic AI projects reach production</span></a><span style="font-weight: 400;">. Most stall not because the model is weak, but because nobody built the layer that feeds it grounded, governed information. </span><a href="https://www.starburst.io/blog/what-is-context-engineering/"><span style="font-weight: 400;">Context engineering means designing what information goes into a model so it produces reliable, grounded answers</span></a><span style="font-weight: 400;">, and that design work is now the harder half of building an agent.</span></p>
<h3><span style="font-weight: 400;">Where Redshift alone falls short for AI agents</span></h3>
<p><span style="font-weight: 400;">Redshift is a single, closed data warehouse. An agent that queries it directly gets rows and columns, not definitions, lineage, or policy. Ask it &#8220;what is active revenue&#8221; and you get whatever a table happens to contain, not your finance team&#8217;s definition of the term.</span></p>
<p><span style="font-weight: 400;">Redshift also holds a small share of most companies&#8217; data. Any agent limited to a single Redshift cluster misses everything you store elsewhere, including data lakes, other cloud data warehouses, and SaaS applications.</span></p>
<h2><span style="font-weight: 400;">Why context engineering matters now for Redshift users</span></h2>
<h3><span style="font-weight: 400;">Concurrency and cost limits push teams toward federation</span></h3>
<p><span style="font-weight: 400;">Redshift typically caps you at </span><a href="https://www.starburst.io/blog/redshift-vs-starburst/"><span style="font-weight: 400;">around 50 parallel queries</span></a><span style="font-weight: 400;">. That ceiling was tight enough for BI dashboards; it gets tighter once you add agents that fire off exploratory queries on top of your existing reporting load.</span></p>
<p><span style="font-weight: 400;">Scaling Redshift to absorb that extra concurrency usually means bigger, more expensive clusters. Before you go that route, review </span><a href="https://www.starburst.io/resources/is-amazon-redshift-costing-you-more-than-it-should/"><span style="font-weight: 400;">the true cost of centralizing data in Amazon Redshift</span></a><span style="font-weight: 400;">, which lays out how concurrency limits and cluster sizing compounds over time.</span></p>
<h3><span style="font-weight: 400;">Redshift&#8217;s proprietary storage format and lock-in</span></h3>
<p><span style="font-weight: 400;">Redshift stores data in its own proprietary format, so every dataset you load in has to stay there or get copied out. That combination of </span><a href="https://www.starburst.io/blog/redshift-vs-starburst/"><span style="font-weight: 400;">concurrency limits, maintenance burdens like vacuuming, and proprietary storage lock-in</span></a><span style="font-weight: 400;"> makes Redshift a costly single point of truth for an AI agent that needs to reason across more than one source.</span></p>
<p><span style="font-weight: 400;">Loading more data into Redshift to fix the coverage gap just adds another data silo. Additionally, it commits you further to a format you cannot easily move off of later. That tradeoff is </span><a href="https://www.starburst.io/blog/why-context-is-the-missing-element-in-your-ai-data-strategy/"><span style="font-weight: 400;">the missing element in most AI data strategies</span></a><span style="font-weight: 400;">. You get more storage inside one warehouse, not more context across the sources you already have.</span></p>
<h2><span style="font-weight: 400;">What a context layer adds on top of Redshift</span></h2>
<h3><span style="font-weight: 400;">Business definitions and metadata</span></h3>
<p><span style="font-weight: 400;">A context layer sits above Redshift and holds the business definitions your agent needs, including what counts as active revenue, which customer table is authoritative, and how your fiscal year lines up to calendar months. Without that layer, an agent has to guess, and confident guessing is worse than an honest &#8220;I don&#8217;t know.&#8221;</span></p>
<h3><span style="font-weight: 400;">Governance and policy enforcement</span></h3>
<p><span style="font-weight: 400;">The same layer should enforce who can see what. </span><a href="https://www.starburst.io/blog/what-does-it-take-to-build-an-enterprise-context-layer/"><span style="font-weight: 400;">Building an enterprise context layer</span></a><span style="font-weight: 400;"> means combining metadata, governance, and access policy in one place, so every agent that queries Redshift respects the same row-level and column-level rules a human analyst would follow.</span></p>
<p><span style="font-weight: 400;">Centralizing governance here also means you set a policy once instead of repeating it in every tool that touches your data.</span></p>
<h3><span style="font-weight: 400;">Data products as the delivery mechanism</span></h3>
<p><span style="font-weight: 400;">Rather than handing an agent raw table access, a context layer packages vetted, well-documented data products for it to query. That&#8217;s part of why </span><a href="https://www.starburst.io/blog/understanding-the-importance-of-the-context-layer/"><span style="font-weight: 400;">the context layer sits above the warehouse layer</span></a><span style="font-weight: 400;"> instead of inside it. The warehouse stores data, and the context layer decides what any given agent is allowed to see and how to describe it. Data products provide the way by which this happens, and are an essential ingredient in the creation of a context layer. </span></p>
<h2><span style="font-weight: 400;">How context engineering works with Redshift</span></h2>
<h3><span style="font-weight: 400;">Federating Redshift with other systems without copying data</span></h3>
<p><span style="font-weight: 400;">You do not need to migrate off Redshift to fix its blind spots. With a </span><a href="https://www.starburst.io/blog/data-federation/"><span style="font-weight: 400;">federation approach</span></a><span style="font-weight: 400;">, you can query Redshift alongside your data lakes, other data warehouses, and SaaS sources while limiting the need to copy data between them. </span><a href="https://www.starburst.io/aws/"><span style="font-weight: 400;">Starburst on AWS</span></a><span style="font-weight: 400;"> connects to Redshift and other AWS-hosted sources this way, so an agent can reason across systems through one interface.</span></p>
<p><span style="font-weight: 400;">This approach also sidesteps a common trap. </span><a href="https://www.starburst.io/blog/context-is-the-new-bottleneck/"><span style="font-weight: 400;">Context, not model capability, is now the bottleneck</span></a><span style="font-weight: 400;"> for most agentic AI projects, and federation is how you widen an agent&#8217;s context without duplicating every dataset into Redshift first.</span></p>
<h3><span style="font-weight: 400;">Serving governed context to agents over MCP</span></h3>
<p><span style="font-weight: 400;">Once your context layer defines and governs your data, you need a consistent way to hand it to agents. The Model Context Protocol (MCP) gives multiple agents and tools a shared interface to the same vetted definitions, so you enforce governance once and reuse it everywhere instead of wiring each tool to Redshift separately.</span></p>
<p><span style="font-weight: 400;">That consistency matters because </span><a href="https://www.starburst.io/blog/access-to-business-context-will-determine-who-can-replace-bi-with-ai/"><span style="font-weight: 400;">access to business context, not only data access, will determine who can replace BI with AI</span></a><span style="font-weight: 400;"> inside your organization.</span></p>
<h2><span style="font-weight: 400;">Considerations before you start</span></h2>
<h3><span style="font-weight: 400;">Single-database scope per catalog</span></h3>
<p><span style="font-weight: 400;">By default, a Redshift connection reaches a single database inside a cluster. If your Redshift cluster hosts multiple databases, plan for that scope limitation early, since it affects how you map catalogs to your broader context layer.</span></p>
<h3><span style="font-weight: 400;">TLS and network configuration</span></h3>
<p><span style="font-weight: 400;">Recent Redshift JDBC drivers enable TLS by default, so confirm your connection settings match your network security requirements before you federate. Getting this configuration wrong early costs more time to fix once agents depend on the connection.</span></p>
<h3><span style="font-weight: 400;">Vacuuming and maintenance overhead</span></h3>
<p><span style="font-weight: 400;">Redshift needs regular vacuuming to reclaim space and keep query plans efficient, and that maintenance overhead does not go away once you add a context layer. Budget for it the same way you would for any other production Redshift workload, since </span><a href="https://www.starburst.io/resources/enterprise-ai-needs-data-context-not-centralization-cio-applications/"><span style="font-weight: 400;">centralization costs like vacuuming and storage lock-in</span></a><span style="font-weight: 400;"> tend to accumulate if nobody owns them.</span></p>
<h2><span style="font-weight: 400;">Steps to start context engineering on your Redshift data</span></h2>
<p><span style="font-weight: 400;">The following steps can be a useful blueprint for context engineering your Redshift data. </span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Begin by taking an inventory of the business definitions your agents will need, including revenue, churn, and any metric with more than one candidate source table.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Map which other systems, including data lakes and SaaS applications, hold data an agent needs alongside Redshift.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Set up federated access so agents can query Redshift and those other sources without copying data into a new silo.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Define governance policy once, at the context layer, so it applies consistently across every agent and tool.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Serve that governed context to agents over MCP so multiple tools share the same vetted definitions.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Benchmark any vendor-stated performance or cost claims against your own workload before you commit to a specific approach.</span></li>
</ol>
<p><span style="font-weight: 400;">If you&#8217;re weighing whether Redshift should remain your single source of truth for AI workloads, the tradeoffs are similar to the ones covered in </span><a href="https://www.starburst.io/blog/context-engineering-for-snowflake/"><span style="font-weight: 400;">context engineering for Snowflake</span></a><span style="font-weight: 400;"> and </span><a href="https://www.starburst.io/blog/context-engineering-for-amazon-athena/"><span style="font-weight: 400;">context engineering for Amazon Athena</span></a><span style="font-weight: 400;">. The warehouse handles storage and compute well, and a context layer is what makes an agent built on top of it trustworthy. Additionally, none of the fixes here mean you have to abandon Redshift, only to stop treating it as the only place your agents can look.</span></p>
<h2><span style="font-weight: 400;">Next steps</span></h2>
<p><span style="font-weight: 400;">Want to know more about context engineering for Redshift? Check out </span><a href="https://www.starburst.io/info/agentic-ai-needs-context-aware-data-management/"><span style="font-weight: 400;">the Gartner report on context-aware data management</span></a><span style="font-weight: 400;">.</span></p>
<h2><span style="font-weight: 400;">FAQs</span></h2>
<h3><span style="font-weight: 400;">What is context engineering, and how is it different from prompt engineering?</span></h3>
<p><span style="font-weight: 400;">Context engineering means designing what information reaches a model, including business definitions, governance rules, and access to the right data sources, so it produces grounded, reliable answers. Prompt engineering focuses on how you phrase a request to the model. You need both, but without the right context, a well-crafted prompt still returns a guess instead of a grounded answer.</span></p>
<h3><span style="font-weight: 400;">Why isn&#8217;t Redshift data enough for an AI agent to answer correctly?</span></h3>
<p><span style="font-weight: 400;">Redshift is a single, closed data warehouse. An agent that queries it directly gets rows and columns, not definitions, lineage, or policy, so it has to guess at what a metric like active revenue means instead of applying your finance team&#8217;s definition. Redshift also holds a small share of most companies&#8217; data, so an agent limited to one cluster misses everything you store in data lakes, other data warehouses, and SaaS applications.</span></p>
<h3><span style="font-weight: 400;">Do you need to move Redshift data to build a context layer?</span></h3>
<p><span style="font-weight: 400;">No. With a federation approach, you can query Redshift alongside your data lakes, other data warehouses, and SaaS sources while limiting the need to copy data between them. Loading more data into Redshift to close the coverage gap just adds another data silo and commits you further to its proprietary storage format.</span></p>
<h3><span style="font-weight: 400;">What governance should a context layer enforce for Redshift data?</span></h3>
<p><span style="font-weight: 400;">A context layer should enforce the same row-level and column-level access rules a human analyst would follow, combining metadata, governance, and access policy in one place. Centralizing governance here means you set a policy once instead of repeating it in every tool that touches your data.</span></p>
<h3><span style="font-weight: 400;">How does the Model Context Protocol relate to context engineering on Redshift?</span></h3>
<p><span style="font-weight: 400;">MCP gives multiple agents and tools a shared interface to the same vetted definitions your context layer maintains. Once your context layer defines and governs your data, you can use MCP to enforce that governance once and reuse it everywhere instead of wiring each tool to Redshift separately.</span></p>
<h3><span style="font-weight: 400;">Can a context layer work with Redshift&#8217;s single-database-per-catalog limitation?</span></h3>
<p><span style="font-weight: 400;">Yes, but plan for it early. By default, a Redshift connection reaches a single database inside a cluster, so if your cluster hosts multiple databases, you need to map that scope limitation into how your broader context layer organizes catalogs.</span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Server-Side Scan Planning with Starburst and Databricks]]></title>
            <link>https://www.starburst.io/blog/announcing-server-side-scan-planning-with-starburst-and-databricks</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/announcing-server-side-scan-planning-with-starburst-and-databricks</guid>
            <pubDate>Fri, 18 Sep 2026 08:00:28 GMT</pubDate>
            <description><![CDATA[We are excited to announce that the Starburst Enterprise 481-e STS now includes support for &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">We are excited to announce that the </span><a href="https://docs.starburst.io/latest/release/release-481-e.html"><span style="font-weight: 400;">Starburst Enterprise 481-e STS</span></a><span style="font-weight: 400;"> now includes support for server-side scan planning, which has been added to the </span><a href="https://docs.starburst.io/latest/connector/iceberg.html"><span style="font-weight: 400;">Iceberg connector</span></a><span style="font-weight: 400;"> through the REST Catalog API. This means that any Iceberg REST catalog that implements the </span><span style="font-weight: 400;">/plan</span><span style="font-weight: 400;"> endpoint can now plan scans on behalf of Starburst, returning the exact data files to read without Starburst needing to process </span><a href="https://www.starburst.io/blog/iceberg-transactions-and-metadata/"><span style="font-weight: 400;">Iceberg metadata files</span></a><span style="font-weight: 400;">. The engine executes the plan as-is, and Starburst respects vended credentials included in the plan response.</span></p>
<p><span style="font-weight: 400;">While Starburst supports server-side scan planning with any REST Catalog, the most compelling initial integration is with </span><a href="https://www.starburst.io/blog/starburst-integration-with-unity-catalog/"><span style="font-weight: 400;">Databricks Unity Catalog</span></a><span style="font-weight: 400;">. Unity Catalog can now enforce fine-grained access control, including row filters and column masks with governed tags, for managed Iceberg tables on Starburst using server-side scan planning. We&#8217;ve worked closely with Databricks to ensure that Unity Catalog policies are respected when Starburst queries a Unity-governed Iceberg table, allowing governance to be centralized on Unity Catalog with no bespoke logic in the query engine.</span></p>
<h2><span style="font-weight: 400;">What is Server-Side Scan Planning?</span></h2>
<p><span style="font-weight: 400;">The </span><a href="https://iceberg.apache.org/rest-catalog-spec/"><span style="font-weight: 400;">Iceberg REST spec</span></a><span style="font-weight: 400;"> added </span><span style="font-weight: 400;">POST &#8230;/tables/{table}/plan</span><span style="font-weight: 400;"> in </span><a href="https://iceberg.apache.org/docs/1.7.0/"><span style="font-weight: 400;">Iceberg version 1.7.0</span></a><span style="font-weight: 400;">. Instead of having the Starburst </span><a href="https://www.starburst.io/blog/what-is-a-query-engine/"><span style="font-weight: 400;">query engine</span></a><span style="font-weight: 400;"> read metadata files and plan the scan itself, the client sends selected columns and filter expressions to the catalog server through this endpoint. The catalog returns a list of file scan tasks and scoped storage credentials, which the engine executes as usual.</span></p>
<p><span style="font-weight: 400;">This small protocol change gave the catalog a hook into the read path of a query. Now, the catalog can decide what files an engine sees, apply transformations, vend short-lived credentials scoped to the specific files in the response, and audit file access. None of this requires our engine to understand </span><a href="https://docs.databricks.com/api/cluster-policies/v2/policy"><span style="font-weight: 400;">Databricks’ policy model</span></a><span style="font-weight: 400;">, but policies are still respected when data is returned to the caller.</span></p>
<p><span style="font-weight: 400;">For Starburst, the value of supporting this protocol is that it works across the entire Iceberg REST ecosystem, and will work out of the box as other catalogs implement this endpoint. </span></p>
<h2><span style="font-weight: 400;">Unity Catalog&#8217;s Fine-Grained Access Control</span></h2>
<p><span style="font-weight: 400;">Databricks Unity Catalog uses </span><span style="font-weight: 400;">/plan</span><span style="font-weight: 400;"> to implement “ScanAPI”: an endpoint to enforce fine-grained access control for external engines. With ScanAPI, when a Starburst query reaches a Unity-managed Iceberg table that carries active FGAC policies, Unity:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Evaluates the caller&#8217;s ABAC policies against the user&#8217;s identity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Materializes sanitized data into temporary data files with row filters and column masks already applied.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Returns file scan tasks pointing at those sanitized files, plus scoped credentials.</span></li>
</ul>
<p><img loading="lazy" decoding="async" src="https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/Starburst-side-scan-planning-for-Databricks-unity-catalog.png" alt="Image depicting the Starburst server-side scanning for Databricks Unity catalog. " width="1999" height="1119" class="alignleft size-full wp-image-61557" srcset="https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/Starburst-side-scan-planning-for-Databricks-unity-catalog.png 1999w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/Starburst-side-scan-planning-for-Databricks-unity-catalog-300x168.png 300w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/Starburst-side-scan-planning-for-Databricks-unity-catalog-1024x573.png 1024w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/Starburst-side-scan-planning-for-Databricks-unity-catalog-1536x860.png 1536w" sizes="auto, (max-width: 1999px) 100vw, 1999px" /></p>
<p><span style="font-weight: 400;">The engine only sees data authorized for that user. The policy was defined once, in Unity Catalog, and applies whether the query runs in Databricks or Starburst.</span></p>
<p><span style="font-weight: 400;">This addresses the governance gap many lakehouse customers encounter. Unity Catalog already provides table-level access control across engines via credential vending, but credential vending is coarse: you have access to the whole table, or you don&#8217;t. Real-world governance needs more than that: PII column masks, regional row filters, role-driven views of the same data, etc. Replicating that policy in every engine doesn&#8217;t scale. Server-side scan planning lets Unity govern data centrally, and engines like Starburst can honor those decisions using ScanAPI.</span></p>
<h3><span style="font-weight: 400;">A Real-World Example</span></h3>
<p><span style="font-weight: 400;">Want to know more about how this works in reality? Check out </span><a href="https://www.databricks.com/dataaisummit/session/supporting-fine-grained-access-control-server-side-scan-planning"><span style="font-weight: 400;">this video by Databricks</span></a><span style="font-weight: 400;">. </span></p>
<h2><span style="font-weight: 400;">What&#8217;s Next?</span></h2>
<p><span style="font-weight: 400;">Server-side scan planning support ships in Starburst Enterprise Platform 481-e STS. While the Unity Catalog integration is the most fully developed example today, Starburst will support any other REST catalogs that implement this endpoint. </span></p>
<p><span style="font-weight: 400;">Overall, this represents a stepping stone to a shared policy language. This mirrors other initiatives in the industry toward similar goals, notably </span><a href="https://www.snowflake.com/en/blog/engineering/apache-iceberg-read-restrictions-governance0/"><span style="font-weight: 400;">Snowflake’s approach</span></a><span style="font-weight: 400;"> towards an open-sourced way of governing tables by certain trusted compute engines. </span></p>
<p><span style="font-weight: 400;">For more on the protocol and the joint Databricks/Starburst work, see </span><a href="https://www.databricks.com/blog/introducing-cross-engine-abac"><span style="font-weight: 400;">Databricks&#8217; cross-engine ABAC announcement</span></a><span style="font-weight: 400;"> and our earlier post on </span><a href="https://www.starburst.io/blog/starburst-integration-with-unity-catalog/"><span style="font-weight: 400;">Starburst integration with Unity Catalog</span></a><span style="font-weight: 400;">.</span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is Data Masking?]]></title>
            <link>https://www.starburst.io/blog/what-is-data-masking</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/what-is-data-masking</guid>
            <pubDate>Thu, 17 Sep 2026 08:00:38 GMT</pubDate>
            <description><![CDATA[Data masking is the systematic process of replacing or obscuring sensitive values in datasets while &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Data masking is the systematic process of replacing or obscuring sensitive values in datasets while preserving their analytical utility. Think of it as putting a strategic veil over your data. The underlying structure and relationships remain intact, but the raw sensitive information becomes unreadable. </span><a href="https://csrc.nist.gov/glossary/term/masking"><span style="font-weight: 400;">NIST defines masking</span></a><span style="font-weight: 400;"> as replacing values in ways that may or may not preserve their original analytical utility, depending on your specific protection needs.</span></p>
<p><span style="font-weight: 400;">Modern data platforms implement masking through several techniques. Dynamic data masking (DDM) applies transformations at query time based on user permissions. Static masking permanently replaces sensitive values in datasets, typically for non-production environments. You might also encounter tokenization, which substitutes sensitive data with non-sensitive tokens, or format-preserving encryption that maintains data types and patterns while protecting the actual values.</span></p>
<p><span style="font-weight: 400;">Within today&#8217;s data ecosystem, masking has become a critical bridge between compliance requirements and analytical workflows. </span><a href="https://docs.snowflake.com/en/user-guide/security-column-ddm-intro"><span style="font-weight: 400;">Platforms like Snowflake</span></a><span style="font-weight: 400;">, </span><a href="https://cloud.google.com/bigquery/docs/column-data-masking-intro"><span style="font-weight: 400;">BigQuery</span></a><span style="font-weight: 400;">, and </span><a href="https://learn.microsoft.com/en-us/azure/azure-sql/database/dynamic-data-masking-configure-portal"><span style="font-weight: 400;">SQL Server</span></a><span style="font-weight: 400;"> now provide native masking capabilities that integrate directly with their query engines. This integration means your existing analytics workflows can continue unchanged while sensitive data gets automatically protected based on user roles and policies.</span></p>
<p><span style="font-weight: 400;">The challenge many organizations face is that implementing effective data masking across modern, distributed data architectures involves more than just flipping a switch. You need to coordinate policies across multiple systems, ensure consistent identity management, and maintain performance while adding these protection layers. This is where platforms like Starburst become valuable, offering </span><a href="https://docs.starburst.io/starburst-galaxy/security-and-compliance/manage-data-access/access-control-policy-types.html"><span style="font-weight: 400;">unified governance capabilities</span></a><span style="font-weight: 400;"> that can work alongside your existing data platforms or fill gaps where native masking falls short.</span></p>
<h2><span style="font-weight: 400;">Why data masking has become essential for modern analytics</span></h2>
<p><span style="font-weight: 400;">Three fundamental shifts in how organizations handle data have caused data masking to transition from optional to critical. First, regulatory frameworks now explicitly require or strongly encourage data protection techniques like masking. </span><a href="https://eur-lex.europa.eu/legal-content/en/TXT/?uri=CELEX:02016R0679-20160504"><span style="font-weight: 400;">GDPR&#8217;s pseudonymization requirements</span></a><span style="font-weight: 400;"> give organizations more flexibility in processing personal data when they can demonstrate effective de-identification. </span><a href="https://www.hhs.gov/sites/default/files/ocr/privacy/hipaa/understanding/coveredentities/De-identification/hhs_deid_guidance.pdf"><span style="font-weight: 400;">HIPAA&#8217;s Safe Harbor method</span></a><span style="font-weight: 400;"> provides specific guidance on removing or transforming identifiers from healthcare data. </span><a href="https://www.pcisecuritystandards.org/faq/articles/Frequently_Asked_Question/can-the-full-payment-card-number-be-displayed-within-a-browser-window/"><span style="font-weight: 400;">PCI DSS requirements</span></a><span style="font-weight: 400;"> mandate that primary account numbers be masked when displayed in applications or reports.</span></p>
<p><span style="font-weight: 400;">Second, the democratization of data access has expanded the number of people who need to work with potentially sensitive information. Data scientists, analysts, and business users across departments now perform their own queries and build their own models. Traditional approaches that involve simply restricting access create bottlenecks and limit the value organizations can extract from their data. Masking allows you to say &#8220;yes&#8221; to data requests while maintaining appropriate protection levels.</span></p>
<h3><span style="font-weight: 400;">Real-world masking across industries</span></h3>
<p><a href="https://www.starburst.io/solutions/industry/financial-services/"><span style="font-weight: 400;">Financial services data analytics</span></a><span style="font-weight: 400;"> organizations use masking to enable fraud analysis and customer behavior modeling without exposing actual card numbers or account details. A typical implementation might show analysts transaction patterns with masked PANs like &#8220;****-****-****-1234&#8221; while preserving the ability to detect suspicious sequences or merchant categories. For authorized investigators handling specific cases, the full PAN remains accessible through role-based exceptions.</span></p>
<p><a href="https://www.starburst.io/solutions/industry/healthcare-and-life-sciences/"><span style="font-weight: 400;">Healthcare data analytics</span></a><span style="font-weight: 400;"> systems apply masking to enable medical research and population health studies using de-identified patient data. Researchers can analyze treatment outcomes and identify patterns across large patient populations without accessing names, addresses, or other direct identifiers. </span><a href="https://www.hhs.gov/sites/default/files/ocr/privacy/hipaa/understanding/coveredentities/De-identification/hhs_deid_guidance.pdf"><span style="font-weight: 400;">Statistical research methods</span></a><span style="font-weight: 400;"> rely on this approach to generate insights while maintaining patient privacy.</span></p>
<p><a href="https://www.starburst.io/solutions/industry/retail-consumer-packaged-goods/"><span style="font-weight: 400;">Retail analytics solutions</span></a><span style="font-weight: 400;"> organizations mask customer identifiers while preserving purchase patterns and preferences for recommendation engines and marketing analytics. Teams can analyze shopping behaviors, seasonal trends, and product affinities without accessing customer names, email addresses, or payment details. This approach enables sophisticated personalization algorithms while reducing privacy risks.</span></p>
<h3><span style="font-weight: 400;">The business case beyond compliance</span></h3>
<p><span style="font-weight: 400;">Beyond regulatory requirements, masking creates tangible business value by reducing data breach impact and enabling more flexible data sharing. When a security incident occurs in a system with properly masked data, the exposure is significantly limited. Instead of dealing with millions of exposed credit card numbers or social security numbers, you might face exposure of masked or hashed values that provide no direct path back to individuals.</span></p>
<p><span style="font-weight: 400;">Data sharing partnerships become more feasible when you can demonstrate that sensitive elements are properly protected. </span><a href="https://cloud.google.com/bigquery/docs/column-data-masking-intro"><span style="font-weight: 400;">BigQuery specifically notes</span></a><span style="font-weight: 400;"> that data masking can streamline sharing scenarios because authorized users maintain their normal query patterns while unauthorized users automatically receive protected views of the same datasets.</span></p>
<h2><span style="font-weight: 400;">Technical and operational hurdles in masking implementations</span></h2>
<p><span style="font-weight: 400;">While the concept of masking sounds straightforward, production implementations quickly reveal a complex web of technical constraints and operational challenges that can derail projects or create unexpected security gaps.</span></p>
<h3><span style="font-weight: 400;">When the database optimizer works against you</span></h3>
<p><span style="font-weight: 400;">Runtime masking interacts with query optimizers in ways that can significantly impact performance. </span><a href="https://cloud.google.com/bigquery/docs/column-data-masking-intro"><span style="font-weight: 400;">BigQuery explicitly states</span></a><span style="font-weight: 400;"> that BI Engine acceleration doesn&#8217;t work with masked queries, and that wildcard table queries become incompatible with certain masking scenarios. The fundamental issue is that optimizers rely on being able to push predicates and filters down to the storage layer, but masked columns can&#8217;t safely participate in these optimizations.</span></p>
<p><span style="font-weight: 400;">Consider a query filtering customer records by a masked email domain. The optimizer can&#8217;t push that filter to the underlying table scan because the masking transformation happens after the data is retrieved. Instead of scanning only relevant partitions, the query engine must retrieve all customer records, apply masking, and then filter the results. </span></p>
<p><span style="font-weight: 400;">Query caching presents another optimization challenge. </span><a href="https://cloud.google.com/bigquery/docs/column-data-masking-intro"><span style="font-weight: 400;">BigQuery documents a specific scenario</span></a><span style="font-weight: 400;"> where cached results can show previously visible unmasked data for up to 24 hours after user privileges change. This happens because the cache layer isn&#8217;t always aware of the security context that determined whether masking should apply to a particular user&#8217;s query.</span></p>
<h3><span style="font-weight: 400;">The identity propagation problem</span></h3>
<p><span style="font-weight: 400;">Most enterprise data pipelines run under shared service accounts rather than individual user identities. This creates a fundamental mismatch with dynamic masking systems that evaluate policies based on the identity making the query. When your ETL jobs, BI tools, and analytics platforms all connect using technical service accounts, the sophisticated role-based masking policies you&#8217;ve configured simply don&#8217;t apply.</span></p>
<p><a href="https://docs.snowflake.com/en/user-guide/security-column-ddm-intro"><span style="font-weight: 400;">Snowflake&#8217;s masking policies</span></a><span style="font-weight: 400;"> evaluate based on the current user and role, but if every query comes from &#8220;etl_service_user,&#8221; every result gets the same masking treatment. Organizations end up choosing between operational simplicity (service accounts) and granular security (individual user propagation), often defaulting to the former and losing the benefits of their masking investment.</span></p>
<p><a href="https://docs.starburst.io/latest/connector/snowflake.html"><span style="font-weight: 400;">Starburst addresses this through identity pass-through capabilities</span></a><span style="font-weight: 400;"> that can propagate OAuth tokens or JWT assertions from end users through to the underlying data sources, enabling Snowflake&#8217;s native policies to evaluate the actual user context rather than a generic service account.</span></p>
<h3><span style="font-weight: 400;">Cross-platform policy fragmentation</span></h3>
<p><span style="font-weight: 400;">Enterprise data architectures rarely consist of a single platform, which means masking policies must be configured and maintained across multiple systems with completely different models. </span><a href="https://docs.snowflake.com/en/user-guide/security-column-ddm-intro"><span style="font-weight: 400;">Snowflake uses masking policies</span></a><span style="font-weight: 400;"> applied to columns, </span><a href="https://cloud.google.com/bigquery/docs/column-data-masking-intro"><span style="font-weight: 400;">BigQuery relies on policy tags and data policies</span></a><span style="font-weight: 400;">, and </span><a href="https://learn.microsoft.com/en-us/azure/azure-sql/database/dynamic-data-masking-configure-portal"><span style="font-weight: 400;">SQL Server implements dynamic masking through column-level rules</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">Each system has different capabilities and constraints. </span><a href="https://docs.snowflake.com/en/user-guide/security-column-ddm-use"><span style="font-weight: 400;">Snowflake requires</span></a><span style="font-weight: 400;"> that masking policy functions have the same input and output data types. BigQuery doesn&#8217;t support masking on partitioned or clustered columns. Some platforms support format-preserving masking while others only provide simple substitution options.</span></p>
<p><span style="font-weight: 400;">Teams end up maintaining parallel policy definitions across platforms, leading to configuration drift, inconsistent protection levels, and complex testing requirements. A policy change that needs to be applied across Snowflake, BigQuery, and a PostgreSQL instance requires three different implementation approaches and validation procedures.</span></p>
<h3><span style="font-weight: 400;">Data pipeline compatibility challenges</span></h3>
<p><span style="font-weight: 400;">Masking can break downstream systems that depend on unmasked values for key operations. Change data capture (CDC) systems typically require access to primary keys to maintain consistency across replicas. </span><a href="https://fivetran.com/docs/destinations/snowflake/troubleshooting/dynamic-data-masking"><span style="font-weight: 400;">Fivetran specifically documents</span></a><span style="font-weight: 400;"> restrictions that occur when Snowflake masks primary key columns, as this can prevent proper synchronization and cause data pipeline failures.</span></p>
<p><span style="font-weight: 400;">Similarly, systems that need to perform joins across multiple tables may require access to unmasked foreign keys to maintain referential integrity. While you can use deterministic hashing to preserve join relationships, this requires coordinated implementation across all systems that participate in these relationships.</span></p>
<h2><span style="font-weight: 400;">Getting started with data masking in your organization</span></h2>
<p><span style="font-weight: 400;">Successfully implementing data masking requires a thoughtful approach that balances immediate protection needs with long-term scalability. The key is starting with clear use cases and building systematic capabilities rather than trying to solve everything at once.</span></p>
<h3><span style="font-weight: 400;">Choosing your initial masking strategy</span></h3>
<p><span style="font-weight: 400;">Begin by identifying your highest-risk, highest-value scenarios. These typically involve datasets that combine regulatory sensitivity with broad analytical usage. Customer transaction data used for fraud detection, patient records for medical research, or employee data for HR analytics often represent good starting points because they have clear compliance drivers and well-defined user communities.</span></p>
<p><span style="font-weight: 400;">For these initial use cases, decide between leveraging native platform capabilities or implementing centralized governance. If your data primarily lives in a single platform like Snowflake or BigQuery, </span><a href="https://docs.snowflake.com/en/user-guide/security-column-ddm-intro"><span style="font-weight: 400;">native masking policies</span></a><span style="font-weight: 400;"> provide the simplest path forward and integrate seamlessly with existing query performance optimizations.</span></p>
<p><span style="font-weight: 400;">However, if you&#8217;re working across multiple platforms or need more sophisticated policy management, the </span><a href="https://www.starburst.io/starburst-enterprise"><span style="font-weight: 400;">Starburst Enterprise</span></a><span style="font-weight: 400;"> with its </span><a href="https://docs.starburst.io/starburst-galaxy/security-and-compliance/manage-data-access/access-control-policy-types.html"><span style="font-weight: 400;">unified access control capabilities</span></a><span style="font-weight: 400;"> can provide consistent masking policies across diverse data sources. This approach is particularly valuable when you need tag-driven policies that can scale across many tables and columns without individual configuration.</span></p>
<h3><span style="font-weight: 400;">Solving the identity challenge first</span></h3>
<p><span style="font-weight: 400;">Before implementing any masking policies, establish how user identities will flow through your data access layers. </span><a href="https://docs.starburst.io/latest/connector/snowflake.html"><span style="font-weight: 400;">Configure OAuth or JWT pass-through</span></a><span style="font-weight: 400;"> where supported to ensure that masking policies evaluate based on actual end-user contexts rather than service accounts.</span></p>
<p><span style="font-weight: 400;">For scenarios where identity pass-through isn&#8217;t feasible, design service account strategies that align with your masking requirements. You might create role-specific service accounts (analyst_service_user, scientist_service_user) that receive different masking treatments, or implement application-level controls that apply masking before presenting data to users.</span></p>
<p><a href="https://docs.starburst.io/starburst-galaxy/security-and-compliance/manage-galaxy-access/manage-sso-integration/"><span style="font-weight: 400;">Starburst&#8217;s integration capabilities</span></a><span style="font-weight: 400;"> with SSO and SCIM systems can help maintain consistent identity and group membership across your data platform and masking policies, reducing the administrative overhead of keeping permissions synchronized.</span></p>
<h3><span style="font-weight: 400;">Performance testing and optimization strategies</span></h3>
<p><span style="font-weight: 400;">Plan for the performance implications of masking from the beginning. Set up test scenarios that measure query performance with and without masking applied, paying particular attention to queries that filter or join on masked columns. </span><a href="https://docs.starburst.io/latest/optimizer/pushdown.html"><span style="font-weight: 400;">Starburst&#8217;s optimization features</span></a><span style="font-weight: 400;"> like predicate pushdown and dynamic filtering can help mitigate some performance impacts, but you&#8217;ll need to understand the trade-offs for your specific workloads.</span></p>
<p><span style="font-weight: 400;">Consider implementing </span><a href="https://docs.starburst.io/latest/admin/starburst-cached-views.html"><span style="font-weight: 400;">caching strategies</span></a><span style="font-weight: 400;"> that can reduce the computational overhead of repeatedly applying masking transformations to the same underlying data. Cached views can be particularly effective for frequently-accessed datasets where the masking rules are stable.</span></p>
<p><span style="font-weight: 400;">When working with modern </span><a href="https://www.starburst.io/blog/open-data-lakehouse"><span style="font-weight: 400;">open data lakehouse architecture</span></a><span style="font-weight: 400;"> and </span><a href="https://www.starburst.io/blog/open-table-formats"><span style="font-weight: 400;">comparing open table formats</span></a><span style="font-weight: 400;">, performance optimization becomes even more critical. Organizations using </span><a href="https://www.starburst.io/blog/apache-iceberg"><span style="font-weight: 400;">Apache Iceberg</span></a><span style="font-weight: 400;"> can benefit from </span><a href="https://www.starburst.io/blog/improving-performance-with-iceberg-sorted-tables"><span style="font-weight: 400;">optimizing Iceberg table performance</span></a><span style="font-weight: 400;"> to minimize the overhead of applying masking transformations at query time.</span></p>
<h3><span style="font-weight: 400;">Building audit and compliance capabilities</span></h3>
<p><span style="font-weight: 400;">Implement comprehensive logging of masking policy changes and data access patterns from day one. </span><a href="https://docs.starburst.io/latest/security/audit.html"><span style="font-weight: 400;">Starburst&#8217;s audit capabilities</span></a><span style="font-weight: 400;"> can track both policy modifications and query executions, providing the detailed records you&#8217;ll need to demonstrate compliance and investigate any potential issues.</span></p>
<p><span style="font-weight: 400;">Establish processes for testing policy changes in non-production environments and documenting the business justification for different masking approaches. Regulators and auditors will want to understand not just what data is masked, but why specific techniques were chosen and how you validate that they&#8217;re working correctly.</span></p>
<h3><span style="font-weight: 400;">Scaling beyond initial implementations</span></h3>
<p><span style="font-weight: 400;">As your masking program matures, leverage </span><a href="https://docs.starburst.io/starburst-galaxy/security-and-compliance/manage-data-access/access-control-policy-types.html"><span style="font-weight: 400;">tag-based policy management</span></a><span style="font-weight: 400;"> to reduce the operational overhead of maintaining policies across growing data catalogs. Tags allow you to define masking rules once and apply them consistently across any table or column that receives the appropriate classification.</span></p>
<p><span style="font-weight: 400;">Consider integrating with enterprise governance platforms like </span><a href="https://docs.starburst.io/latest/security/ranger-overview.html"><span style="font-weight: 400;">Ranger</span></a><span style="font-weight: 400;"> or </span><a href="https://documentation.immuta.com/latest/configuration/integrations/starburst-trino/reference-guides/trino-overview"><span style="font-weight: 400;">Immuta</span></a><span style="font-weight: 400;"> if your organization has already invested in these systems. These integrations can help maintain consistency between your masking policies and broader data governance initiatives.</span></p>
<p><span style="font-weight: 400;">Organizations should also consider the </span><a href="https://www.starburst.io/blog/data-product-lifecycle"><span style="font-weight: 400;">data product lifecycle stages</span></a><span style="font-weight: 400;"> when implementing masking, ensuring that protection policies evolve appropriately as data products mature and gain broader usage across the enterprise.</span></p>
<p><span style="font-weight: 400;">The goal is building a masking capability that becomes a transparent part of your data platform rather than an additional layer that requires constant attention. When implemented thoughtfully, data masking enables organizations to say &#8220;yes&#8221; to more data requests while maintaining appropriate protection, ultimately accelerating analytics and AI initiatives rather than constraining them.</span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Your AI Agents Need You to Write Everything Down]]></title>
            <link>https://www.starburst.io/blog/write-your-context-down</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/write-your-context-down</guid>
            <pubDate>Wed, 16 Sep 2026 08:00:40 GMT</pubDate>
            <description><![CDATA[What happens if your AI agent promises a customer a benefit that never existed? Imagine, &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">What happens if your AI agent promises a customer a benefit that never existed?</span></p>
<p><span style="font-weight: 400;">Imagine, for example, a company chatbot that tells a customer it can resolve an issue with a customer’s delayed invoice payment. But what happens when it fails halfway through the attempt because it lacks full visibility into how invoices are </span><i><span style="font-weight: 400;">actually</span></i><span style="font-weight: 400;"> approved internally? Unfortunately, without proper </span><a href="https://www.starburst.io/blog/what-is-context-engineering/"><span style="font-weight: 400;">context engineering</span></a><span style="font-weight: 400;">, this can happen easily and </span><a href="https://www.starburst.io/blog/enterprise-agentic-ai-production-success-semantic-layer-context-layer/"><span style="font-weight: 400;">all too often in production.</span></a><span style="font-weight: 400;"> At its root, this problem is almost always to do with AI having </span><a href="https://www.starburst.io/info/agentic-workforce/"><span style="font-weight: 400;">general context but not specific context</span></a><span style="font-weight: 400;">. This means that your agent knows generic things, but doesn&#8217;t have the years of accumulated knowledge that someone in  Accounts Payable has accumulated over two decades navigating every possible blocker.</span></p>
<p><span style="font-weight: 400;">Identifying such policies </span><a href="https://www.starburst.io/blog/context-engineering-how-context-makes-or-breaks-your-ai-success/"><span style="font-weight: 400;">is table stakes for a successful agent deployment</span></a><span style="font-weight: 400;">. They lie scattered across your business. Everyone knows them intuitively, even if they’re not written down or are slightly out of date. </span></p>
<p><span style="font-weight: 400;">Everyone, that is, except your agent, because AI agents are not very good at intuition without context. Unfortunately, this never resides in a single drive or database marked “</span><a href="https://www.starburst.io/blog/what-is-business-context/"><span style="font-weight: 400;">business context</span></a><span style="font-weight: 400;">. Context </span><a href="https://www.starburst.io/blog/context-engineering-how-context-makes-or-breaks-your-ai-success/"><span style="font-weight: 400;">isn’t all in one place</span></a><span style="font-weight: 400;">, it’s spread out. </span></p>
<p><span style="font-weight: 400;">Where is it? Most of us assume that context is out there, somewhere. Maybe in an as-yet-undiscovered </span><a href="https://www.starburst.io/blog/data-silos/"><span style="font-weight: 400;">data silo</span></a><span style="font-weight: 400;">. In many cases, though, the data AI agents need lies in </span><a href="https://www.starburst.io/blog/stop-moving-data-start-using-it-blueprint-data-federation-ai/"><span style="font-weight: 400;">uncharted territory</span></a><span style="font-weight: 400;">. </span></p>
<p><span style="font-weight: 400;">Check out this video from our CEO, <a href="https://www.linkedin.com/in/justinborgman/">Justin Borgman</a> explaining this exact topic. </span></p>
<p><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/1uePNc3l-Q0?si=Um9Zvs8hq6Mnba29" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="allowfullscreen" data-mce-fragment="1"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span></iframe></p>
<p><span style="font-weight: 400;"></span></p>
<p><span style="font-weight: 400;">In this article, we’ll look at why so much valuable business context remains unmapped, why writing it down is a necessary precursor to the efficiencies inherent to AI, and how to make that context accessible to your agents. </span></p>
<h2><span style="font-weight: 400;">The blank spaces on the map </span></h2>
<p><span style="font-weight: 400;">A lot of problems arise from the fact that agents can’t access your data, and </span><a href="https://www.starburst.io/blog/why-the-future-of-ai-relies-on-context-conversation/"><span style="font-weight: 400;">Starburst has a particular strength on that front to its focus on data federation</span></a><span style="font-weight: 400;">. But what if the problem is different? What if the problem isn’t that this data isn’t accessible, but that it doesn’t exist as data at all? That’s a different kind of problem. You can’t access non-data at all because it needs to become data first to be on the map in the first place. In this sense, telling AI to find it and work with it is like telling a ship captain to sail into the blank spaces on a map and take actions on the basis of it. Once they get to the map’s edge, they’re flying blind.</span></p>
<p><span style="font-weight: 400;">The data backs this up. Most organizations don’t think their data is AI-ready, and a big part of that involves the deficiencies around context engineering in an enterprise setting. A Harvard Business Review Analytic Services study found that </span><a href="https://www.cloudera.com/about/news-and-blogs/press-releases/2026-03-05-only-7-percent-of-enterprises-say-their-data-is-completely-ready-for-ai-according-to-new-report-from-cloudera-and-harvard-business-review-analytic-services-reveals.html"><span style="font-weight: 400;">only 7% of enterprises think their data is completely ready</span></a><span style="font-weight: 400;"> to serve the next generation of autonomous agents. </span></p>
<p><span style="font-weight: 400;">Across the survey, the majority (56%) said their main obstacle was difficulty accessing data and integrating data sources. But a far harder problem lingers beneath the surface. </span></p>
<p><span style="font-weight: 400;">The goal with AI agents is for them to have enough information to make </span><a href="https://www.starburst.io/blog/agent-grounding-the-missing-discipline-in-enterprise-ai/"><span style="font-weight: 400;">autonomous decisions</span></a><span style="font-weight: 400;">. To do that, they need to know what your employees know.  In the invoice case above, for example, they need to know who’s involved in the approval process, what commonly causes processing delays, and common workarounds for known issues. </span></p>
<p><span style="font-weight: 400;">Accessing that information requires more than just setting up a new data connector. It requires writing it down in the first place so it doesn’t exist only in the heads of your employees. </span></p>
<h3><span style="font-weight: 400;">The missing piece of the context puzzle</span></h3>
<p><span style="font-weight: 400;">We can think of business context as falling into three categories: </span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><b>Technical context</b><span style="font-weight: 400;">. This is the data about your data, or metadata, including descriptions, last updated times, owners, and </span><a href="https://www.starburst.io/blog/why-data-lineage-matters/"><span style="font-weight: 400;">data lineage</span></a><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Business context</b><span style="font-weight: 400;">. The metrics and key definitions, such as how revenue is calculated, that constitute the bleeding heart of your business. This is the language of how your business works.</span></li>
<li style="font-weight: 400;" aria-level="1"><b>Process context</b><span style="font-weight: 400;">. How various business workflows operate from end to end, along with the pressures, business culture, and capabilities that influence human decision-making, for example your company’s mission statement, or institutional knowledge about your competitors.</span></li>
</ul>
<p><span style="font-weight: 400;">The first is easy to acquire and populate using existing technology. The second is possible, but requires more work, as it involves documenting the company’s most critical business definitions in </span><a href="https://www.starburst.io/blog/what-is-the-semantic-layer/"><span style="font-weight: 400;">a semantic layer</span></a><span style="font-weight: 400;">.</span></p>
<h2><span style="font-weight: 400;">Naming the territory</span></h2>
<p><span style="font-weight: 400;">These blank spots on the map have existed for years. Sometimes, humans draw them in. Most of the time, they leave them blank. Or they write them down once and fail to update them when they change. </span></p>
<p><span style="font-weight: 400;"></span><span style="font-weight: 400;">There have been good reasons why much of this stays uncharted. Familiarity means that traditionally, there has never really been a need, and organizations and people alike don’t tend to invest time and energy in things that aren’t needed. If you live in a neighborhood, you don’t need to draw a map of it. You know where the local grocery store and the post office are without writing this information down. You know to avoid turning down Harrold Street because it’s a dead end. </span></p>
<p><span style="font-weight: 400;">Human minds are context engines. That enables us to do a lot without committing it to paper. We can hold knowledge in our heads and pass it on to other humans, such as during the employee onboarding process. Writing this information down and maintaining it is extra work that falls by the wayside when things get busy. Additionally, before the advent of AI, there was no good way for machines to read and use this information, which limited its use in business automation. </span></p>
<p><span style="font-weight: 400;">In other words, sailing into uncharted waters has been hard work with little reward. </span></p>
<p><span style="font-weight: 400;">There’s a tendency for companies to say “let’s use AI to fix this.” But AI can’t help here </span><i><span style="font-weight: 400;">by definition</span></i><span style="font-weight: 400;">, at least not out of the box. </span></p>
<p><span style="font-weight: 400;">LLMs are like mixing machines. They can slice, dice, and recombine existing content. They need something original to work from.  Without this raw material, they can’t author business context that no one’s ever recorded. If you try to force them, the answers will be hallucinatory and, often, hilariously wrong. </span></p>
<p><span style="font-weight: 400;">Mapping this uncharted territory requires humans to </span><a href="https://www.starburst.io/blog/how-is-enterprise-data-architecture-changing"><span style="font-weight: 400;">set sail and navigate it themselves</span></a><span style="font-weight: 400;">. In data terms, it requires a human-led effort in </span><a href="https://www.starburst.io/blog/context-is-the-new-bottleneck/"><span style="font-weight: 400;">context engineering to chart, describe, and label the no-man’s lands of your business context</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">This mapping work requires changing how you think about documenting work, and developing a culture of </span><b>turning context into data</b><span style="font-weight: 400;">. The form of this will differ depending on what you need to capture. It may be a table connected to business logic held in a semantic layer, a description of a process, an Excel spreadsheet, or even a transcript from a recorded meeting. </span></p>
<p><span style="font-weight: 400;">What’s important is that this context is captured </span><i><span style="font-weight: 400;">somehow</span></i><span style="font-weight: 400;"> and </span><i><span style="font-weight: 400;">somewhere</span></i><span style="font-weight: 400;"> in a form that can be supplied to AI agents to enhance their decision-making. </span></p>
<h2><span style="font-weight: 400;">What needs to be written down </span></h2>
<p><span style="font-weight: 400;">Context engineering isn’t a one-off, it’s an ongoing process. You can focus on context periodically to try to catch up on what you’ve failed to document so far. But ultimately, you need tools and processes in place to write down the new context your business generates every week. </span></p>
<p><span style="font-weight: 400;">This context includes, but is not limited to: </span></p>
<h3><span style="font-weight: 400;">Workflows detailing how things get done </span></h3>
<p><span style="font-weight: 400;">This is perhaps the most critical gap businesses need to fill. If agents are going to act autonomously, they need to understand how your business operates. </span></p>
<p><span style="font-weight: 400;">This isn’t just limited to publicly available chatbots. AI agents need to understand the conditions, </span><a href="https://www.starburst.io/blog/introducing-guardrails-keeping-aida-on-task/"><span style="font-weight: 400;">guardrails</span></a><span style="font-weight: 400;">, and human approvals needed before making many business-critical decisions. </span></p>
<p><span style="font-weight: 400;">Without this context, agents might:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Throw out a sales lead because of a low-quality score. The agent didn’t know that inquiries from named accounts should always go to their account executive regardless of lead score. </span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Resolve a support ticket unilaterally with a link to a knowledge base article. The customer was a tier-1 account, and their issue was security-related, necessitating their Customer Success Manager be looped in first.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Delete records and files it thinks aren’t in use. The company was required to keep those records due to a legal hold or to conform to data regulations such as </span><a href="https://gdpr.eu/"><span style="font-weight: 400;">GDPR</span></a><span style="font-weight: 400;">.</span></li>
</ul>
<h3><span style="font-weight: 400;">Meaning detailing definitions and the rules behind them </span></h3>
<p><span style="font-weight: 400;">It’s not enough to document how you calculate terms like </span><i><span style="font-weight: 400;">active customer</span></i><span style="font-weight: 400;"> or </span><i><span style="font-weight: 400;">churn</span></i><span style="font-weight: 400;">. You need to provide the reasoning, logic, and rules behind that decision as well. </span></p>
<p><span style="font-weight: 400;">Many of these calculations reflect decisions that never make it into a document. Why do you count renewals the way you do? How do you identify (and exclude) test accounts? How do you score and distinguish real leads from junk queries?</span></p>
<p><span style="font-weight: 400;">A number without context is just a number. The rules and the reasoning behind them provide invaluable insights that agents can leverage to make autonomous decisions. </span></p>
<h3><span style="font-weight: 400;">Connection detailing how data relates</span></h3>
<p><span style="font-weight: 400;">Another common gap in knowledge is how data relates across data sources. For example, finance may have an “account” entity. Is that the same as the “customer” entity in the sales CRM? And what about the “org” entity in the product database?</span></p>
<p><span style="font-weight: 400;">These may all refer to the same entity, or they may refer to slight variations of one another. Often, this is the kind of knowledge a data engineer or senior analyst keeps in their head when devising new queries. They know intuitively how to perform a distributed join on a cleaned ID, not the raw one. In other words, they exercise judgement on the basis of their context. </span></p>
<p><span style="font-weight: 400;">This is the kind of thing that, without explicit knowledge, an agent attempts to infer. Sometimes, it’s right. Often, it isn’t. </span></p>
<h2><span style="font-weight: 400;">Bringing data back from the badlands</span></h2>
<p><span style="font-weight: 400;">It’s trendy to call agents coworkers. But most agents aren’t close to achieving that status, and they won’t be without overcoming the context gap. </span></p>
<p><span style="font-weight: 400;">That’s because we assume all the data they need is out there somewhere. But much of it isn’t anywhere accessible to agents. Most of it is still in employees&#8217; heads, constituting a vast sea of uncharted territory. </span></p>
<p><span style="font-weight: 400;">Unless you can turn this context into data, your AI agent projects won’t succeed. They’ll always be operating on a partial, limited view of your business, and that is not sufficient. For agents to be true coworkers, you need to fully map the unexplored territory that your employees navigate almost on instinct.</span></p>
<p><span style="font-weight: 400;">Tools and technology can help here. Starburst ensures </span><a href="https://www.starburst.io/blog/enterprise-ai-data-access/"><span style="font-weight: 400;">you can access data wherever it lives</span></a><span style="font-weight: 400;">, and </span><a href="https://www.starburst.io/blog/what-does-it-take-to-build-an-enterprise-context-layer/"><span style="font-weight: 400;">helps you build an enterprise context layer</span></a><span style="font-weight: 400;"> to give agents the context they need.</span></p>
<p><span style="font-weight: 400;">No tool in the world, though, can help your AI agents access territory that doesn’t exist on any map. Only by naming and describing these uncharted lands can you ensure that your AI agents have the context they need to make decisions that reflect how your business actually works.</span></p>
<p><span style="font-weight: 400;">Want to know more about how Starburst can access context wherever it lives? Read our </span><a href="https://www.starburst.io/info/agentic-workforce/"><span style="font-weight: 400;">whitepaper outlining how to build an agentic workforce with context in mind</span></a><span style="font-weight: 400;">. </span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is a Context Layer?]]></title>
            <link>https://www.starburst.io/blog/what-is-a-context-layer</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/what-is-a-context-layer</guid>
            <pubDate>Tue, 15 Sep 2026 22:41:45 GMT</pubDate>
            <description><![CDATA[Most enterprises already have data sitting across multiple data sources, including data lakes, cloud data &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Most enterprises already have data sitting across multiple data sources, including </span><a href="https://www.starburst.io/blog/what-data-lake/"><span style="font-weight: 400;">data lakes</span></a><span style="font-weight: 400;">, </span><a href="https://www.starburst.io/blog/data-warehouse-apache-iceberg-icehouse/"><span style="font-weight: 400;">cloud data warehouses</span></a><span style="font-weight: 400;">, and operational databases. What they lack is a single, governed architecture that defines the context that governs those sources. Terms like revenue, customer, or active account do not exist on their own. They exist within a nexus of context that moves according to the </span><a href="https://www.starburst.io/blog/what-is-business-context/"><span style="font-weight: 400;">logic of your business</span></a><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;">That missing architectural component is known as a</span><a href="https://www.google.com/search?q=https://www.starburst.io/blog/data-context-ai-agents/"> <span style="font-weight: 400;">context layer</span></a><span style="font-weight: 400;">. It operates above storage and compute, and acts as the layer of meaning across your entire data ecosystem. </span></p>
<p><span style="font-weight: 400;">The context layer provides the </span><a href="https://www.starburst.io/blog/agent-grounding-the-missing-discipline-in-enterprise-ai/"><span style="font-weight: 400;">ground truth</span></a><span style="font-weight: 400;"> to bridge the gap between raw database schemas and downstream consumers. It equips </span><a href="https://www.starburst.io/blog/data-access-for-ai-getting-started/"><span style="font-weight: 400;">human analysts and AI agents alike</span></a><span style="font-weight: 400;"> with the exact business intelligence needed to deliver consistent, scoped, and fully auditable answers across every tool in your stack.</span></p>
<h2><span style="font-weight: 400;">Key takeaways</span></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A context layer is a governed tier, not a single tool. It sits between data and consumers, both humans and agents, and supplies certified business meaning.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">It has three jobs: structure, meaning, and governance.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A semantic layer is necessary but not sufficient. Consistent metrics in one data warehouse do not resolve identity or business rules across systems.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Data products are the reusable unit. Definitions, owners, and rules travel with the data instead of living in a disconnected wiki.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Agents need scoped, steward-approved context before they reason. A raw schema dump produces confident, untrustworthy answers.</span></li>
</ul>
<h2><span style="font-weight: 400;">What is a context layer?</span></h2>
<p><span style="font-weight: 400;">Think of the context layer as a layer of verified meaning, not as another copy of the data underlying it. Importantly, it sits above storage and compute, but below BI tools, notebooks, and AI assistants. Its job is to apply shared definitions, metadata, and policies so raw data becomes usable by both humans and agents.</span></p>
<p><span style="font-weight: 400;">You can think of the context layer as the part of your data architecture that makes meaning possible, especially for </span><a href="https://www.starburst.io/blog/understanding-the-importance-of-the-context-layer/"><span style="font-weight: 400;">agentic AI</span></a><span style="font-weight: 400;">. AI agents require context to know how to operate, to give it the same business intelligence your analysts already use, in a form it can retrieve on every question.</span></p>
<h2><span style="font-weight: 400;">What sits inside the context layer</span></h2>
<p><span style="font-weight: 400;">A working context layer is not one thing but many. Overall, you can think of as a functional tier with three jobs: </span><a href="https://www.starburst.io/blog/why-the-enterprise-context-layer-will-make-or-break-enterprise-ai/"><span style="font-weight: 400;">structure, meaning, and governance</span></a><span style="font-weight: 400;">.</span></p>
<h3><span style="font-weight: 400;">Structure, meaning, and governance</span></h3>
<p><span style="font-weight: 400;">Structure involves taking inventory of the data sources and their meaning, including which tables, files, metrics, and data products exist, which domains own them, and which joins are valid. Without structure, an agent searches a pile of similarly named columns and guesses.</span></p>
<p><span style="font-weight: 400;">Meaning acts as the translation layer for how your organization operates. It resolves entity identity across systems, recognizing that a </span><span style="font-weight: 400;">Customer ID</span><span style="font-weight: 400;"> in an S3 marketing datasource represents the exact same entity as a </span><span style="font-weight: 400;">Client Code</span><span style="font-weight: 400;"> in a billing database. It records these cross-system links alongside metric formulas, synonyms, and domain owners.</span></p>
<p><span style="font-weight: 400;">Governance applies policy enforcement at the precise moment data is used. It manages access controls, certification states, and audit trails that trace every generated answer back to its underlying definition and human steward. Unverified metadata stays in a pending state until a steward confirms it, ensuring agents reason against certified assets rather than raw, inferred query history.</span></p>
<h2><span style="font-weight: 400;">How a context layer differs from a semantic layer</span></h2>
<p><span style="font-weight: 400;">A </span><a href="https://www.starburst.io/blog/what-is-the-semantic-layer/"><span style="font-weight: 400;">semantic layer</span></a><span style="font-weight: 400;"> provides business intelligence tools with consistent metrics, dimensions, and schema relationships. That functionality remains essential, as teams like finance and product should never calculate core metrics like monthly recurring revenue using conflicting formulas.</span></p>
<p><span style="font-weight: 400;">However, a semantic layer represents only one piece of a complete context layer. Standard metric models compiled to SQL typically assume visibility over a single data warehouse or lakehouse. By themselves, they cannot resolve an entity like a customer that exists under three separate identifiers across CRM, billing, and support systems. They also fail to capture non-metric business rules, such as excluding internal test accounts, flagging deprecated tables, or accounting for fiscal calendar exceptions.</span></p>
<p><span style="font-weight: 400;">Overall you should see the semantic layer as an input rather than the entire solution. In contrast, the context layer manages entity identity across systems, enforces steward certification, and delivers a scoped package of meaning directly to an AI agent. Simply renaming a semantic model as context leaves AI agents guessing across persistent data silos.</span></p>
<h2><span style="font-weight: 400;">How it works in practice</span></h2>
<p><span style="font-weight: 400;">In practice, a context layer operates as a continuous four-part loop.</span></p>
<h3><span style="font-weight: 400;">Part 1</span></h3>
<p><span style="font-weight: 400;">First, it harvests live metadata across your existing stack, drawing from data catalogs, transformation pipelines, BI workbooks, and query logs. Most of the business meaning you need already exists across your organization, so the goal is to collect and unify that tribal knowledge rather than rebuild it from scratch.</span></p>
<h3><span style="font-weight: 400;">Part 2</span></h3>
<p><span style="font-weight: 400;">Second, it structures harvested metadata into certified business semantics. Human users review and approve proposed entities, metric formulas, and valid join paths. Any unverified metadata remains in a pending state until confirmed, ensuring unvetted assumptions never reach downstream consumers.</span></p>
<h3><span style="font-weight: 400;">Part 3</span></h3>
<p><span style="font-weight: 400;">Third, it assembles a scoped package of context tailored to the specific question being asked. An AI agent querying customer revenue does not need access to your entire data estate. Instead, it receives only the specific tables, metrics, join paths, and business rules relevant to that request, sized precisely to fit within its context window.</span></p>
<h3><span style="font-weight: 400;">Part 4</span></h3>
<p><span style="font-weight: 400;">Fourth, it serves that assembled context to the agent before the model begins reasoning. This delivery step provides the essential grounding that prevents hallucinations. </span></p>
<h2><span style="font-weight: 400;">Why agents need a context layer</span></h2>
<p><span style="font-weight: 400;">Human analysts naturally stop and ask a clarifying question when a data definition or output looks wrong. Autonomous AI agents, on the other hand, frequently infer and execute queries without double-checking. This explains why a prototype that looks impressive against a clean, sample database </span><a href="https://www.starburst.io/info/from-ai-ambition-to-production-in-90-days-a-practical-playbook-for-financial-services-leaders/"><span style="font-weight: 400;">collapses in production</span></a><span style="font-weight: 400;">. The model possesses general technical skills, but it lacks the operational reality of your business.</span></p>
<p><span style="font-weight: 400;">A context layer provides the architectural bridge required to </span><a href="https://www.starburst.io/blog/enterprise-agentic-ai-production-success-semantic-layer-context-layer/"><span style="font-weight: 400;">move AI prototypes into production reliably</span></a><span style="font-weight: 400;">, without relying on larger model context windows as a substitute for governance. It allows you to publish data products, certify metric logic, retrieve scoped metadata per question, and maintain an audit trail tracing every output back to its underlying definition.</span></p>
<p><span style="font-weight: 400;">This operational loop enables you to point AI assistants directly at live, governed enterprise data rather than static, private extracts. Solutions like </span><a href="https://www.starburst.io/blog/starburst-delivers-aida-an-ai-agent-built-to-disrupt-bi/"><span style="font-weight: 400;">Starburst AIDA</span></a><span style="font-weight: 400;"> demonstrate this pattern by providing </span><a href="https://www.starburst.io/blog/why-the-future-of-ai-relies-on-context-conversation/"><span style="font-weight: 400;">natural-language access to enterprise data</span></a><span style="font-weight: 400;">. By embedding data product metadata and business rules as session context, the assistant remains securely anchored to a trusted, audited product rather than navigating a raw, ungoverned schema dump.</span></p>
<h2><span style="font-weight: 400;">Choosing a data platform to access your context layer</span></h2>
<p><span style="font-weight: 400;">Starburst provides the context layer capable of accessing all of your enterprise’s data. Because it is based on </span><a href="https://www.starburst.io/blog/what-is-data-federation/"><span style="font-weight: 400;">data federation</span></a><span style="font-weight: 400;">, you do not need to rebuild your architecture or deploy four new systems to get started. You simply need to decide where certified business meaning lives, ensuring it no longer exists solely as unwritten tribal knowledge, and then access it.</span></p>
<p><span style="font-weight: 400;">Whether operating on a fully managed lakehouse or a self-managed deployment, query federation reaches across your data lakes and cloud data warehouses without forcing you to copy data each time. The context layer then evaluates those federated sources in real time, deciding which dataset represents the authoritative source of truth for a question and enforcing row-level security before a query executes.</span></p>
<p><span style="font-weight: 400;">The context layer turns business meaning into a core platform feature, ensuring that human analysts and autonomous agents reason from the exact same certified ground truth.</span></p>
<h3><span style="font-weight: 400;">Getting started</span></h3>
<p><span style="font-weight: 400;">Getting started does not require an all-at-once migration. Start with the data sources and data products you already offer internally, attach domain owners and metric logic, and check it against your business logic. By serving those unified definitions to BI dashboards and AI agents alike, you can systematically scale governed context domain by domain.</span></p>
<p><span style="font-weight: 400;">Ready to build a governed context layer for your enterprise? Download The </span><a href="https://www.starburst.io/info/agentic-workforce/"><span style="font-weight: 400;">Technical Guide for Scaling Your Agentic Workforce</span></a><span style="font-weight: 400;"> to learn how connecting AI agents to certified business context turns experimental prototypes into trusted production systems.</span></p>
<h2><span style="font-weight: 400;">FAQs</span></h2>
<h3><span style="font-weight: 400;">What is a context layer in a data platform?</span></h3>
<p><span style="font-weight: 400;">It is the governed tier between your data and the tools that consume it. It stores verified definitions, relationships, and policies, then serves a scoped package of that meaning for each question.</span></p>
<h3><span style="font-weight: 400;">How is a context layer different from a semantic layer?</span></h3>
<p><span style="font-weight: 400;">A semantic layer keeps </span><a href="https://www.starburst.io/blog/what-is-the-semantic-layer/"><span style="font-weight: 400;">consistent metrics, dimensions, and relationships</span></a><span style="font-weight: 400;"> for BI. A context layer includes that work and adds identity across systems, steward certification, and retrieval for agents.</span></p>
<h3><span style="font-weight: 400;">What does a context layer contain?</span></h3>
<p><span style="font-weight: 400;">A context layer contains </span><a href="https://www.starburst.io/blog/why-the-enterprise-context-layer-will-make-or-break-enterprise-ai/"><span style="font-weight: 400;">structure, meaning, and governance</span></a><span style="font-weight: 400;">. It operates as an inventory of assets, business definitions and relationships, and the controls that decide who may use them and how answers are traced.</span></p>
<h3><span style="font-weight: 400;">Why do AI agents need a context layer?</span></h3>
<p><span style="font-weight: 400;">Agents do not ask clarifying questions the way analysts do. They need </span><a href="https://www.starburst.io/blog/agent-grounding-the-missing-discipline-in-enterprise-ai/"><span style="font-weight: 400;">assembled context served before reasoning</span></a><span style="font-weight: 400;"> so they do not guess from raw schemas.</span></p>
<h3><span style="font-weight: 400;">Is a context layer a catalog or a wiki?</span></h3>
<p><span style="font-weight: 400;">No. A catalog lists assets. A wiki captures tribal knowledge. A context layer binds certified meaning to live data and serves it at query time.</span></p>
<h3><span style="font-weight: 400;">How do data products relate to the context layer?</span></h3>
<p><span style="font-weight: 400;">Data products operate as </span><a href="https://www.starburst.io/blog/context-is-the-new-bottleneck/"><span style="font-weight: 400;">curated, governed datasets that structure context</span></a><span style="font-weight: 400;">. </span></p>
<p>&nbsp;</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is Query Pushdown?]]></title>
            <link>https://www.starburst.io/blog/what-is-query-pushdown</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/what-is-query-pushdown</guid>
            <pubDate>Tue, 15 Sep 2026 08:00:53 GMT</pubDate>
            <description><![CDATA[Query pushdown is a query optimization technique that moves operations like filters, aggregations, and projections &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Query pushdown is a query optimization technique that moves operations like filters, aggregations, and projections from your query engine down into the source systems where data actually lives. Instead of pulling entire tables across the network just to filter them later, </span><a href="https://trino.io/docs/current/optimizer/pushdown.html?utm_source=openai"><span style="font-weight: 400;">pushdown ensures operations execute as close to the data as possible</span></a><span style="font-weight: 400;">, dramatically reducing the amount of data scanned, transferred, and processed by your query engine.</span></p>
<p><span style="font-weight: 400;">In today&#8217;s data architectures, pushdown serves dual purposes. Teams use it for exploratory </span><a href="https://www.starburst.io/blog/what-is-data-federation/"><span style="font-weight: 400;">data federation</span></a><span style="font-weight: 400;">, querying across </span><a href="https://www.starburst.io/blog/stop-moving-data-start-using-it-blueprint-data-federation-ai/"><span style="font-weight: 400;">multiple sources without moving data</span></a><span style="font-weight: 400;">, and for ingestion patterns that materialize results into target tables while minimizing load on source systems. With Starburst, any </span><a href="https://docs.starburst.io/starburst-galaxy/data-engineering/optimization-performance-and-quality/materialized-views.html?utm_source=openai"><span style="font-weight: 400;">successful federated query can become a materialized view in object storage</span></a><span style="font-weight: 400;">, transforming </span><a href="https://www.starburst.io/blog/what-is-predicate-pushdown/"><span style="font-weight: 400;">pushdown-optimized reads</span></a><span style="font-weight: 400;"> into persisted data assets that power downstream analytics and AI workloads.</span></p>
<p><span style="font-weight: 400;">The challenges teams face implementing query pushdown are real and costly. Unpredictable performance across different connectors, spiraling egress charges, API limits that throttle critical jobs, and observability gaps make it impossible to verify what&#8217;s actually being optimized. This is where </span><a href="https://www.starburst.io/why-starburst/"><span style="font-weight: 400;">Starburst&#8217;s comprehensive approach</span></a><span style="font-weight: 400;"> to pushdown optimization becomes invaluable, providing enterprise-grade connectors, intelligent cost controls, and the tooling needed to operationalize pushdown across your entire data ecosystem.</span></p>
<p><span style="font-weight: 400;">Query pushdown has become critical as organizations scale their data operations because it directly addresses the three biggest bottlenecks in modern analytics: </span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Network transfer costs</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Compute resource waste</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Time to insight</span></li>
</ul>
<p><span style="font-weight: 400;">When your marketing team needs to analyze customer behavior across CRM data in Salesforce, transaction records in PostgreSQL, and web analytics in BigQuery, pushdown ensures you&#8217;re only moving the specific rows and columns needed rather than entire datasets.</span></p>
<h3><span style="font-weight: 400;">The economics of selective data movement</span></h3>
<p><span style="font-weight: 400;">Let’s say you’re joining customer data from a 50-million-row table in </span><a href="https://www.starburst.io/blog/introducing-snowflake-catalog-metastore/"><span style="font-weight: 400;">Snowflake</span></a><span style="font-weight: 400;"> with a much smaller dimension table in your lakehouse. Without pushdown, you&#8217;d transfer all 50 million rows across the network, then filter and aggregate in your query engine. With effective pushdown, filters and aggregations execute within Snowflake, and only the pre-aggregated results cross the network boundary. This vastly reduces data transfer costs by orders of magnitude, especially when working across cloud providers or regions.</span></p>
<p><span style="font-weight: 400;">Organizations processing massive volumes see this impact clearly. For example, Going</span><a href="https://www.starburst.io/resources/going-case-study/?utm_source=openai"><span style="font-weight: 400;"> processes over 50 petabytes annually and delivers timely price alerts using Starburst Galaxy</span></a><span style="font-weight: 400;">, with pushdown optimization playing a crucial role in maintaining both performance and cost efficiency at scale.</span></p>
<h3><span style="font-weight: 400;">Enabling rapid data product development</span></h3>
<p><span style="font-weight: 400;">Meanwhile, </span><a href="https://www.starburst.io/resources/kovi-case-study/?utm_source=openai"><span style="font-weight: 400;">companies like Kovi have used Starburst with Iceberg to speed ad-hoc queries and ETL while cutting compute costs</span></a><span style="font-weight: 400;">. The approach means writing federated SQL that selects only the data needed using pushdown, then materializes results using CREATE TABLE AS SELECT or materialized views. This approach enables teams to </span><a href="https://www.starburst.io/solutions/data-products/"><span style="font-weight: 400;">create and manage data products</span></a><span style="font-weight: 400;"> without the traditional overhead of complex ETL pipelines.</span></p>
<h3><span style="font-weight: 400;">Cross-border analytics and data sovereignty</span></h3>
<p><span style="font-weight: 400;">For organizations with data residency requirements, pushdown becomes even more critical. Rather than moving entire datasets across borders or cloud regions, </span><a href="https://www.starburst.io/press-releases/starburst-announces-stargate-a-gateway-for-global-cross-cloud-analytics/?utm_source=openai"><span style="font-weight: 400;">capabilities like Starburst Stargate allow AI workloads and analytics queries to operate without mass data relocation</span></a><span style="font-weight: 400;">, enabling ingestion and materialization only of permitted, policy-filtered subsets per region.</span></p>
<h2><span style="font-weight: 400;">The technical realities that complicate query pushdown</span></h2>
<p><span style="font-weight: 400;">Despite its clear benefits, implementing effective query pushdown requires a strategic approach. Understanding these obstacles helps you plan realistic timelines and architect solutions that actually work in production.</span></p>
<h3><span style="font-weight: 400;">Inconsistent pushdown capabilities across connectors</span></h3>
<p><span style="font-weight: 400;">Typically, the biggest challenge teams face is that pushdown support varies dramatically between different data sources. </span><a href="https://docs.starburst.io/latest/optimizer/pushdown.html?utm_source=openai"><span style="font-weight: 400;">Whether a filter, aggregation, or join can be pushed down depends entirely on the specific connector</span></a><span style="font-weight: 400;">. Some connectors restrict certain predicate types, meaning string operations or range queries that work perfectly with one source might not push down to another. This inconsistency makes it difficult to predict query performance and costs when working across heterogeneous environments.</span></p>
<p><span style="font-weight: 400;">You might write SQL expecting consistent behavior across your PostgreSQL and Oracle sources, only to discover that complex WHERE clauses push down to PostgreSQL but execute locally when querying Oracle, completely changing your resource requirements and execution time.</span></p>
<h3><span style="font-weight: 400;">How Starburst helps manage this unpredictability and cross-cloud complexity</span></h3>
<p><a href="https://docs.starburst.io/latest/connector/snowflake.html?utm_source=openai"><span style="font-weight: 400;">Starburst addresses this by disabling join pushdown by default</span></a><span style="font-weight: 400;"> to help avoid unexpected warehouse compute charges. This exemplifies a broader challenge, including join operations in remote warehouses can drive surprising costs, and cross-region or cross-cloud data egress creates additional charges that are difficult to predict and budget for.</span></p>
<p><span style="font-weight: 400;">This ensures that teams do not discover these cost implications after they&#8217;ve already committed to an architecture. Other technologies can cause seemingly efficient federated queries to trigger thousands of dollars in warehouse compute charges or egress fees, especially when </span><a href="https://cloud.google.com/bigquery/pricing.html?utm_source=openai"><span style="font-weight: 400;">BigQuery or Snowflake data transfer costs</span></a><span style="font-weight: 400;"> compound across regions.</span></p>
<h2><span style="font-weight: 400;">Why these challenges persist in other modern architectures</span></h2>
<p><span style="font-weight: 400;">These pushdown challenges persist because they reflect fundamental tensions in modern data architecture. The fragmentation of data platforms and protocols means that </span><a href="https://docs.starburst.io/latest/optimizer/pushdown.html?utm_source=openai"><span style="font-weight: 400;">connectors need to map very different capabilities</span></a><span style="font-weight: 400;">, each with unique limits for predicates, aggregates, and joins. This prevents teams from implementing uniform ingestion policies across their data ecosystem.</span></p>
<p><span style="font-weight: 400;">Legacy and enterprise sources compound this complexity. </span><a href="https://docs.starburst.io/latest/connector/starburst-connectors.html?utm_source=openai"><span style="font-weight: 400;">Systems like Oracle, Teradata, Db2, SAP, and Salesforce</span></a><span style="font-weight: 400;"> expose varied SQL dialects, query planners, and transactional constraints. Each requires specialized connector logic, and pushdown support remains uneven across this landscape.</span></p>
<p><span style="font-weight: 400;">Governance and data sovereignty requirements add another layer of complexity. Cross-cloud and cross-region data movement triggers residency and privacy controls, requiring fine-grained policies across many systems. </span><a href="https://www.starburst.io/press-releases/starburst-announces-stargate-a-gateway-for-global-cross-cloud-analytics/?utm_source=openai"><span style="font-weight: 400;">Even correct pushdown can create compliance issues</span></a><span style="font-weight: 400;"> when filtered data crosses jurisdictional boundaries unexpectedly.</span></p>
<p><span style="font-weight: 400;">Finally, cloud cost models tied to scanned bytes and egress create moving targets for optimization. Pricing policies change regularly, and what appears to be an efficient pushdown strategy today might become expensive tomorrow as providers adjust their transfer and compute pricing.</span></p>
<h2><span style="font-weight: 400;">Your path to production-ready query pushdown</span></h2>
<p><span style="font-weight: 400;">Getting started with query pushdown successfully requires focusing on verification first, then scaling systematically as you understand the behavior patterns of your specific sources and workloads. </span></p>
<p><span style="font-weight: 400;">Starburst is designed specifically to work within this framework. </span></p>
<h3><span style="font-weight: 400;">Start with pushdown verification</span></h3>
<p><span style="font-weight: 400;">Before committing to any ingestion architecture, establish a practice of using </span><a href="https://trino.io/docs/current/sql/explain.html?utm_source=openai"><span style="font-weight: 400;">EXPLAIN statements to confirm which operations actually push down</span></a><span style="font-weight: 400;">. Simple AND-ed predicates typically push down reliably, while complex expressions often don&#8217;t. Build this verification into your development process so teams can iterate on SQL to maximize pushdown before deploying production jobs.</span></p>
<p><span style="font-weight: 400;">Consider operationalizing this verification in your CI/CD pipeline. If a critical ingestion query suddenly loses pushdown capability due to connector updates or source changes, you want to know before it impacts production performance and costs.</span></p>
<h3><span style="font-weight: 400;">Leverage enterprise-grade connectors with intelligent defaults</span></h3>
<p><a href="https://docs.starburst.io/latest/connector/starburst-connectors.html?utm_source=openai"><span style="font-weight: 400;">Starburst&#8217;s enterprise connector portfolio</span></a><span style="font-weight: 400;"> includes purpose-built connectors for systems like Snowflake, BigQuery, Teradata, and Salesforce that are specifically optimized for pushdown scenarios. These aren&#8217;t just enhanced versions of open-source connectors; they include parallel read capabilities, managed statistics, and intelligent cost controls.</span></p>
<p><span style="font-weight: 400;">For example, </span><a href="https://docs.starburst.io/latest/connector/snowflake.html?utm_source=openai"><span style="font-weight: 400;">the Snowflake connector uses Arrow-based parallel reads and disables join pushdown by default</span></a><span style="font-weight: 400;"> to help control warehouse compute costs. </span><a href="https://docs.starburst.io/latest/connector/bigquery.html?utm_source=openai"><span style="font-weight: 400;">The BigQuery connector leverages the BigQuery Storage API and supports multiple pushdown operations</span></a><span style="font-weight: 400;"> to reduce CPU usage and improve performance.</span></p>
<p><span style="font-weight: 400;">The </span><a href="https://www.starburst.io/starburst-enterprise"><span style="font-weight: 400;">Starburst Enterprise</span></a><span style="font-weight: 400;"> provides additional capabilities for organizations that need enterprise-grade security, compliance, and support for their pushdown implementations.</span></p>
<h3><span style="font-weight: 400;">Build materialized views for repeatability</span></h3>
<p><span style="font-weight: 400;">Rather than running federated queries repeatedly, </span><a href="https://docs.starburst.io/starburst-galaxy/data-engineering/optimization-performance-and-quality/materialized-views.html?utm_source=openai"><span style="font-weight: 400;">use Galaxy materialized views to persist the results of pushdown-optimized queries in object storage</span></a><span style="font-weight: 400;">. This pattern lets you pay the cost of source-side processing once, then serve multiple analytics and AI workloads from the materialized results.</span></p>
<p><span style="font-weight: 400;">Set up scheduled refreshes to keep derived tables current, and consider </span><a href="https://docs.starburst.io/latest/admin/table-scan-redirection.html?utm_source=openai"><span style="font-weight: 400;">incremental refresh capabilities where supported</span></a><span style="font-weight: 400;"> to reduce processing overhead for frequently updated sources. This approach aligns with </span><a href="https://www.starburst.io/solutions/elt-data-processing/"><span style="font-weight: 400;">modern data transformation pipelines</span></a><span style="font-weight: 400;"> that prioritize efficiency and automation.</span></p>
<h3><span style="font-weight: 400;">Implement intelligent performance optimizations</span></h3>
<p><span style="font-weight: 400;">Enable </span><a href="https://docs.starburst.io/latest/admin/dynamic-filtering.html?utm_source=openai"><span style="font-weight: 400;">dynamic filtering for selective joins</span></a><span style="font-weight: 400;"> to reduce fact-side scans during ingestion operations. This runtime optimization can dramatically reduce the amount of data processed even when explicit predicates don&#8217;t push down effectively.</span></p>
<p><span style="font-weight: 400;">For large extraction jobs, configure </span><a href="https://docs.starburst.io/latest/admin/fault-tolerant-execution.html?utm_source=openai"><span style="font-weight: 400;">fault-tolerant execution to handle worker failures</span></a><span style="font-weight: 400;"> during long-running ingestion processes. Verify that your connectors support retry policies before enabling this capability.</span></p>
<p><span style="font-weight: 400;">Organizations can also benefit from </span><a href="https://www.starburst.io/blog/improving-performance-with-iceberg-sorted-tables"><span style="font-weight: 400;">optimizing Iceberg table performance</span></a><span style="font-weight: 400;"> through techniques like sorted tables, which complement pushdown strategies for </span><a href="https://www.starburst.io/blog/open-data-lakehouse"><span style="font-weight: 400;">open data lakehouse architecture</span></a><span style="font-weight: 400;">.</span></p>
<h3><span style="font-weight: 400;">Monitor and respect source system limits</span></h3>
<p><span style="font-weight: 400;">For SaaS sources, </span><a href="https://docs.starburst.io/latest/connector/starburst-salesforce.html?utm_source=openai"><span style="font-weight: 400;">monitor API consumption through system tables</span></a><span style="font-weight: 400;"> so you can track quota usage and plan extraction schedules accordingly. For OLTP systems, schedule extraction windows, throttle parallelism settings, and consider read replicas to minimize contention with production workloads.</span></p>
<p><a href="https://docs.starburst.io/latest/connector/starburst-teradata.html?utm_source=openai"><span style="font-weight: 400;">Configure parallel read settings</span></a><span style="font-weight: 400;"> like connection counts for high-throughput scenarios, but balance this against source system capacity.</span></p>
<h3><span style="font-weight: 400;">Apply governance before ingestion</span></h3>
<p><span style="font-weight: 400;">Rather than moving data first and applying policies later, </span><a href="https://docs.starburst.io/starburst-galaxy/security-and-compliance/manage-data-access/access-control-policy-types.html?utm_source=openai"><span style="font-weight: 400;">use row filters and column masking in your ingestion SQL</span></a><span style="font-weight: 400;"> so only compliant subsets are materialized. This approach ensures that your pushdown optimization doesn&#8217;t accidentally create compliance issues by moving sensitive data across boundaries.</span></p>
<p><a href="https://docs.starburst.io/latest/security/audit.html?utm_source=openai"><span style="font-weight: 400;">Implement audit trails for refresh jobs and access patterns</span></a><span style="font-weight: 400;"> so you can demonstrate that your ingestion processes respect data governance requirements. This is particularly important for organizations in </span><a href="https://www.starburst.io/solutions/industry/financial-services/"><span style="font-weight: 400;">financial services data analytics</span></a><span style="font-weight: 400;"> or </span><a href="https://www.starburst.io/solutions/industry/healthcare-and-life-sciences/"><span style="font-weight: 400;">healthcare data analytics</span></a><span style="font-weight: 400;"> where regulatory compliance is critical.</span></p>
<p><span style="font-weight: 400;">Organizations looking to modernize legacy systems can leverage </span><a href="https://www.starburst.io/solutions/data-migrations/"><span style="font-weight: 400;">data migration solutions</span></a><span style="font-weight: 400;"> that incorporate pushdown optimization from the start. Whether you&#8217;re implementing </span><a href="https://www.starburst.io/solutions/data-migrations/hadoop-modernization/"><span style="font-weight: 400;">Hadoop modernization</span></a><span style="font-weight: 400;"> or </span><a href="https://www.starburst.io/solutions/data-migrations/"><span style="font-weight: 400;">migrating to modern data architecture</span></a><span style="font-weight: 400;">, starting with pushdown-aware design patterns helps ensure your new architecture delivers the performance and cost benefits you expect.</span></p>
<p><span style="font-weight: 400;">The key to success with query pushdown lies in treating it as an operational discipline rather than just a technical capability. Start small with well-understood sources, verify pushdown behavior systematically, and scale your approach as you build expertise with the specific patterns and limitations of your data ecosystem. With the right foundation and tooling, including solutions for </span><a href="https://www.starburst.io/solutions/data-applications/"><span style="font-weight: 400;">building data applications</span></a><span style="font-weight: 400;"> and </span><a href="https://www.starburst.io/solutions/ai/"><span style="font-weight: 400;">data for artificial intelligence</span></a><span style="font-weight: 400;">, query pushdown transforms from a complex technical challenge into a reliable mechanism for efficient, cost-effective data ingestion that scales with your organization&#8217;s needs.</span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is SQL on Anything?]]></title>
            <link>https://www.starburst.io/blog/what-is-sql-on-anything</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/what-is-sql-on-anything</guid>
            <pubDate>Mon, 14 Sep 2026 08:00:26 GMT</pubDate>
            <description><![CDATA[An analyst gets a question on a Tuesday afternoon. Which of our enterprise accounts opened &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">An analyst gets a question on a Tuesday afternoon. Which of our enterprise accounts opened support tickets in the last month, and what did they spend with us last quarter?</span></p>
<p><span style="font-weight: 400;">The answer exists. It has always existed, but it’s not all in the same place. The tickets are in one system, the spend is in a data warehouse, and the account hierarchy is in a PostgreSQL database behind the CRM. Three sources, all accessible, all containing exactly the data required. And yet answering the question takes two weeks, because before anyone can write the query, someone has to build a pipeline to bring all three into the same place.</span></p>
<p><span style="font-weight: 400;">SQL on anything removes that waiting period. The data does not move. Instead, the question gets asked by accessing data sources</span><a href="https://www.starburst.io/blog/data-centralization/"> <span style="font-weight: 400;">without centralization</span></a><span style="font-weight: 400;">. This is the data architectural pattern built on</span><a href="https://www.starburst.io/blog/how-does-data-federation-work/"> <span style="font-weight: 400;">data federation</span></a><span style="font-weight: 400;">, powered by a compute engine like</span><a href="https://www.starburst.io/blog/what-is-trino/"> <span style="font-weight: 400;">Trino</span></a><span style="font-weight: 400;">, and it works whether your data sits in</span><a href="https://www.starburst.io/blog/data-warehouse-data-lake-data-lakehouse/"> <span style="font-weight: 400;">a lake, a warehouse, a lakehouse</span></a><span style="font-weight: 400;">, a streaming system, or a SaaS application.</span></p>
<p><span style="font-weight: 400;">Let’s dive in. </span></p>
<h2><span style="font-weight: 400;">Key takeaways</span></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">SQL on anything is not a new query language. It uses the standard SQL you already know, running against sources that stay exactly where they are.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Connectors determine which data sources you can reach, spanning databases, data warehouses, data lakes, streaming systems, and SaaS applications.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Centralizing everything into one store creates lock-in through proprietary formats, bundled pricing, and accumulated tooling. Federation preserves the option to change any one component later.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Querying in place does not mean that you never copy data. You can still centralize when it makes sense, and that choice is still yours. What you avoid is copying everything upfront just to answer a question.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Starburst Galaxy and Starburst Enterprise are the two ways to implement this using Trino.</span></li>
</ul>
<h2><span style="font-weight: 400;">What does SQL on anything mean?</span></h2>
<p><span style="font-weight: 400;">SQL on anything refers to a single SQL query that spans different systems. You write one statement, it reaches several sources, and none of those sources have to be staged in a data warehouse beforehand.</span></p>
<p><span style="font-weight: 400;">The SQL itself is standard SQL. SELECT, JOIN, WHERE, and GROUP BY all behave exactly as they always have, and your query does not care whether a catalog resolves to PostgreSQL, to an</span><a href="https://www.starburst.io/blog/apache-iceberg/"> <span style="font-weight: 400;">Iceberg data lakehouse</span></a><span style="font-weight: 400;"> on Amazon S3, or to a data warehouse. Underneath, the compute engine plans the statement, asks each connector for its slice of the data, and combines the results before returning them.</span></p>
<h2><span style="font-weight: 400;">Connectors define which data sources you can reach</span></h2>
<p><span style="font-weight: 400;">Each connector maps one data source into tables, columns, and rows, which is what allows standard SQL to read from it. Different data sources can be accessed using different connectors. </span></p>
<p><a href="https://www.starburst.io/platform/connectors/"><span style="font-weight: 400;">Starburst supports more than 50 connectors</span></a><span style="font-weight: 400;"> extending access to data lakes, data warehouses, streaming systems, relational databases, and SaaS applications. For example, when accessing a</span><a href="https://www.starburst.io/blog/what-is-a-data-lakehouse/"> <span style="font-weight: 400;">data lakehouse</span></a><span style="font-weight: 400;">, a single query can read across</span><a href="https://www.starburst.io/blog/hive-vs-iceberg/"> <span style="font-weight: 400;">Hive</span></a><span style="font-weight: 400;">, Iceberg,</span><a href="https://www.starburst.io/blog/iceberg-vs-delta-lake/"> <span style="font-weight: 400;">Delta Lake</span></a><span style="font-weight: 400;">, and Hudi tables, so mixed table formats do not need consolidating before you can join them. Operational databases and warehouses work the same way, as does any other source once a connector exists for it.</span></p>
<h2><span style="font-weight: 400;">Why universal data access matters for analytics and AI</span></h2>
<p><span style="font-weight: 400;">Most analytics work begins with a question that spans more than one system. Building a dashboard, packaging a curated</span><a href="https://www.starburst.io/blog/what-are-the-different-types-of-data-products/"> <span style="font-weight: 400;">data product</span></a><span style="font-weight: 400;"> around the underlying datasets, or grounding an AI agent all start from the same assumption, which is that the data can be reached. In most organizations that assumption requires a project behind it, and the result is a long tail of questions that never get asked because answering them would mean joining the pipeline backlog.</span></p>
<h3><span style="font-weight: 400;">Getting past data centralization </span></h3>
<p><span style="font-weight: 400;">All of this points to the need to move beyond data centralization. When your architecture assumes every data source must eventually land in one store, that store begins dictating decisions well beyond where the data sits. You migrate toward it, you standardize on the formats it prefers, and you accept its pricing model as a fixed cost of asking questions.</span></p>
<p><span style="font-weight: 400;">Federation inverts the relationship. Data stays in whichever source genuinely suits it, whether that is object storage for scale, an operational database for latency, or a warehouse a business unit already depends on, and the query layer adapts to those choices rather than overriding them. This preserves optionality, meaning you keep the ability to change any one component later without re-architecting everything around it.</span></p>
<p><span style="font-weight: 400;">That flexibility matters most in the situations that have become ordinary rather than exceptional:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Hybrid deployments, where some data must remain on-premises while analytics runs in the cloud.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Post-acquisition estates, where an acquired company arrives with its own warehouse, formats, and conventions, and a full migration would take years.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Data sovereignty requirements, where regulation keeps certain records inside a specific region and migration is not legally available as an option.</span></li>
</ul>
<p><span style="font-weight: 400;">In each of these cases, centralizing first is expensive, slow, or prohibited outright. Federation is what makes the estate queryable without waiting for a migration that may never be justified.</span></p>
<h3><span style="font-weight: 400;">AI raises the stakes on access</span></h3>
<p><span style="font-weight: 400;">A model can write syntactically correct SQL and still return a wrong number, because the</span><a href="https://www.starburst.io/blog/what-is-business-context/"> <span style="font-weight: 400;">business context</span></a><span style="font-weight: 400;"> it needed lived in a source it could not query. This is a common way enterprise AI projects stall, and it is an access problem rather than a model problem.</span></p>
<p><span style="font-weight: 400;">That context is rarely consolidated in one place. Fiscal calendar definitions may live in a finance system, customer hierarchy in a CRM, and transaction detail in a lakehouse. An agent reasoning across all three needs access to all three, not to a subset that happened to be convenient to centralize.</span></p>
<h3><span style="font-weight: 400;">Access without governance is a liability</span></h3>
<p><span style="font-weight: 400;">Being able to query everything is only useful if you can also control who queries what. Those controls have to be enforced at the engine rather than separately at each source, because a policy applied in three systems and missed in the fourth is not a policy.</span></p>
<p><span style="font-weight: 400;">In practice this means row filters restricting which records a given role can see, column masks hiding sensitive fields such as salary or account numbers while leaving the rest of the table usable, and role-based or attribute-based access control applied consistently across every catalog the engine can reach. A</span><a href="https://www.starburst.io/blog/what-is-the-semantic-layer/"> <span style="font-weight: 400;">semantic layer</span></a><span style="font-weight: 400;"> sits alongside these, defining shared meaning so two teams querying the same source arrive at the same numbers.</span></p>
<p><span style="font-weight: 400;">There is a point here that runs against intuition. Federation is often assumed to weaken governance, on the grounds that reaching more sources means more exposure. In practice the opposite tends to hold, because the governance problem in most organizations is not reach but duplication. Every pipeline built to make a source reachable produces a copy, and every copy is a new surface that needs its own permissions, its own masking rules, and its own review when a regulation changes. A customer table replicated into three environments is three places where someone can be granted access by mistake.</span></p>
<p><span style="font-weight: 400;">Querying in place removes those intermediate copies, which means fewer places to secure rather than more. It also gives you a single point where access is recorded. When every query runs through one engine, the audit trail covers all of it, and questions like who read this table last quarter have an answer that does not require assembling logs from four systems with four different formats.</span></p>
<p><span style="font-weight: 400;">The sequencing matters as much as the controls. Governance retrofitted after teams have grown accustomed to broad access is a political problem rather than a technical one, because you are taking something away rather than defining it up front. This is why</span><a href="https://www.starburst.io/blog/ai-needs-data-access-and-data-governance/"> <span style="font-weight: 400;">access and governance have to advance together</span></a><span style="font-weight: 400;"> rather than sequentially.</span></p>
<p><span style="font-weight: 400;">Federation gets the query to the data. It does not define what your business means by revenue, which customer table is authoritative, or who is permitted to see either. Those remain decisions your organization has to make, and the engine&#8217;s job is to enforce them consistently once you have.</span></p>
<h2><span style="font-weight: 400;">When you should still centralize data</span></h2>
<p><span style="font-weight: 400;">Federation does not make centralizing obsolete. What it changes is the status of the decision, turning consolidation from a prerequisite into a choice you make for a specific workload. The useful question stops being whether to centralize and becomes which subset genuinely warrants it.</span></p>
<p><span style="font-weight: 400;">These often include: </span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A governed persistent table that multiple teams depend on and that should not change without review.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A dashboard with an SLA behind it, where query latency against a slow operational source is not acceptable.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Training data that must stay fixed while a model is developed and evaluated.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Historical facts accumulating over years, which belong in a</span><a href="https://www.starburst.io/blog/what-is-a-data-lakehouse/"> <span style="font-weight: 400;">data lakehouse</span></a><span style="font-weight: 400;"> table rather than being repeatedly pulled from an operational system.</span></li>
</ul>
<p><span style="font-weight: 400;">What these share is a workload that benefits from a stable, governed copy. Everything outside that set can be queried where it already lives, which is the difference between centralizing deliberately and centralizing by default.</span></p>
<h2><span style="font-weight: 400;">Getting started with SQL on anything</span></h2>
<p><span style="font-weight: 400;">How do you begin? Start with a question your organization has postponed because it spans two systems. Most teams have several of these. Connect both sources as catalogs and write the join, which will usually take less time than scoping the pipeline that was going to answer it.</span></p>
<p><span style="font-weight: 400;">Audit your connector coverage against the sources that matter most. Where a connector exists, federation replaces integration work immediately. Where one does not, you know which sources still require copying and can plan accordingly.</span></p>
<p><span style="font-weight: 400;">Finally, put the governance layer in place before you need it rather than after. Access control, views, and shared definitions are what keep broad query access from becoming a liability as usage grows across teams.</span></p>
<p><span style="font-weight: 400;">Want to see it in practice? Check out </span><a href="https://www.starburst.io/free-trial/"><span style="font-weight: 400;">Starburst Galaxy</span></a><span style="font-weight: 400;"> and connect your first two sources.</span></p>
<h2><span style="font-weight: 400;">FAQs</span></h2>
<h3><span style="font-weight: 400;">Is SQL on anything the same as data federation?</span></h3>
<p><span style="font-weight: 400;">Federation is the mechanism that executes a query across sources without copying them into one repository. SQL on anything describes the resulting capability, which is one SQL dialect reaching across all of those sources. </span></p>
<h3><span style="font-weight: 400;">Which data sources can I query?</span></h3>
<p><span style="font-weight: 400;">Any source with a connector that maps it to tables, columns, and rows. Starburst supports more than 50 connectors across data lakes, data warehouses, streaming systems, relational databases, and SaaS applications. What matters as much as coverage is connector depth, since a connector that supports pushdown lets the source do the filtering while a shallow one pulls raw data into the engine. Where no connector exists yet, you are back to copying data or building a custom plugin.</span></p>
<h3><span style="font-weight: 400;">Do I still need a data warehouse?</span></h3>
<p><span style="font-weight: 400;">You may still run one, and plenty of organizations should. What changes is that you no longer have to copy every other source into it before you can join across them. The warehouse becomes one participant in a federated architecture rather than the mandatory destination for all data, which also means you are no longer paying to store copies of data whose system of record lives elsewhere.</span></p>
<h3><span style="font-weight: 400;">How does this stay governed?</span></h3>
<p><span style="font-weight: 400;">Virtualization, access control, and catalog policy have to travel with the query rather than being enforced separately at each source. That means row filters, column masks, and role-based or attribute-based access control applied consistently across every catalog the engine can reach. </span></p>
<h3><span style="font-weight: 400;">What is the difference between Galaxy and Enterprise?</span></h3>
<p><span style="font-weight: 400;">Starburst Galaxy is built for cloud workloads, and is the easiest way to operate data federation using SQL the cloud. Starburst Enterprise is self-managed, and should be chosen when data has to remain inside a private, hybrid, or on-premises environment. Both implement federated SQL on Trino and both give you the same SQL interface, so the choice comes down to who runs the infrastructure and what your data residency requirements are.</span></p>
<h3><span style="font-weight: 400;">Does SQL on anything mean I never copy data?</span></h3>
<p><span style="font-weight: 400;">No. You copy a subset when you need persistence, a stable dashboard grain, or training data that must not shift underneath you, and those are legitimate architectural decisions. What changes is that copying becomes a choice you make for a specific reason rather than a prerequisite you complete before anyone in the organization is able to ask a question.</span></p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[An Analysis of Two Architectures for Agentic Data Analysis]]></title>
            <link>https://www.starburst.io/blog/an-analysis-of-two-architectures-for-agentic-data-analysis</link>
            <guid isPermaLink="false">https://www.starburst.io/blog/an-analysis-of-two-architectures-for-agentic-data-analysis</guid>
            <pubDate>Fri, 11 Sep 2026 08:00:24 GMT</pubDate>
            <description><![CDATA[Agents are increasingly supplementing or replacing human data analysis. Instead of a human user sitting &#8230;]]></description>
            <content:encoded><![CDATA[<p><span style="font-weight: 400;">Agents are increasingly <a href="https://www.starburst.io/blog/stop-moving-data-start-using-it-blueprint-data-federation-ai/">supplementing or replacing human data analysis</a>. Instead of a human user sitting behind a computer, issuing SQL queries and writing code to answer important business questions, the bulk of this work is starting to shift to agents. </span></p>
<p><span style="font-weight: 400;">For example, a grocery store may want to know: “was my sale on eggs last week profitable?” Obviously, this is not a trivial question to answer. It cannot be answered by simply looking at egg sales that week vs other weeks. To answer this question correctly, higher level questions need to be answered. Did this sale bring in customers who would not otherwise have come? Did it bring in new customers who have never entered the store before (and have they come back again since that sale)? What else was bought in the same transaction as eggs? Are they physically located near the eggs in the store? How profitable are those other items? </span></p>
<p><span style="font-weight: 400;">It is precisely these types of non-trivial questions — questions that may have a series of followup questions and many rounds of analysis of one or more datasets — that agents have the potential to provide an enormous amount of value. Instead of a human having to attack these questions from all of the relevant angles, the agent can take control and perform a lot of the grunt work, with some amount of guidance and direction from a human. </span></p>
<p><span style="font-weight: 400;">Everybody knows that AI tools in general — and agents are no exception — are <a href="https://www.starburst.io/blog/access-to-business-context-will-determine-who-can-replace-bi-with-ai/">only as good as the humans who are guiding them</a>. If you don’t know what to ask or to request, or how to optimally phrase the request, the result might fall short of what the tool is able to accomplish. Some people are better at using AI than others, and those people get the most out of these tools.</span></p>
<p><span style="font-weight: 400;">Aside from the way the request is made, there is another, and perhaps more important factor in the quality of the output: the quality (and amount) of the input data to the request. Most are familiar with the concept of attaching input data or files to AI prompts. For enterprise users, this may involve handing over keys to one or more enterprise database systems to an AI agent to use in answering specific questions. In our example above, the agent will need access to the relevant transaction and user data to answer the question of “was my sale on eggs last week profitable?”</span></p>
<p><span style="font-weight: 400;">In most non-trivial scenarios, more than one database may contain relevant data for a particular interaction. For example, the transaction data for our grocery store application may be stored in one database, and the customer loyalty (e.g. loyalty card information that contains information about the name, address, and other demographic information) data may be stored in an entirely different database. This demographic information is crucial to answer questions about the profitability of a particular sale — especially when breaking down the data across different demographics for the purposes of targeted campaigns). </span></p>
<p><span style="font-weight: 400;">In these scenarios, the key question is <a href="https://www.starburst.io/blog/engineering-the-ai-leap/">how to pass the data in these different database systems to the AI agent</a>. Whether this is done well or poorly will have strong implications on the experience of the users across three critical dimensions: the correctness/quality of the output, the speed/latency of getting this output, and the cost (e.g. in tokens) of the tool in responding to user prompts. </span></p>
<h2><span style="font-weight: 400;">A comparison of two (or four) alternative architectures</span></h2>
<h3><span style="font-weight: 400;">Option 0: Give the agent a dump of the raw data</span></h3>
<p><span style="font-weight: 400;">One potential option for getting the data to the agent is to simply extract the data from the source and then send this extracted data to the agent. For example, the database system can be asked to write the data from the relevant tables to a file (or set of files). This file or files can then be sent as an attachment to the agent. Alternatively, the data could be piped more directly from the database to the agent. Either way: the point is that the raw data gets sent to the agent, and any subsequent data processing that is required, it will do itself.</span></p>
<p><span style="font-weight: 400;">This option can potentially get costly. To the extent that agents charge per data item received/processed, sending terabytes of data to the agent can get prohibitively expensive. Furthermore, there are significant performance disadvantages relative to option 1 that I will discuss shortly.</span></p>
<p><span style="font-weight: 400;">These disadvantages of option 0 reduce its practicality to the point where it is not a good option in practice. This is why I’m calling it “option 0” — it is not something that I would recommend outside of specific unusual circumstances. </span></p>
<h3><span style="font-weight: 400;">Option 1: Give the agent the keys to your database system and let it drive</span></h3>
<p><span style="font-weight: 400;">The simplest practical way to pass data to the agent is simply by giving the agent direct access to the database system(s). The agent then writes its own SQL queries (or queries in any other language that is supported by the database system) to access data as it needs it.</span></p>
<p><span style="font-weight: 400;">By giving the agent direct access to the database, it can iteratively refine its requests over the data. Instead of giving the agent a giant dump of the entire database and being forced to locally perform advanced query operations over it (as in option 0 above), the agent acts as a user of the database — allowing the database execution engine to do what it does best:  process its own local data using carefully optimized query plans. The agent merely oversees this process, sending successive (or parallel) data processing requests to the database system until it reaches a satisfactory conclusion that it can return to its client.  </span></p>
<p><span style="font-weight: 400;">It has been noted </span><a href="https://arxiv.org/pdf/2509.00997"><span style="font-weight: 400;">in the literature</span></a><span style="font-weight: 400;"> that this type of usage can sometimes be a challenge for the database system. Agents can be far more demanding than humans, and can sometimes overwhelm the database system with speculative queries as it iteratively refines its focus on behalf of a user request. Nonetheless, the database industry is laser-focused on supporting agentic workloads moving forward, and modern database systems are increasingly capable of handling this type of scalable data processing efficiently. </span></p>
<h4><span style="font-weight: 400;">Option 1 yields better performance than option 0</span></h4>
<p><span style="font-weight: 400;">Agents are very powerful and only getting more advanced over time. However, it will be a while before they can process terabytes of tabular/structured data at the same level of optimization as the elite database systems on the market today that have hyper-optimized code based on decades of research (not all of which may be in the public domain). Until that point, a major efficiency gain can be achieved by subcontracting the scalable data processing to the database system instead of trying to do everything itself.</span></p>
<p><span style="font-weight: 400;">Moreover, even if the agent was just as good as the database system in processing data, there is still an overhead in writing and passing the raw data to the agent. Data is often stored in a proprietary format inside the database system. To get the raw data out of the system, this format needs to be deserialized (and often decompressed) before being written to a file or being passed to the agent. This overhead can be avoided if the database system processes its own data, but must be paid if it is extracted from the system (as in option 0 above). </span></p>
<p><span style="font-weight: 400;">Furthermore, if the data is larger than what fits in memory at the agent, it then has to be written to storage again once it reaches the agent, and serialized to the data format that the agent prefers (or the format used by the external system that the agent writes the data to). This write overhead is also avoided if the data is simply processed at its source, rather than being passed in raw form to the agent. </span></p>
<p><span style="font-weight: 400;">The bottom line is that letting the agent function as a user of the database system is generally preferable to extracting data into the agent to perform processing there. Only if the database system is incapable of handling the scale or type of requests from the agent should a full data extraction be considered. </span></p>
<p><span style="font-weight: 400;">We discussed above that in most non-trivial scenarios, more than one database may contain relevant data for a particular interaction. In these scenarios, the keys to each of these database systems would need to be passed to the agent. The agent is only as good as the data it has access to. If the agent is not given access to a database that may contain potentially relevant data, this data cannot be considered by the agent when being given a question to answer.  </span></p>
<h3><span style="font-weight: 400;">Option 2: Give the agent the keys to a virtualization layer that includes access to potentially many database systems</span></h3>
<p><span style="font-weight: 400;">Instead of giving the agent access to each database system (that may contain relevant data) individually, an alternative architecture is to first unify them using a <a href="https://www.starburst.io/blog/what-is-data-virtualization/">virtualization</a> (or <a href="https://www.starburst.io/blog/what-is-data-federation/">federation</a>) layer, and then give the agent access to the virtualization layer instead of each database individually. </span></p>
<p><img loading="lazy" decoding="async" src="https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/data-virtualization-diagram.png" alt="Image depicting data virtualization and data federation architectural diagram. " width="1758" height="702" class="alignleft size-full wp-image-61509" srcset="https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/data-virtualization-diagram.png 1758w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/data-virtualization-diagram-300x120.png 300w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/data-virtualization-diagram-1024x409.png 1024w, https://live-starburst.pantheonsite.io/wp-content/uploads/2026/09/data-virtualization-diagram-1536x613.png 1536w" sizes="auto, (max-width: 1758px) 100vw, 1758px" /></p>
<p><span style="font-weight: 400;">The difference between option 1 and option 2 is illustrated in the figure above. At first blush, options 1 and 2 appear very similar — the AI agent is issuing queries to three different databases and each one is returning query results. The only difference is that in option 1 the AI agent issues queries to the database systems directly, while in option 2, these queries first go through a virtualization layer. The virtualization layer is then in charge of rewriting these queries so that they can be sent to the underlying databases, and collecting the results before returning them to the agent.</span></p>
<p><span style="font-weight: 400;">There are, however, a surprising number of practical differences between these options, that impact the quality, speed, and cost of the results. I will discuss these differences below. But first I want to briefly mention a third option (that is not the focus of this post). </span></p>
<h3><span style="font-weight: 400;">Option 3: Use the agent that comes with your database system or virtualization layer</span></h3>
<p><span style="font-weight: 400;">This whole post is assuming that you have an AI agent that you want to use that is a distinct piece of software from the database systems or virtualization tools that store and manage your data. However, it is important to remember that many of these systems have their own AI agents and tools that are specifically designed to work with the data managed by them. </span></p>
<p><span style="font-weight: 400;">For example, Starburst’s AIDA tool is tightly integrated with its query engine and is capable of answering the questions you might ask an AI agent. This tight integration along with native knowledge of the data managed by Starburst and how Starburst optimizes its access of this data can often lead to a better quality set of results, and often at higher speeds.</span></p>
<p><span style="font-weight: 400;">Option 3 is so simple, there is no real need to discuss it in this post. When the AI agent you want to use is tightly integrated with your data architecture, this option is often a no-brainer. </span></p>
<p><span style="font-weight: 400;">The goal of this post however, is to discuss the architectural options outside of option 3. For example, you might have an enterprise licence for a particular AI agent, or have other reasons why that agent is preferred (e.g. it might be better at accessing data outside of that which is managed by the database or virtualization system). In those scenarios, what is the optimal data architecture?</span></p>
<h3><span style="font-weight: 400;">What are the downsides to having the virtualization/federation layer?</span></h3>
<p><span style="font-weight: 400;">The main difference between options 1 and 2 discussed above is that option 1 gives the agent direct access to all the relevant database systems, while option 2 places a virtualization or federation layer between the agent and the database systems. Option 2 thus requires additional software that is not required by option 1. To the extent that this software is separate from the underlying database systems, this adds some additional cost and complexity to the data infrastructure.</span></p>
<p><span style="font-weight: 400;">The reason why this adds cost is obvious. If none of the existing database systems being used support this type of global data virtualization that manages access to its own data along with data stored by other database systems, then a separate software vendor needs to be contracted to provide this service. Unless a free and open source option is used (such as <a href="https://www.starburst.io/blog/what-is-trino/">Trino</a>) the software vendor must generally be paid for its services. Even if a free and open source option is used — the hardware and engineering costs of deploying the software still have to be paid. </span></p>
<p><span style="font-weight: 400;">The addition of complexity comes from the need to configure the virtualization layer to interface with the underlying database systems. It needs to be given access to every underlying database system whose data it will be accessing. It needs basic information such as the location and port of the underlying database systems, the username and password (or other key information) that it should use to access this data, etc. It also may need metadata that describes the data inside those databases (to whatever extent the data schemas are insufficient). </span></p>
<p><span style="font-weight: 400;">Furthermore, if the virtualization layer is a separate piece of software, there may be some effort involved in learning how to use it. Increasingly, vendors are reducing these efforts by providing cloud-based software-as-a-service options (such as <a href="https://www.starburst.io/starburst-galaxy/">Starburst Galaxy</a>) that greatly reduce the training required to use the software. Nonetheless, everything requires at least some effort in getting familiar with its interface and capabilities.</span></p>
<p><span style="font-weight: 400;">There is also the complexity of choosing what virtualization software to use in the first place. Data virtualization is far from a commodity, and each software solution works differently. </span></p>
<p><span style="font-weight: 400;">For example some data virtualization products only work with a limited set of database systems. If you are using a database that is not supported by the virtualization product, that database will necessarily be left out of the data being virtualized. Other products (such as Starburst) work with a large number of underlying database systems. </span></p>
<p><span style="font-weight: 400;">There can also be a significant performance difference between virtualization products. Some products are not designed for massively parallel processing and have issues with scenarios in which it receives large amounts of data from the underlying database systems. Others (again — Starburst would be an example) are designed for scalability from the outset. The bottom line is that research must be performed when selecting a virtualization product, and this research adds complexity to the process. </span></p>
<p><span style="font-weight: 400;">One other downside (although usually not significant) is the extra hop required to get requests to the database systems and results back. When the agent interfaces directly with the database systems, there is no extra hop. However, when there is a virtualization layer between them, queries and results must be routed through this layer. Usually this extra hop of communication is not noticeable relative to the latency of the actual query processing and the agent computation, but at least in theory this is a slight disadvantage. </span></p>
<h3><span style="font-weight: 400;">What are the advantages to having the virtualization/federation layer?</span></h3>
<h4><span style="font-weight: 400;">Joins across distinct datasets</span></h4>
<p><span style="font-weight: 400;">The biggest advantage of having a virtualization layer is when datasets stored by different database systems need to be joined together. For example, in the scenario discussed above where the transaction data is stored in one database system and the customer loyalty data stored in a different database system, it is easy to envision scenarios where joining these two datasets together would be useful. For example, breaking down profits by demographic requires the profit data from the transaction dataset and and the demographic data from the customer loyalty database. </span></p>
<p><span style="font-weight: 400;">Without a virtualization layer, the agent needs to pull both datasets from the respective underlying systems and perform the join there. Both datasets need to be in one place in order for the join to occur (I’m ignoring unusual scenarios in which the databases are able to communicate with each directly via </span><a href="https://www.starburst.io/resources/oreilly-data-virtualization-cloud-era/"><span style="font-weight: 400;">semi-join</span></a><span style="font-weight: 400;"> style of algorithms). Since the datasets being joined are currently managed by separate database systems, the raw data being joined will need to be extracted and performed by the agent. </span></p>
<p><span style="font-weight: 400;">All of the issues mentioned above that come up when agents deal with raw data thus reemerge. It can be costly (since the agent needs to perform computation as it reads the raw data). It can be slow (because agents are not optimized for joining raw, structured data). It requires additional deserialization and serialization costs. In general, performing the join in the agent is far less efficient than performing it in a database system.  </span></p>
<p><span style="font-weight: 400;">Moreover, many modern agents do not in practice perform the join locally. Instead, they write the data being joined to an external database system and perform the join there. This further reduces performance, since load costs need to be incurred when writing each table being joined to the external database.</span></p>
<p><span style="font-weight: 400;">In contrast, performing joins across external datasets are a major use case for data virtualization systems. Almost every data virtualization system supports such joins — in many cases they implement multiple different algorithms and choose the optimal one on the fly based on the datasets being joined and the source systems storing them (I discuss different algorithms in my O’Reilly book: “</span><a href="https://www.starburst.io/resources/oreilly-data-virtualization-cloud-era/"><span style="font-weight: 400;">Data virtualization in the Cloud Era</span></a><span style="font-weight: 400;">”). </span></p>
<p><span style="font-weight: 400;">Scalable data virtualization systems — such as Trino and Starburst — are designed to allow multiple independent machines to perform such joins in parallel. For example, they route tuples to different machines based on a hash of the join key and then perform joins of each hash partition locally. </span></p>
<p><span style="font-weight: 400;">Generally speaking, data virtualization systems are able to perform joins of external datasets far more efficiently (and at lower cost) than modern agents. In some cases, agents will avoid trying the join in the first place due to the costs involved unless it can be outsourced in this way. Thus, the mere presence of the data virtualization system allows the agent to explore a larger space of possibilities in answering a query, and thus may lead to higher quality results. </span></p>
<p><span style="font-weight: 400;">This is the type of thing that an end user may not notice. The same agent with the same query may return different quality results depending on the data infrastructure operating underneath the agent. Most agents will not let the user know — “I might have returned better results if I had tried out an alternative path involving a join of two disparate datasets”. The bottom line is that the user needs to set up the agent for the highest probability of success prior to using it. </span></p>
<h4><span style="font-weight: 400;">Tidiness</span></h4>
<p><span style="font-weight: 400;">The entire point of a data virtualization or federation system is to provide a single interface for users to access all the data in the enterprise (or at least all the data that the system has been set up and given permissions to access). Instead of needing to access each data source individually, users have a single place to go in order to access everything they need. </span></p>
<p><span style="font-weight: 400;">In most scenarios, the agent is not the only user that will need to access data at the enterprise. Humans (and other agents) will also be accessing data. </span></p>
<p><span style="font-weight: 400;">After the data virtualization software has been installed and set up, the same system can serve as the interface to the data — both for the agent(s) and human users. When new datasets are created or added to the enterprise, only a single update needs to be made to the data virtualization system (to set up access to it). Once this is done, all users — agents and humans — will be able to benefit from its existence. </span></p>
<p><span style="font-weight: 400;">In contrast, without the data virtualization system, someone has to realize that this new dataset may be useful to the agent and give the agent direct access to it, separately from any human that may already have access to it. There are separate actions and setup steps that need to be taken for each user that needs access to the new dataset. And the very existence of this dataset may not be easy to communicate if there is no centralized catalog across the enterprise. </span></p>
<p><span style="font-weight: 400;">In such scenarios, it often happens that useful and valuable datasets get ignored and neglected — merely from the inertia of the additional steps required to alert the agent to their existence. Once again, this leads to lower quality results from agent queries in a way that is essentially impossible to detect. </span></p>
<p><span style="font-weight: 400;">Just like things run more smoothly in a tidy house, so too things run smoothly when using a tidy data architecture.</span></p>
<h4><span style="font-weight: 400;">Result caching</span></h4>
<p><span style="font-weight: 400;">Agents are notorious for sending many </span><a href="https://arxiv.org/pdf/2509.00997"><span style="font-weight: 400;">similar queries with overlapping subqueries or access patterns</span></a><span style="font-weight: 400;">. Many data virtualization systems use result caching to handle such workloads — where results of subqueries are cached and reused when reappearing in subsequent agent queries. This can reduce the burden on the underlying systems from handling the large scale of requests that agents can often generate. </span></p>
<h4><span style="font-weight: 400;">Native API knowledge</span></h4>
<p><span style="font-weight: 400;">Data virtualization systems are designed to work with many different types of underlying database systems. For example, Starburst comes with dozens of connectors to different underlying systems. Each connector is designed to optimize access of that system, often taking advantage of particular features in the design of that system. </span></p>
<p><span style="font-weight: 400;">While agents are also often broad in their knowledge of how to communicate with a large variety of systems, this knowledge can often be more superficial. This may result in a reduction of efficiency when communicating with these systems — which can reduce the quality, performance, or inexpensiveness of the results. </span></p>
<h3><span style="font-weight: 400;">Conclusion</span></h3>
<p><span style="font-weight: 400;">There are a lot of advantages to using a data virtualization system to interface between the agent and underlying database systems. Data virtualization systems are more capable of performing </span><b>scalable</b><span style="font-weight: 400;"> joins across large external datasets. They help give the agent a global view of all data that may be useful, and are more knowledgeable in leveraging the particular technical details of the underlying systems when communicating with them. Overall, they improve the efficiency of the communication with the data sources, reduce cost, and improve quality of the results.</span></p>
<p><span style="font-weight: 400;">The main disadvantages are upfront complexity and cost. However, it is important to note that there are a lot of reasons to use data virtualization even outside the <a href="https://www.starburst.io/blog/understanding-the-importance-of-the-context-layer/">context</a> of using AI agents. This upfront complexity and cost can thus be amortized across other use cases.</span></p>
<p><span style="font-weight: 400;">Furthermore, many organizations are already running data virtualization software without realizing it. For example, many of Starburst’s customers originally set up Starburst to build a “lakehouse architecture” over a data lake in which Starburst accesses data stored in Parquet files and other open data formats in the lake. In many cases, they are unaware that Starburst is actually a data virtualization product. However, it is quite trivial to set up Starburst to access other systems as well, and then give the agent access to Starburst. </span></p>
<p><span style="font-weight: 400;">The bottom line is that if you are not tied to a particular agent or AI tool, using one that is tightly integrated with your data management platform (such as Starburst AIDA) is often best. But even if you are tied to a given agent, it is still important to leverage data virtualization technology in order to maximize efficiency in the way that the agent accesses and leverages enterprise data. </span></p>
<p>&nbsp;</p>
]]></content:encoded>
        </item>
    </channel>
</rss>