<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Databases</title><link>https://cloud.google.com/blog/products/databases/</link><description>Databases</description><atom:link href="https://cloudblog.withgoogle.com/blog/products/databases/rss/" rel="self"></atom:link><language>en</language><lastBuildDate>Fri, 10 Apr 2026 16:00:04 +0000</lastBuildDate><image><url>https://cloud.google.com/blog/products/databases/static/blog/images/google.a51985becaa6.png</url><title>Databases</title><link>https://cloud.google.com/blog/products/databases/</link></image><item><title>Near-100% Accurate Data for your Agent with Comprehensive Context Engineering</title><link>https://cloud.google.com/blog/products/databases/how-to-get-your-agent-near-100-percent-accurate-data/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agentic workflows are already used for initiating action. To be successful, agents typically need to combine multiple steps and execute business logic reflective of real-life decisions. But, as developers rush to deploy these autonomous agents, they are slamming into a wall: the compounding error problem of accuracy.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To understand why agentic workflows require near-100% accuracy on questions that are answerable by your database data, let’s look at the numbers: Assume an accuracy of 90% in a single-step AI process. You ask a question; you get a correct answer 90% of the time. But in an agentic workflow, the AI takes multiple dependent steps – and errors compound exponentially.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Let’s run the numbers on a 90% accurate agent:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;One step: 90% success rate.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Two steps: 0.90 × 0.90 = 81% success rate.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Five steps: 0.90^5 = 59% success rate.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Now, imagine that same five-step workflow running on an 80% accurate agent. The success rate plummets to just 33%.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In a business context, even 90% accuracy is often insufficient. And 59% or 33% success rate is downright catastrophic. Indeed, in many industries near-100% accuracy is needed, because the agentic application is customer-facing and inaccuracies lead to loss of trust and loss of revenue. Furthermore, in many industries there are legal, safety and compliance requirements. In such industries, near-100% accuracy must be combined with &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;explainability&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; so that the human-in-the-loop can understand and verify the answers. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Example: consider a real estate agency using an AI workflow to handle new tenant onboarding in a five-step flow. The agentic flow must: &lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;extract data from an application&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;run a background check via an API&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;query the database for available units&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;draft a lease, and &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;email the tenant. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If step three fails because the AI makes a mistake in the database query and pulls a unit for the wrong city – then, steps four and five will generate a legally binding lease for a property that doesn't exist, and then send it to the client. The cost of manual remediation, lost trust, and legal liability makes anything less than near-perfect execution completely unviable.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_noWyZfj.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Agentic Tools: A Path to Accuracy and Explainability&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To achieve the required accuracy and explainability when agents interact with enterprise databases, developers are turning to specialized tools. &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/data-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;QueryData&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; is such a tool for agents, designed specifically to offer near-100% accuracy for natural language-to-query. By enabling agents to retrieve correct data, QueryData ensures that agents are well-equipped to take action.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;The Key Ingredient: Comprehensive Database Context&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A Large Language Model (LLM) inherently knows many dialects of SQL, but it doesn't know your business logic and your database. Agentic tools use context to bridge that gap. Context &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;is &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;essentially the code which a tool like QueryData uses to guide the LLM towards correct answers. Crucially for achieving near-100% accuracy and explainability, the QueryData works with a comprehensive database context, organized into three main pillars: &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Schema Ontology&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Query Blueprints &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;and&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; Value Searches&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Pu4qaCx.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;1. Schema Ontology &lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Schema ontology is about understanding your database structure and semantics. This includes natural language descriptions of tables and columns. The QueryData LLM has a greater chance to translate the natural language question into the correct query using these instructions. You can think of schema ontology as a set of “cues” or “hints” – meant to steer the LLM into picking the right tables and columns and synthesizing them correctly into a database query. A couple of examples:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Here is what a database-level description could look like for a search engine of real estate listings:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;“Listings, real estate agents and information about communities where listings are located – schools, amenities and hazards: fire, flood and noise”&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The table description for &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;property&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; could look like this: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;“Current real estate listing, including houses, townhomes, condos and land”&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;An example of column description that explains that the &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;proximity_miles&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; means &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;“property distance from the district’s school in miles”&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For ease of use, you can autogenerate rich descriptions, which will typically include sample values of the column.&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;2. Query Blueprints &lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If ontology is the vocabulary, query blueprints are the way to introduce fine control of the generated SQL&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; for important questions that must absolutely receive accurate and business-relevant answers. For example, consider the question “&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Riverside houses close to good schools&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;”. The interpretation of “close” and “good” provided by Gemini is impressive- in a demo application it translated to&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;…&lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;WHERE &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;city_name&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; = &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;'Riverside'&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;AND&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;school_ranking&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &amp;lt;= &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;5&lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;ORDER BY&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;proximity_miles&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;ASC&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;But this interpretation still leaves much to be desired: Wouldn’t you drive one more mile for a school whose &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;school_ranking&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; is much higher than the Gemini-chosen cutoff? Of course you would! Both proximity and school ranking should affect the overall ranking. A no-cut-corners developer will take control of the interpretation of “close to good school” by introducing a sophisticated ranking function, which may be the result of continuous A/B experiments, along with sensible cutoffs. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;Templates&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;In particular, she will use a &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;template&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;: A pair of natural language intent with its respective parameterized SQL translation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;parameterized_intent&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;:&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; “&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;$&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;1&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;houses&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;close&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;to&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;good&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;schools”,&lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;parameterized_SQL    : “&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;SELECT … FROM … &lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;WHERE&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;city_name&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; = &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;$1&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;AND&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"school_ranking"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;&amp;lt;=&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;5&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;AND&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"proximity_miles"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;&amp;lt;=&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;2&lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;ORDER&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;BY&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;school_score(&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"school_ranking"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;,&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"proximity_miles"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;)”&lt;br/&gt;&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;– the school_score stored procedure combines school ranking and proximity into a single ranking &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Such info can be given in a JSON file but, even more user-friendly, you can use Gemini CLI, prompt it with an example natural language question and your ideal respective SQL and it will produce the JSON for you.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Furthermore, templates enable the agent to explain how the question was interpreted. This mitigates the effect of the occasional remaining inaccuracies, allowing a human-in-the-loop or agent to understand what the answer of QueryData means.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;Facets&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;While plain query templates provide highly accurate and explainable answers, they have low flexibility: they can only answer the specific critical question patterns that they were designed for. What if you wanted to combine the “close to good schools” with price conditions, square footage, bedroom conditions and more. The &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;facets&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; generalize templates to combine the best of both worlds: &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;highly-accurate, explainable answers to large numbers of questions.&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;       &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"parameterized_intent"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;: &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"Property price between $1 and $2"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;,&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;       &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"parameterized_sql_snippet"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;: &lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt;"T.\"price\" BETWEEN $1 AND $2"&lt;/code&gt;&lt;code style="vertical-align: baseline;"&gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;Value searches&lt;br/&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Some ambiguities in the NL question are rooted deep in the private data of your database and need a collaboration of the LLM with the database to disambiguate. &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Value searches&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; solve the hard problem of correctly associating data values in the database with the “entities” that the question talks about.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For example, consider the question “&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Westwod''s sold properties in the last 1 month.&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;” The first problem is that there is no “Westwod”; it is a misspelling of “Westwood”. Apart from the misspelling, there is a second problem - a deeper ambiguity in our sample database: “Westwood” appears as both the name of a real estate brokerage and as the name of a city. Value searches can utilize the built-in powerful vector+text search capabilities of Google Cloud’s AI-native databases. Here, value searches will enable QueryData to respond to the agent that this is likely a misspelling of ‘“westwood, which appears as both a real estate brokerage and a city name. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Accuracy As Foundation for Agentic Actions&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agentic workflows are poised to revolutionize operations, but they are unforgiving when it comes to accuracy. Through context engineering, businesses can mitigate compounding failures and start trusting their autonomous agents to deliver.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As a next step, you can explore how to create context sets across these databases:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/context-sets-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/context-sets-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/mysql/context-sets-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for MySQL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/context-sets-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;And here – your “cheat sheet” for building blocks of context (courtesy by Nanobanana):&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_D1kvrSZ.max-1000x1000.png"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;</description><pubDate>Fri, 10 Apr 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/how-to-get-your-agent-near-100-percent-accurate-data/</guid><category>AI &amp; Machine Learning</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_khSPQax.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Near-100% Accurate Data for your Agent with Comprehensive Context Engineering</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_khSPQax.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/how-to-get-your-agent-near-100-percent-accurate-data/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Tom Kubik</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yannis Papakonstantinou</name><title>Distinguished Engineer</title><department></department><company></company></author></item><item><title>QueryData helps agents turn natural language into queries for AlloyDB, Cloud SQL and Spanner</title><link>https://cloud.google.com/blog/products/databases/introducing-querydata-for-near-100-percent-accurate-data-agents/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;QueryData launches in preview today. It is a tool for translating natural language into database queries with near-100% accuracy. With QueryData, you can build agentic experiences across AlloyDB, Cloud SQL (for MySQL and PostgreSQL), and Spanner (for GoogleSQL). It builds upon Google Cloud’s &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/how-to-get-gemini-to-deeply-understand-your-database"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;#1 spot in the BiRD benchmark&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, one of the world's most competitive benchmarks for natural-language-to-SQL – as well as upon Gemini-assisted context engineering.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Developers are already seeing the benefits from QueryData, including Hughes Network Systems, a leader in telecommunications, that deployed QueryData in production. “We have transformed user support operations with Google Cloud’s data agents. At the heart of our solution is QueryData, enabling near-100% accuracy in production. We are excited about the future of agentic systems!"&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; - &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Amarender Singh Sardar, Director of AI, Hughes Network Systems&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;The opportunity for agentic systems: from intent to action &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agentic systems are evolving from human-advisory roles into active decision-makers. To execute business actions accurately, agents require precise information from operational databases (such as pricing, inventory, or transaction records).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With requests expressed in natural language, bridging the gap between conversational input and database records is essential. High-quality natural language-to-query capability is a critical requirement for enabling agents to take actions.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_ryew2jg.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;The developer’s dilemma: why natural language for agents with databases is hard&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Hurdles for agents querying enterprise data are threefold: accuracy, security and ease of use. QueryData addresses all three of them:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Accuracy&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – Inaccurate answers carry a risk of poor business decisions, disappointed end-users or financial losses. In many industries, translating text into SQL with 90% accuracy is simply insufficient for taking action. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Security&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – how to make sure that each person (or agent) only queries the data they are allowed to see? Enterprises need auditable, deterministic access controls. Relying on the LLM's judgement (aka “probabilistic” access controls) falls short of that. Even a low risk of security breaches means disproportionately high losses &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Ease of use&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – Achieving high accuracy requires developers to provide extensive contextual information about their data. This can be a laborious task. Another example of developer friction is integration and maintenance of agentic tools&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Understanding the accuracy gap&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;LLMs are really good at writing query code. However, to write accurate queries for a given database – it takes more than coding skills, and more than just parsing the schema: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Schemas can be unclear&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – developers often use shorthands or abbreviated names. For example: what does a column named “product” mean? A product category? A particular model…? It gets even worse with column names like “prod” or simply “p” &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Values can be ambiguous&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – let’s take a column named “order return status”... where values are expressed as integers: “1”, “2” and “3”. Which of these represents “returned” or “return initiated”?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Schemas cover data structure, but not the business logic&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; – Your business may define “monthly active users” as those who have posted at least once, not just logged in (but database may lack this nuance). &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Underspecified queries &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;– Natural language questions can be ambiguous, like “latest sales”.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_1Mu6uKe.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;How QueryData solves for near-100% accuracy&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;QueryData leverages the Gemini LLM, as well as context which describes your unique database. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Database context, which is essentially the code fueling QueryData, is a set of descriptions and instructions including:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Schema ontology &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;– information about the meaning of the data. Descriptions of columns, tables and values. It helps QueryData overcome ambiguity by figuring out what data is needed to answer the question&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Query blueprints&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; – guidelines and explicit instructions for how to write database queries to answer specific types of questions. Templates and facets specify the exact SQL to write for a given type of question.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; As a last resort, QueryData will detect when a clarifying question needs to be asked.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_M99c4kU.max-1000x1000.png"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Deterministic security for your queries &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Agentic applications require deterministic, auditable security. Developers can use Parameterized Secure Views (PSVs) to define agent access via fixed parameters, like user ID or region. By passing these security-critical parameters separately from queries, the application ensures agents can only access the authorized data. This prevents agents from querying restricted information, even if they attempt to do so.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Support for PSVs is available today in &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/parameterized-secure-views-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and coming soon to Cloud SQL and Spanner.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/5_3WNkyE4.max-1000x1000.png"
        
          alt="5"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Ease of use for quality hill-climbing and tool integration&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Integration of QueryData into your agentic workflows is easy. The &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations/queryData"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;QueryData API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; can be used directly or exposed as a Model Context Protocol (MCP) tool via our popular open source MCP Server: &lt;/span&gt;&lt;a href="https://github.com/googleapis/genai-toolbox" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MCP Toolbox for Databases&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. QueryData automatically works across different database dialects – no need for database-specific code, just one API to query them all.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Another area where QueryData makes things easier for developers – is context engineering. It is the process of iteratively evaluating and optimizing context. It is critical to QueryData’s ability to accurately query your database. Developers using QueryData enjoy support from a robust suite of tools:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Out-of-the-box context generation &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;– upon configuring QueryData, the Context Engineering Assistant, a dedicated agent in Gemini CLI, will help you create the very first context set for your database.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Evals: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Developers can use the bundled &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/evalbench" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Evalbench framework&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to measure accuracy against a set of tests specific to your use case&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Context optimization&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: the Context Engineering Assistant reviews eval results, recommends changes and then helps run evals again. Through this iterative process, you can reach near-100% accuracy.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;What you can build with QueryData today&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Developers are already building with QueryData. Examples include: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Customer-facing applications&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: a real estate search engine, where QueryData translates user prompts into database queries, and then schedules viewing appointments&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Internal tools&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: an AI-powered staffing app querying human resources data and then enabling managers to assign workers to shifts&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Multi-agent architectures&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: a trade compliance workflow where a top level agent asks a sub-agent to verify that an entity has appropriate KYC (“Know Your Customer”) status. The KYC agent queries a database to confirm the customer’s identity.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/6_Y03fXl5.max-1000x1000.png"
        
          alt="6"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Next steps&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;You can have your agent start using QueryData as a tool for near-100% accurate database calls today. For more details, explore our technical documentation:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/data-agent-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/data-agent-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/mysql/data-agent-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for MySQL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/data-agent-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Check out the "Swiss property search" high-fidelity demo, pictured below (video walkthrough &lt;/span&gt;&lt;a href="https://www.linkedin.com/posts/szinsmeister_take-full-control-of-your-applications-agentic-ugcPost-7444921297576292353--jOf?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAAX6b0BR_6Oyq6LQo4TQ515fj8aorYX-yE" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;). Note: This is an independent project (not maintained by Google Cloud) and is for illustrative purposes only: &lt;/span&gt;&lt;a href="https://github.com/kupp0/multi-db-property-search-data-agents" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GitHub link&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/7_jHCgmuv.gif"
        
          alt="7"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;</description><pubDate>Fri, 10 Apr 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/introducing-querydata-for-near-100-percent-accurate-data-agents/</guid><category>AI &amp; Machine Learning</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_iGor7fR.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>QueryData helps agents turn natural language into queries for AlloyDB, Cloud SQL and Spanner</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/1_iGor7fR.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/introducing-querydata-for-near-100-percent-accurate-data-agents/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Tom Kubik</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Andrew Brook</name><title>Engineering Director</title><department></department><company></company></author></item><item><title>What’s new with Google Data Cloud</title><link>https://cloud.google.com/blog/products/data-analytics/whats-new-with-google-data-cloud/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;March 23 - March 27&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We showed you how you can &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/cloudsql-read-pools-support-autoscaling"&gt;&lt;span style="vertical-align: baseline;"&gt;scale your reads with Cloud SQL autoscaling read pools.&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; This feature allows you to provision multiple read replicas that are accessible via a single read endpoint and to dynamically adjust your read capability based on real-time application needs. &lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;Our customers are leveraging the full power of Conversational Analytics and Looker to drive major business and technical breakthroughs in the AI era. Companies like &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/telenor-looker"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Telenor&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/petcircle-looker"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Pet Circle&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/fluent-commerce"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Fluent Commerce&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/lighthouse"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Lighthouse Intelligence&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/wego"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Wego&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/roller"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ROLLER&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; are turning data into insights and actions, grounded by Looker’s semantic layer.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;March 16 - March 20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;We introduced &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/gemini-supercharges-the-bigquery-studio-assistant"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;an enhanced Gemini assistant in BigQuery Studio&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, transforming the agent from a code assistant into a fully context-aware analytics partner.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;February 23 - February 27&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We introduced &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/managed-mcp-servers-for-google-cloud-databases"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;managed and remote MCP support for Google Cloud databases&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, including AlloyDB, Spanner, Cloud SQL, Bigtable and Firestore, to power the next generation of agents. This announcement extends the ability for AI models to plan, build, and solve complex problems, connecting to the database tools our customers leverage daily as the backbone of their work environment.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;We outlined how you can &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/build-data-agents-with-conversational-analytics-api"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;build a conversational agent in BigQuery using the Conversational Analytics API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to help you build context-aware agents that can understand natural language, query your BigQuery data, and deliver answers in text, tables, and visual charts.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;February 16 - February 20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;Our customers are leveraging the full power of Looker to drive major business and technical breakthroughs. Companies like &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/arrive"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Arrive&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/audika"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Audika&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/looker-carousell"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Carousell&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/framebridge"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Framebridge&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/gumgum"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;GumGum&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/intel-looker"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Intel&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/overdose-digital"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Overdose Digital&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/one-looker"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Ocean Network Express&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/subskribe"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Subskribe&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/customers/promevo-looker"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Promevo&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; are leveraging Looker’s newest AI-driven capabilities, including Conversational Analytics, to transform data to insights and actions, and empower their entire organization with a single source of truth, powered by Looker’s semantic layer.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;February 2 - February 6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;Join us on March 4 for our webinar, Win Your AI Strategy with Cloud SQL Enterprise Plus, to learn how to power your generative AI workloads with 3x higher performance and 99.99% availability. &lt;/span&gt;&lt;a href="https://rsvp.withgoogle.com/events/win-your-ai-strategy-with-cloud-sql-enterprise-plus" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Register today&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to discover how to build a scalable, enterprise-grade foundation for your most demanding AI applications.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;January 26 - January 30&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We introduced &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/introducing-conversational-analytics-in-bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Conversational Analytics in BigQuery&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, which allows users to analyze data using natural language.&lt;/span&gt;&lt;/a&gt; &lt;span style="vertical-align: baseline;"&gt;Conversational Analytics in BigQuery is an intelligent agent that generates, executes and visualizes answers grounded in your business context directly in BigQuery Studio, making data insights for data professionals more conversational.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We outlined how &lt;/span&gt;&lt;a href="https://cloud.google.com/transform/from-asset-to-action-how-data-products-have-become-the-foundation-for-ai-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;data products have become the foundation for AI agents&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, providing the context needed to make autonomous agents reliable and trusted for real business use, backed by organized business logic and semantic understanding.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;We highlighted how &lt;/span&gt;&lt;a href="https://cloud.google.com/use-cases/data-analytics-agents"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;you can supercharge data analytics workflows&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and outlined Google Cloud’s AI agent offerings for data engineering, data science, and development tools, so you can integrate agentic workflows in your applications, empower your teams and speed discovery.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;January 19 - January 23&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We have fundamentally reimagined &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore with pipeline operations for Enterprise edition&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;.&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Experience a powerful new engine featuring over a hundred new query features, index-less queries, new index types, and observability tooling to improve query performance. Seamlessly migrate using built-in tools and leverage Firestore’s existing differentiated serverless foundation, virtually unlimited scale, and industry-leading SLA. Join a community of 600K developers to craft expressive applications that maximize the benefits of rich queryability, real-time listen queries, robust offline caching, and cutting-edge AI-assistive coding integrations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://www.mssqltips.com/sqlservertip/11578/introducing-google-cloud-sql/" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Introducing Google Cloud SQL on MSSQLTips&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; We are highlighting a new technical guide published on MSSQLTips titled "Introducing Google Cloud SQL." This article serves as an essential resource for SQL Server administrators and developers exploring Google Cloud's fully managed database service. It provides a detailed overview of Cloud SQL capabilities, including high availability, security integration, and the seamless transition of on-premises SQL Server workloads to the cloud, making it an ideal resource for those planning their migration strategy.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;We are excited to announce the &lt;/span&gt;&lt;strong&gt;&lt;a href="https://medium.com/google-cloud/bridging-the-identity-gap-microsoft-entra-id-integration-with-cloud-sql-for-sql-server-a30207d63035" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Public Preview of Microsoft Entra ID&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; (formerly Azure Active Directory) integration with Cloud SQL for SQL Server. Designed to tackle the challenge of identity sprawl in multi-cloud environments, this integration allows organizations to govern database access using their existing Microsoft identity infrastructure. Key benefits include centralized identity management, enhanced security features like Multi-Factor Authentication (MFA), and simplified user administration through direct group mapping. This feature is available for SQL Server 2022 and supports both public and private IP configurations.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;January 12 - January 16&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Google-built JDBC Driver for BigQuery is now available in Preview&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;We are excited to announce the launch of the new, Google-built JDBC driver for BigQuery. This new open-source driver provides a direct, high-performance connection for Java applications to BigQuery and is developed entirely in-house by Google. &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/jdbc-for-bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Download a new driver and connect your Java application to BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Troubleshoot Airflow tasks instantly with Gemini Cloud Assist investigations:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Cloud Composer just got smarter. We are excited to announce that &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini Cloud Assist investigations &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;are now available directly within&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; Cloud Composer 3&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Instead of manually sifting through raw logs, you can now simply click "Investigate" on a failed Airflow task. Gemini analyzes logs and task metadata to identify failure patterns—such as resource exhaustion or timeouts—and provides actionable recommendations driven by Gemini Cloud Assist to resolve the issue. This integration shifts the debugging experience from manual toil to automated root cause analysis, significantly reducing the time required to restore your pipelines.&lt;/span&gt; &lt;a href="https://docs.cloud.google.com/composer/docs/composer-3/troubleshooting-dags#investigations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Learn more about AI-assisted troubleshooting&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/products/data-analytics/whats-new-with-google-data-cloud-2025/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('https://storage.googleapis.com/gweb-cloudblog-publish/images/whats_new_data_cloud_fWg4bKK.max-500x500.png')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;What’s new with Google Data Cloud - 2025&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;Recent product news and updates from our data analytics, database and business intelligence teams.&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Thu, 02 Apr 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/data-analytics/whats-new-with-google-data-cloud/</guid><category>Databases</category><category>Business Intelligence</category><category>Data Analytics</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/whats_new_data_cloud_fWg4bKK.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>What’s new with Google Data Cloud</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/original_images/whats_new_data_cloud_fWg4bKK.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/data-analytics/whats-new-with-google-data-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>The Google Cloud Data Analytics, BI, and Database teams </name><title></title><department></department><company></company></author></item><item><title>Spanner's multi-model advantage for the era of agentic AI</title><link>https://cloud.google.com/blog/products/databases/spanners-multi-model-advantage-for-agentic-ai/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In the age of agentic AI, the role of databases is fundamentally changing. It’s evolving from a passive data repository into an intelligent, active context hub designed to ground generative AI foundation models and a reasoning engine that drives proactive actions. To power sophisticated AI and agentic workflows, a database must do more than store and query your data — it must facilitate reasoning, provide deep contextualization, and turn static intelligence into proactive action – all in a multiple data model environment. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Rather than manually orchestrating data across disparate silos, a multi-model database approach coalesces relational, vector, and graph data into a rich, unified knowledge base. This allows AI to leverage situational, semantic, and relationship context simultaneously. &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, Google Cloud’s globally consistent, scalable, fully managed database, is built for the AI era. It offers a unified approach to integrate your data and power sophisticated, agentic AI.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In this post, we’ll look at how Spanner is helping organizations achieve production-ready AI, and if you want more real-world examples, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;you can read this &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/customers-see-real-world-success-with-multi-model-spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;companion article&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. It covers four key areas — fraud detection, personalized recommendations, hybrid search, and autonomous network operations.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;The Power of interoperable multi-model databases&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Today’s common, fragmented, multi-database strategy introduces critical challenges: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Data inconsistency:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The absence of a single source of truth forces developers to simulate consistency through brittle application code, leading to data duplication, stale data, and significant governance and security vulnerabilities. Your application's overall reliability is effectively capped by the database with the lowest SLA.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Operational and skill silos:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Managing disparate systems creates massive operational overhead and fractures your team into skill-silos, imposing a "complexity tax" that directly inflates costs and drags down development velocity.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Unified intelligence blockers:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Inherent data silos and the ETL latency create an architectural barrier, preventing the real-time, context-aware intelligence required to power cutting-edge AI applications.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Together, these challenges create a significant structural disadvantage in the AI era.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner’s AI advantage&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve been constantly evolving Spanner over the years, to keep up with the most demanding cloud workloads and Generative AI offers some of the most unique and novel database challenges yet. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Building on its core foundation, Spanner introduced fully interoperable multi-model capabilities last year, allowing you to access and query your data using diverse models — including relational, key-value, graph, and vector —all within a single, highly capable database foundation. Each data model is powerful in their own right:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Relational: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner has pioneered the relational scale-out database, offering ANSI SQL with both Google SQL and PostgreSQL dialects that delivers 5 9s availability and strong consistency across the globe. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Key-value: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner also offers high-performance, key-value database capabilities. Its Cassandra native endpoint allows customers to easily lift and shift their Cassandra workload to Spanner without change to application codes&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Graph&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Built on the ISO standard GQL, allowing you to model data natively as a graph or as a simple overlay on top of relational data.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Vector: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;A fully integrated semantic search solution offering both KNN and ANN, with the latter built using Google's state-of-the-art ScaNN technology, capable of supporting indexes with over 10 billion vectors.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Full-Text Search&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: building on Google’s decades of search expertise that allows you to search for across structured and unstructured data with advanced information retrieval tools out of the box for 40+ languages&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Integration with Data Warehouses:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Seamlessly connecting transactional data with insights from analytical processes.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This unified architecture eliminates the need for complex data synchronization across multiple specialized databases, radically simplifying your environment and accelerating development. Customers can now leverage Spanner's interoperable multi-model capability to combine distinct data types seamlessly.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Companies making AI a globe-spanning success&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.makemytrip.com/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MakeMyTrip&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; is one of many companies putting AI into production in demanding real-world environments thanks to the multi-model capabilities of Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;An India-based online travel company, MakeMyTrip has successfully consolidated four specialized databases into a single Spanner instance, significantly reducing operational complexity, while accelerating AI innovation and achieving high performant and high quality outputs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Ravindra Tiwary&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, director of technology development at MakeMyTrip, saw multiple benefits to her organization’s Spanner migration: &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;“We consolidated MongoDB, Neo4j, Elasticsearch, and Qdrant into one unified system, achieving a 75% reduction in operational complexity. This transition eliminated the friction of managing multiple database nuances and redundant synchronization pipelines.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;The most transformative advantage is executing unified queries across lexical, keyword, and embedding searches in a single platform. This consolidation accelerated our feature innovation cycle by 30% to 50% for consolidated-view features and saved 5.5 to 9.5 operational hours per week, per destination.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;With Spanner as our single source of truth, we eliminated data drift and ensured facts are updated atomically. This directly improved our answer-quality score by 9%. Spanner now provides the scalable, high-performance foundation essential for our 'Destination Expert' ecosystem (a homegrown GenAI-powered travel planner bot providing personalized travel recommendations) and future AI workflows.”  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;And they’re not the only ones who’ve reached new destinations on their AI journey. To learn how leading organizations like Target, Palo Alto Networks, and MasOrange are succeeding with Spanner, &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/customers-see-real-world-success-with-multi-model-spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;check out our next post&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To get started on your own AI journey with Spanner, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;visit &lt;/span&gt;&lt;a href="http://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;our Spanner page&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to learn more and get started today.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 31 Mar 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/spanners-multi-model-advantage-for-agentic-ai/</guid><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/multi-model-spanner-ai-foundations-hero.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Spanner's multi-model advantage for the era of agentic AI</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/multi-model-spanner-ai-foundations-hero.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/spanners-multi-model-advantage-for-agentic-ai/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Wenzhe Cao</name><title>Group Product Manager</title><department></department><company></company></author></item><item><title>Real-world success with Spanner’s fully interoperable multi-model database</title><link>https://cloud.google.com/blog/products/databases/customers-see-real-world-success-with-multi-model-spanner/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In the &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanners-multi-model-advantage-for-agentic-ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;first post&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;on the power of multi-model databases to lay the foundations for gen AI, we highlighted how Google Cloud Spanner helps organizations overcome some  of the challenges presented by traditional approaches to database architecture and management. In this post, we dive deeper on the specific examples, across four common use cases. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We are seeing customers increasingly choose Spanner's multi-model capabilities to address three key strategic goals:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;A foundation of scale and reliability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Many specialized databases for graph, vector, or search, are built on traditional, single-machine architectures. As a result, they face fundamental challenges with scalability, availability, and consistency. We see customers migrate off these specialized systems because they have - or are about to - hit a wall. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;All Spanner’s data models are built on its tried-and-true platform offering 99.999% availability, automatic scaling, and limitless horizontal scale, and they can easily extend to new capabilities. For example, adding a vector embedding column to the existing graph schema. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Consolidating database sprawl and eliminating ETL:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Managing, securing, and patching multiple disparate databases, each with its own data model, query language and backup policy can be an operational nightmare for users. Extract, transform, load (ETL) pipelines required to sync data, are especially frustrating as they often create inconsistency and delays. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner eliminates this complexity by offering multiple data models in a single unified database, eliminating extra data copies, inconsistency and management overhead. Moreover, Spanner’s interoperable multi-model capabilities allow a developer to write one SQL query that joins relational tables, traverses a graph relationship, and filters on a vector or text search function. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Future-proofing for evolving application needs:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; While many customers start with a simple application, they know it will need to get smarter and more complex over time. In Spanner, adding a graph-based recommendation or AI-powered vector search can be an afterthought. A developer can simply turn on graph or search capabilities on their operational data, with a simple data definition language (DDL) command. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;With Spanner, there is no painful migration, no complex re-architecturing and no growth ceiling. Instead, customers can build on a reliable relational database while seamlessly adding new, advanced data models as their application evolves.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Here’s how customers across industries are already leveraging Spanner's evolving multi-model capabilities to solve their toughest data challenges and achieve early success:&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;1. Fraud detection&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Fraudsters often exploit complex, non-obvious patterns across multiple transactions and accounts. Traditional relational databases struggle to detect these intricate relationships in real-time. Spanner combines relational queries with graph analytics to enable real-time pattern recognition. This allows businesses to efficiently identify suspicious clusters or unusual connections that might indicate fraudulent behavior, significantly reducing financial losses and enhancing security.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;DANA&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Anti-money laundering for fast growing customer base&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DANA, an Indonesia-based e-wallet app, offering payments and digital financial services including lending, insurance and investments, has adopted &lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?_gl=1*srj9vi*_up*MQ..*_gs*MQ..&amp;amp;gclid=Cj0KCQiAk6rNBhCxARIsAN5mQLtRn2JV2kRGA8xyY5KmeksGbwwtnNkIYH2imAoEoKJvfbLfH2BK8coaAieOEALw_wcB&amp;amp;gclsrc=aw.ds&amp;amp;e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to support its critical anti-money-laundering, or AML, efforts.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; With a massive and still rapidly growing user base, DANA struggled to scale and meet query performance SLAs using existing relational databases to detect money laundering patterns in transactions. Moving to do the analytics in graph databases was obvious, but many graph database providers in the market simply could not handle the scale. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner was selected after an elaborate RFP process due to its high availability, virtually unlimited scale, and external consistency. The ability to use full-text search (FTS) and vector search directly within the Graph model were key differentiators.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Palo Alto Networks: Access graph for SaaS identity&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Palo Alto Networks, one of the leading cybersecurity firms, leverages Spanner to provide insights into organizational identity posture, surfacing misconfigurations and over-privileged accounts, dormant accounts, unrotated credentials, over-privileged accounts, and accounts missing in the Identity Provider (IDP).&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The team needed to build a world-class agent security product for the AI era that could innovate quickly while ensuring highly scalability without creating data silos.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; They built an "Access Graph" on Spanner to connect user identities, access permissions, and the associated user activities within the SaaS applications. Spanner allows them to achieve massive scale with a single schema for both graph and non-graph use cases seamlessly. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Verisoul.ai: Real-time fake user detection &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Verisoul offers a unified AI-powered platform to detect and prevent fake users, ensuring accounts are real, unique, and trustworthy.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Verisoul previously built and maintained 10 different independent services across Postgres, Cassandra, and Neo4j to handle a variety of types of data, such as network intelligence, device intelligence, behavioral and sensor data, email and multi accounting. This complexity made it difficult to provide zero-latency detection to counter the speed, scale and sophistication of modern-day fraud attacks, &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; By consolidating onto Spanner, Verisoul now can monitor hundreds of customers with millions of accounts in real time, capturing every login, page view, click, and mouse move. Spanner provided an all-in-one database for Graph, vector search, and seamless integration with &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, allowing them to eliminate maintenance overhead while delivering unlimited throughput all with a simple architecture.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;2. Recommendation engines&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Personalized recommendations are at the heart of online consumer businesses. Building an effective recommendation engine requires analyzing vast amounts of user behavior data, product and service attributes, and historical interactions. Spanner’s interoperable queries allow you to combine user profiles (relational), interaction history (search), and product similarity (graph) to generate highly relevant recommendations in real time, driving better user engagement and improving conversion rates.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Target: Combining Vector and Graph Search for gift recommendations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Target sought to elevate the holiday shopping experience with a generative AI-powered Gift Finder for highly personalized gift recommendations.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;The application was run on a specialized search database, providing limited gift recommendations. To enhance and personalize the experience, Target needed a sophisticated upgrade.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Target selected Spanner Graph for its versatile hybrid query model. The solution blends graph traversals with vector search with their proprietary embeddings delivering intuitive, real-time product suggestions — all delivered just in time for the 2025 Black-Friday-Cyber-Monday shopping rush.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;True Digital Group: Consolidating AI search &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;True Digital Group, Thailand's leading telecom-tech company,&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;offers customers a wide array of high-quality digital services, encompassing both streaming and print media, along with customer loyalty tracking. Their AI-driven intelligent search feature ensures accurate content retrieval based on keywords and user intent.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;A fragmented stack with multiple databases resulted in outdated data, inconsistent tokenization, multiple query languages, and poor search quality, causing users to avoid the search feature.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;True Digital consolidated all search functionality onto Spanner. By combining keyword and intent-based search results using SQL, they significantly improved search relevancy and accuracy, leading to increased customer engagement and satisfaction.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;3. Hybrid search&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Information retrieval is the critical bridge that grounds AI models in factual, up-to-date data and enables agentic workflow. Often, users must locate a specific needle in a haystack — searching through a massive corpus of legal documents, financial reports, or research papers. Interoperable multi-model Spanner empowers customers with hybrid search capabilities, ensuring AI models retrieve the most relevant context at any scale with pinpoint accuracy.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Rogo: Financial workflow automation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Rogo connects proprietary internal data with external financial sources like filings, PitchBook, LSEG, FactSet, and S&amp;amp;P Capital IQ to help finance professionals automate their workflows, from building pitch decks to drafting investment memos.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Rogo needs to ingest and connect data from dozens of sources at once, across both structured and unstructured formats. Finding the right backend to support that wasn't straightforward.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Rogo chose Google Cloud Spanner for its high performance, scalability, and easy management. It lets them store and query both relational and document-based data in one place, which has made it easier to audit and maintain as the platform has grown.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Inspira: Streaming legal intelligence&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Inspira&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;, &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;a leading legal tech company, provides AI-driven solutions tailored for legal research and general workforce optimization. Their platform serves law firms, corporations, and government entities, managing a massive repository of 75 million legal documents and 440 million vectors.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Before migrating to Spanner, Inspira struggled with a complex, fragmented architecture, relying on a polyglot system consisting of Elasticsearch, BigQuery and Cloud SQL. This led to complicated data synchronization, and complex “two-stage” query filtering to combine keyword and vector searches. The team also needs a path to scale beyond 1 billion vectors without sacrificing latency and high read/write throughput. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;To resolve these inefficiencies, Inspira consolidated their entire stack intoSpanner, drastically simplifying a 4.5 TB data pipeline into a unified, high-performance single-source of truth. Leveraging Spanner’s native support for both FTS and vector search, Inspira enabled single-stage filtering for hybrid queries and achieved high-precision snippets for LLM-based legal analysis with RAG workflow.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;4. Autonomous network operations&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Autonomous network operations (ANO) represents &lt;/span&gt;&lt;a href="https://cloud.google.com/transform/google-cloud-rise-of-the-agentic-telco-mwc?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;the transition&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; from reactive maintenance to predictive, self-healing networks. By creating a comprehensive digital twin of the network topology and overlaying it with real-time operational data, telecommunications providers can automate root cause analysis, predict anomalies, and resolve network incidents without human intervention.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;MasOrange: The digital twin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A temporal digital twin is at the heart of MasOrange’s ANO efforts, replicating its country-wide wireless network topology, alongside operations support systems (OSS), and business support systems (BSS) data.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Challenge:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; MasOrange needed a graph database that was highly available, infinitely scalable with zero RPO/RTO to serve as the foundation of its ANO stack. They required vector, and FTS capabilities without the operational overhead of managing multiple disparate solutions.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Solution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; MasOrange chose Spanner for its ability to meet strict scalability and availability requirements while offering fully interoperable Graph, vector and FTS capability. Today MasOrange’s digital twin is live on Spanner, powering end-to-end anomaly detection and root cause analysis.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;span style="vertical-align: baseline;"&gt;Looking Ahead&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;scale insurance, high reliability, global consistency, and versatility in handling different data models interoperably, Spanner is a future-proof database for your agentic workload. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We envision a future where the database becomes a simple implementation detail, allowing you to focus purely on accelerating developer productivity, improving operational efficiency and delivering your business goals. Visit &lt;/span&gt;&lt;a href="http://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;our Spanner page&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to learn more and get started today.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 31 Mar 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/customers-see-real-world-success-with-multi-model-spanner/</guid><category>Customers</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/multi-model-spanner-ai-customers-hero.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Real-world success with Spanner’s fully interoperable multi-model database</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/multi-model-spanner-ai-customers-hero.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/customers-see-real-world-success-with-multi-model-spanner/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Wenzhe Cao</name><title>Group Product Manager</title><department></department><company></company></author></item><item><title>How ID.me Scaled to 160M Users While Reducing Operational Risk</title><link>https://cloud.google.com/blog/products/databases/id-me-scales-and-fights-ai-fraud-with-alloydb/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Editor’s note: &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ID.me is transforming digital identity security, proving that establishing your identity can be easy. What's more, their platform has scaled to support 160 million members and can support up to 40,000 users per minute.To support services like tax filing that require massive scale and power real-time AI, the team migrated 50 terabytes of data from their legacy platform to Google Cloud, adopting a modern architecture on AlloyDB, Cloud SQL, and Vertex AI. This architecture resulted in faster development, more accurate fraud detection, and a 40% reduction in their data teams’ overall work completion time.&lt;/span&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Phone, driver’s license, credit card – you probably don’t leave home without some form of ID. It proves who you are, and it works almost anywhere. But online, you’re made to prove your identity again and again, and create new logins for every new service or tool you use. At &lt;/span&gt;&lt;a href="https://www.id.me/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ID.me&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, we think people should be able to verify their identity once, securely, and bring that same credential everywhere they go online.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our goal is to create the digital wallet for identity: a trusted sign-in that works across the public and private sectors. Today, we serve over 160 million members. As identity grows ever more essential to how we live and work, we’re scaling to make it as easy to prove who you are online as it is to flash your driver’s license in person.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=xg7SFprpr4I"
      data-glue-modal-trigger="uni-modal-xg7SFprpr4I-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_cIbFILC.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;New Way Now: ID.me fights fraud for over 145 million users — powered by AlloyDB&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-xg7SFprpr4I-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="xg7SFprpr4I"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=xg7SFprpr4I"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;But demand doesn’t wait&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In the last few years, ID.me has gone from serving 50 million members to more than 160 million. We no longer track usage by the day, but instead monitor it moment-to-moment. At this stage, our platform is designed to support up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;40,000 members per minute&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. That kind of demand changes the equation. For ID.me members, access is everything. It’s not just about uptime; it’s about ensuring that when a member needs to prove who they are—whether for government benefits, healthcare, or exclusive offers—we verify them securely and instantly. As usage grew, we realized our infrastructure couldn’t scale the way we needed it to. We were reaching the limits of our architecture. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;So we made the decision to rebuild&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; the ID.me data foundation on Google Cloud for our next phase of growth.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;A new database for us and our 160 million closest friends&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The first order of business was to select a database that could truly provide the massive scalability and reliability we needed. &lt;/span&gt;&lt;a href="https://cloud.google.com/products/alloydb?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; immediately stood out. It directly addressed the scaling bottlenecks and operational complexities we faced with our prior setup, allowing us to confidently handle our peak demands. This shift didn't just solve our technical hurdles; it dramatically improved our developer experience. Our teams now spend far less time on provisioning, maintenance, and patching, accelerating our development cycle from weeks to just days.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Over the last two years, we migrated more than 50 terabytes of data across 15 database instances to Google Cloud – with minimal downtime. We also introduced a two-tier architecture where &lt;/span&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; supports our smaller and more standard services, while AlloyDB runs heavier workforces that form the backbone of the ID.me platform. That way, we can move fast without sacrificing stability. It also frees up our teams to focus on the work that actually drives innovation, like making sure AI works for, not against, our identity efforts.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_p3whGZV.max-1000x1000.png"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;Build smarter with Google Cloud databases&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0cd5f40&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Training AI to fight . . . AI?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Of course, everyone is racing to use AI. At ID.me, it’s just as important to defend against its misuse. The threat landscape is evolving, especially as generative models get better at impersonating individuals and even creating synthetic identities. And since we’re in the business of verifying that people are who they say they are, that threat lands squarely on our doorstep.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;One of the great things about AlloyDB is its ability to create multiple read pools. For us, those read pools have become data clean rooms that we can quickly share out with our data engineers and data scientists. Fraud analysts can go in, find what’s wrong, and either remediate or prevent it in real time. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Overall, &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/ai?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; has allowed us to scale our systems 10-20X of what we were able to handle – and with a decrease in price to boot. The impact of this is huge. &lt;/span&gt;&lt;a href="https://www.gov.ca.gov/2022/06/21/edd-recovers-1-1-billion-in-unemployment-insurance-funds-with-more-investigations-and-recoveries-to-come/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ID.me has been recognized by the U.S. federal government for its role in &lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;preventing large-scale fraud within national systems. A crucial factor in this success was AlloyDB's built-in high availability and easy-to-scale read pools, which enabled the Internal Revenue Service (IRS)—the U.S. national taxing authority— to seamlessly process over 120,000 transactions per second during the last peak tax season without a blip. This effectively doubled their previous self-hosted PostgreSQL performance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve been playing with a lot of new capabilities, but the ones we’re most excited about are &lt;/span&gt;&lt;a href="https://cloud.google.com/products/agentspace?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and AlloyDB AI natural language as they represent a fundamental shift in how we build and interact with AI. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;One login. Every system. Zero friction.&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our data teams are big fans of Google Cloud; it's made their work substantially easier. Since migrating, they can make changes much faster, leading to a 40% reduction in their overall work completion time. And across ID.me engineering teams, the developer experience has improved dramatically. Our teams can ship full product features in days instead of weeks, spending more time solving meaningful problems for our members.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve been able to scale both our infrastructure &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;and&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; trust. With a platform that’s faster, smarter, and built to handle portable identity at massive scale, we’re one step closer to our goal: a secure, digital way to prove who you are, wherever you need it, that works everywhere you need it. You may never get asked security questions about your childhood pet again.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Learn more:&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Learn more about the power of &lt;/span&gt;&lt;a href="https://cloud.google.com/products/alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://console.cloud.google.com/freetrial?redirectPath=/alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Start your AlloyDB free trial today&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Learn how customers like &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=dCwmsiCOegU" rel="noopener" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Bayer&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=Vb6C7rjV6FA" rel="noopener" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Character.ai&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; are leveraging AlloyDB to transform their business.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Mon, 30 Mar 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/id-me-scales-and-fights-ai-fraud-with-alloydb/</guid><category>Customers</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>How ID.me Scaled to 160M Users While Reducing Operational Risk</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/id-me-scales-and-fights-ai-fraud-with-alloydb/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Kevin Liu</name><title>Cloud Platform Architect, ID.me</title><department></department><company></company></author></item><item><title>Manhattan Associates powers over a billion daily API calls with Google Cloud databases</title><link>https://cloud.google.com/blog/products/databases/how-cloud-sql-powers-manhattan-associates-ai-supply-chain-platform/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Editor’s note&lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;:  Manhattan Associates, a global leader in supply chain and omnichannel commerce solutions, modernized its Manhattan Active SaaS platform by moving from legacy Oracle and DB2 systems to Google Cloud databases. With Cloud SQL and BigQuery, the company now processes over a billion API calls per day with average response times under 150 milliseconds, supporting hundreds of thousands of monthly active users across tens of thousands of stores and distribution centers.&lt;/span&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;From monolithic roots to cloud resilience&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our Manhattan Active SaaS platform supports global supply chains, requiring constant uptime and performance. Our legacy Oracle and DB2 infrastructure created operational drag through manual scaling, complex licensing, and high maintenance overhead. We needed a new database foundation that provided contractual SLAs for availability, automated resilience, and a predictable cost model.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We chose Google Cloud databases because they give us the right balance of flexibility, scalability, and operational simplicity needed to run Manhattan Active at global scale. With managed databases like &lt;/span&gt;&lt;a href="https://cloud.google.com/sql?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=na-US-all-en-dr-bkws-all-all-trial-e-dr-1710134&amp;amp;utm_content=text-ad-none-any-DEV_c-CRE_772382725889-ADGP_Hybrid+%7C+BKWS+-+EXA+%7C+Txt-Databases-Relational+DB-Cloud+SQL-KWID_28489936691-kwd-28489936691&amp;amp;utm_term=KW_google+cloud+sql-ST_google+cloud+sql&amp;amp;gclsrc=aw.ds&amp;amp;gad_source=1&amp;amp;gad_campaignid=22980675505&amp;amp;gclid=Cj0KCQjw_rPGBhCbARIsABjq9cfWkbpSIo_Ad45PyawUhO4J_YWRzxqYZ0lensrMZ87PNCa8v888NtoaAglhEALw_wcB&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, we traded manual upkeep for built-in high availability, scalability, and cross-region disaster recovery.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Each capability of Manhattan Active now runs as an independent, containerized service orchestrated by &lt;/span&gt;&lt;a href="https://cloud.google.com/kubernetes-engine?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Kubernetes Engine (GKE)&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. Data streams through &lt;/span&gt;&lt;a href="https://cloud.google.com/pubsub?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Pub/Sub&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; into &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for real-time analytics, while &lt;/span&gt;&lt;a href="https://cloud.google.com/logging?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Logging&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/monitoring?hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud Monitoring&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; deliver observability at scale. This microservices-first design, powered by Google Cloud’s managed services, gave us the agility to evolve faster and the confidence that mission-critical operations would remain resilient across regions.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;Build smarter with Google Cloud databases.&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f677af4ca90&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Building resilience and speed into every transaction&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With a new foundation on Google Cloud, we could rethink how our platform delivers value at scale. The Manhattan Active architecture works alongside managed databases to turn supply chain complexity into responsive, resilient systems.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The benefits show up across the platform. Cloud SQL powers the core of Manhattan Active, quickly and reliably running millions of supply chain transactions per day. Real-time analytics flow into BigQuery, giving retailers sharper forecasting and faster anomaly detection. Automated failover and cross-region replicas safeguard business continuity, so critical services stay available even when disruptions hit.&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;A modernized foundation: From database to intelligence&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The move from legacy Oracle and DB2 systems to Google Cloud databases solved more than just a performance issue; it gave us a resilient foundation for what came next. That reliability and scale let Manhattan Associates bring generative AI directly into the supply chain.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our &lt;/span&gt;&lt;a href="https://www.manh.com/solutions/manhattan-active-platform/agentic-ai-in-manhattan-solutions" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agentic AI suite&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; includes prebuilt agents — like the Intelligent Store Manager and Labor Optimizer — that coordinate real-time decisions across store and distribution center operations. The Manhattan Agent Foundry also lets customers build custom AI agents using a low-code environment. That same foundation powers internal efficiency too, with use cases like real-time log analysis, developer code assistance, and scenario simulations.&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;Unprecedented speed, scale, and operational efficiency in practice&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For retailers, the impact of this platform modernization is immediate: tangible speed and reliability.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the help of Cloud SQL and BigQuery, Manhattan Active now supports an astounding number of API calls per day, with an average response time under 150 milliseconds. This speed supports hundreds of thousands of monthly active users across tens of thousands of stores and distribution centers, enabling real-time decision-making where it matters most.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Operationally, the platform has become more elastic and efficient. The system automatically handles hundreds of thousands of scaling events per day, ensuring performance remains consistent during peak surges without expensive overprovisioning. Database observability tools like query insights give engineers clear visibility, so we spend less time on database patching and reactive troubleshooting and more on feature development and performance tuning.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For Manhattan Associates, resilience is now a built-in capability. And for retailers depending on our software, that translates into supply chains that are smarter, faster, and ready for whatever comes next.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Learn more&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Discover how &lt;/span&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; can transform your business! &lt;/span&gt;&lt;a href="https://console.cloud.google.com/freetrial?redirectPath=sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Start a free trial today&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;!&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Download this &lt;/span&gt;&lt;a href="https://cloud.google.com/resources/idc-business-value-cloud-sql-analyst-report"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;IDC report&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to learn how migrating to Cloud SQL can lower costs, boost agility, and speed up deployments.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Learn how &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/ford-reduces-routine-database-management-with-google-cloud" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Ford&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/infrastructure-modernization/how-yahoo-calendar-broke-free-from-hardware-queues-and-dba-bottlenecks" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Yahoo&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; gained high performance and cut costs by modernizing with Cloud SQL.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Thu, 26 Mar 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/how-cloud-sql-powers-manhattan-associates-ai-supply-chain-platform/</guid><category>Customers</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Manhattan Associates powers over a billion daily API calls with Google Cloud databases</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/how-cloud-sql-powers-manhattan-associates-ai-supply-chain-platform/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Narayana Reddy Kothapu</name><title>Senior Director, Manhattan Associates</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Rajkumar Ramani</name><title>Technical Director, Manhattan Associates</title><department></department><company></company></author></item><item><title>Streamline read scalability with Cloud SQL autoscaling read pools</title><link>https://cloud.google.com/blog/products/databases/cloudsql-read-pools-support-autoscaling/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A common pattern for applications that read frequently from a database is to offload read-heavy workloads to a read replica. This allows applications to scale without impacting critical write operations on the primary database instance. However, these read-heavy workloads can easily exceed the capacity of a single read replica. While developers can manually implement multiple replicas behind a load balancer, this approach is complex and difficult to maintain and scale. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; provides a simplified, fully managed solution to scale your reads using read pools for MySQL and PostgreSQL. This feature allows you to provision multiple read replicas that are accessible via a single read endpoint, so you can easily add and remove read replicas without having to make any application changes. To further improve efficiency, we recently introduced autoscaling for Cloud SQL read pools, which dynamically adjusts your read capability based on real-time application needs. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Read pools&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; with &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;autoscaling&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; are now generally available under&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; Cloud SQL Enterprise Plus edition&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. You can find more details in the &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/mysql/about-read-pools"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/postgres/about-read-pools"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; documentation, as well as the &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/release-notes#September_08_2025"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;release notes&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Why read pools?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;When you create a read pool replicating from a primary instance, Cloud SQL automatically provisions multiple read replicas, referred to as &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;read pool nodes&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, and creates a single load balancer (called the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;read endpoint&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;) that dispatches queries to the nodes round-robin. A pool can contain anywhere from 1 to 20 nodes.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_dN3AmBF.max-1000x1000.jpg"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A read pool is managed as a single entity to reduce your operational burden. The pool represents a homogeneous set of nodes; whenever you make any configuration change such as updating database flags, the VM type, or other parameters, the change is automatically applied to all nodes in the pool. You can also &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;scale out and in&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; by adding or removing nodes from the pool at any time in response to changes in the workload. Since all queries flow through the read endpoint's load balancer, you don’t need to reconfigure your applications, even as the nodes in the pool are being updated, added, or removed.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Easier scaling with read pool autoscaling&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Read pools truly shine in scenarios with variable workloads. With the general availability of autoscaling for Cloud SQL read pools, managing these fluctuations is even easier. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Key benefits of read pool autoscaling:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Manage traffic spikes automatically&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Maintain application responsiveness during peak demand as the pool dynamically scales up to 20 nodes based on database connections or CPU usage.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Simplify operations&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Because autoscaling is integrated with a single read endpoint, your applications stay connected to the same address even as underlying nodes are adjusted.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Optimize costs&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Pay only for the resources you actually use by automatically scaling in during low-traffic periods, preventing the expense of over-provisioning.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;How Cloud SQL improves availability with read pools&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Engineered for mission-critical reliability, Cloud SQL read pools provide the foundation for your high-availability read workloads. By maintaining at least two nodes, your read pool is backed by a 99.99% availability SLA, which includes coverage for maintenance downtime. To do this, Cloud SQL intelligently manages your environment in the following ways:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;When you add nodes to a read pool, existing connections continue without interruption on the preexisting nodes. New connections may be directed to the newly added nodes and the load shifts to be evenly balanced across the nodes as pre-existing connections finish their work.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;For read pools containing two or more nodes, when you modify the VM type or database flags, or perform most other configuration updates, the read pool is updated with near-zero downtime.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;As for any other Cloud SQL instance, Cloud SQL automatically detects and repairs issues with the underlying hardware for your read pool instances. Whenever a node is found to be unhealthy, it is removed from the load balancer rotation and a new node is created to replace it.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Enabling and using read pools with autoscaling&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Read pools excel in environments with highly variable workloads. With Cloud SQL autoscaling, you can define minimum and maximum node counts while setting targets for key metrics like CPU utilization or database connections.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_dLy2Pt5.max-1000x1000.jpg"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Retail is a prime example. Traffic often fluctuates based on daily cycles, seasonal shifts, or flash sales. By dynamically scaling out to meet these peaks and scaling once demand subsides, you provide a strong customer experience without the overhead of an over-provisioned environment. &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_e5mjKvv.max-1000x1000.jpg"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If you've already created an Enterprise Plus edition instance, you can create a read pool that replicates from it. The following command creates a read pool with two nodes and enables autoscaling, configured to scale between 2 and 10 nodes based on keeping CPU utilization around 60%:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud sql instances create myautoscaledreadpool \\\r\n  --tier=db-perf-optimized-N-4 --edition=ENTERPRISE_PLUS \\\r\n  --instance-type=READ_POOL_INSTANCE \\\r\n  --master-instance-name=myprimary \\\r\n  --region=us-west1 \\\r\n  --node-count=2 \\\r\n  --auto-scale-enabled \\\r\n  --auto-scale-min-node-count=2 \\\r\n  --auto-scale-max-node-count=10 \\\r\n  --auto-scale-target-metrics=AVERAGE_CPU_UTILIZATION=0.60&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679e5c1b50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;You can obtain the read endpoint's IP address by inspecting the instance in Google Cloud console or using the gcloud CLI. This IP address doesn't change for the lifetime of the pool.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If you have an existing read pool, you can easily enable autoscaling on it:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud sql instances patch myreadpool \\\r\n  --auto-scale-enabled \\\r\n  --auto-scale-min-node-count=2 \\\r\n  --auto-scale-max-node-count=10 \\\r\n  --auto-scale-target-metrics=AVERAGE_DB_CONNECTIONS=100&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679e5c1fa0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This command configures myreadpool to automatically scale between two and 10 nodes, targeting a maximum of 100 database connections per node on average.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While autoscaling is recommended for most variable workloads, you can still manually scale your read pool if needed by updating the node count directly:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# Manually scale out to 4 nodes\r\ngcloud sql instances patch myreadpool --node-count=4\r\n\r\n# Manually scale back in to 2 nodes\r\ngcloud sql instances patch myreadpool --node-count=2&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679e5c1df0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Get started today&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;By using read pools with new autoscaling capabilities, you can avoid the tedious tasks associated with managing a large set of read replicas, and give your applications the read capacity they need, when they need it, without overspending. To get started today, please refer to the following resources:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL documentation for read pools&lt;/span&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;About read pools&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; (&lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/mysql/about-read-pools"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/postgres/about-read-pools"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Creating and managing read pools&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; (&lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/mysql/create-read-pool"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/postgres/create-read-pool"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;): includes example commands for gcloud CLI, Terraform, and REST API&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;Read pool autoscaling&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; (&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/mysql/read-pool-autoscaling"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/read-pool-autoscaling"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;): includes example commands for gcloud CLI, Terraform, and REST API&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/mysql/create-free-trial-instance"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Sign up for the new Cloud SQL free trial&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;,&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;a dedicated 30-day program designed to give both new and existing Google Cloud users hands-on access to premium, enterprise-grade features of Cloud SQL (PostgreSQL and MySQL).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Wed, 18 Mar 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/cloudsql-read-pools-support-autoscaling/</guid><category>Cloud SQL</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Streamline read scalability with Cloud SQL autoscaling read pools</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/cloudsql-read-pools-support-autoscaling/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Phil Sung</name><title>Software Engineer</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Shahzeb Farrukh</name><title>Product Manager</title><department></department><company></company></author></item><item><title>Next-gen caching with Memorystore for Valkey 9.0, now GA</title><link>https://cloud.google.com/blog/products/databases/memorystore-for-valkey-9-0-is-now-ga/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Backend developers and architects building high-throughput, low-latency applications increasingly rely on Valkey, an open-source, high-performance key-value datastore that supports a variety of workloads such as caching and message queues. At Google Cloud, we offer a fully managed version as part of &lt;/span&gt;&lt;a href="https://cloud.google.com/memorystore"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud Memorystore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and today, we’re excited to announce the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;general availability (GA)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; of &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Valkey 9.0, &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;delivering both massive performance gains and powerful new developer capabilities.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;During the preview, we saw remarkable uptake and excitement from customers who require the highest levels of performance. Organizations pushing the boundaries of scale and latency are putting Valkey 9.0 to the test for their most demanding workloads:&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 40px;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;"A high-performance caching layer is critical to our infrastructure at Snap. We are excited to see the General Availability of Valkey 9.0 on Google Cloud Memorystore. The new architectural enhancements, including SIMD optimizations, offer strong performance benefits for throughput and latency. Having access to a managed service backed by an open standard gives us valuable flexibility in how we deploy and manage our caching workloads."&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; - &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Ovais Khan, Principal Software Engineer, Snap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This need for uncompromising speed and flexibility extends beyond social networking infrastructure into the financial sector, where real-time transaction processing and reliability are non-negotiable.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 40px;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;"In the financial services sector, milliseconds matter and data reliability is paramount. By utilizing Memorystore for Valkey on Google Cloud in the critical GPay stack powering the UPI Acquirer Switch for Top Indian Banks, Juspay is proud to leverage Memorystore to handle high-throughput transactional data with exceptionally low latency.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 40px;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;We are excited about the GA release of Valkey 9.0. The performance gains from features like pipeline memory prefetching, combined with the assurance of a fully managed, truly open-source solution, provide us with the scale and reliability necessary to securely serve all our customers." &lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- Arun Ramprasadh, Head of UPI, Juspay&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Similarly, in the media and entertainment space, delivering uninterrupted experiences to massive audiences requires a caching layer capable of instantly absorbing traffic spikes.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 40px;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;"During the preview of Valkey 9.0 on Google Cloud Memorystore, we've experienced amazing performance and stability. Live streaming demands absolutely minimal latency and maximum throughput. The architectural enhancements in Valkey 9.0 allow us to scale our caching layer more efficiently to handle traffic spikes during major events. Relying on a fully managed, open-source solution ensures Fubo can deliver a seamless viewing experience to our audience."&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; - &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Kevin Anthony, Platform Engineering Manager, Fubo&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Performance at scale: Speed without compromise&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Valkey 9.0 is engineered for raw speed. By building upon the enhanced IO threading architecture introduced in Valkey 8.0, Valkey can handle significantly higher throughput and reduced latency on multi-core VMs. The performance gains are driven by several architectural enhancements as highlighted in the official Valkey 9.0 release announcement &lt;/span&gt;&lt;a href="https://valkey.io/blog/introducing-valkey-9/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;on the Valkey blog&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Pipeline memory prefetching:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This optimization increases throughput by up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;40%&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; by improving memory access efficiency during pipelining.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Zero copy responses:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; For large requests, this feature avoids internal memory copying, yielding up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;20%&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; higher throughput.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;SIMD optimizations:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; By utilizing SIMD for &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;BITCOUNT&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HyperLogLog&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; operations, Valkey 9.0 delivers up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;200%&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; higher throughput for these common tasks.&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;(Note: The figures above are based on open-source benchmarks; actual performance improvements will vary depending on your specific workloads.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;The mechanics of throughput: Pipelining&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In Valkey, latency is largely constrained by &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;network round-trip-time (RTT)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. If an application waits for each response before initiating the next request, total throughput remains bound by this round-trip latency. &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Pipelining&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; addresses this by disaggregating latency and throughput, allowing multiple requests to be sent over a single connection without awaiting immediate responses.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_PV4Wuae.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Most Valkey clients offer native support for pipelining, with some like &lt;/span&gt;&lt;a href="https://github.com/valkey-io/valkey-go" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;valkey-go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; providing “auto-pipelining” capabilities that handle this optimization transparently for developers.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Valkey 8.0 unlocked significant performance leaps with background thread memory prefetching. This architectural optimization provides a hint to the hardware to move data from DRAM into &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;CPU caches&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; before the main thread requires it. While this allowed the main thread to execute operations with minimal delay, it was limited; in pipelined traffic, only the initial operation benefited from prefetching, leaving subsequent requests bottlenecked by CPU cache misses.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Building on this foundation, &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Valkey 9.0&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; re-architects command processing to specifically optimize for pipelined workloads. Rather than prefetching keys solely for the first operation, Valkey 9.0 &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;prefetches all operations&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; within a pipeline simultaneously.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_fRHeicE.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While seemingly incremental, the impact is profound, given that CPU caches are typically dozens of times faster than DRAM access. By maximizing &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;CPU cache hits&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; on the main thread, Valkey 9.0 delivers up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;40% higher&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; overall throughput.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;New capabilities for modern developers&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Beyond raw performance, Valkey 9.0 addresses top feature requests from the community with powerful new commands that simplify application logic and data management.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Granular hash field expiration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A frequent request for in-memory stores is the ability to expire individual fields within a hash rather than the entire key. Valkey 9.0 introduces this capability, allowing for much more flexible data lifecycle management.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Real-world example:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Imagine managing a "User Session" hash where you store authentication tokens, temporary preferences, and long-term settings. With &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;HEXPIRE&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, you can set a 30-minute expiration on a &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;temporary_session_token&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; field while keeping the rest of the user's profile data intact. This eliminates the need to break a single logical object into multiple keys just to handle different Time-To-Lives (TTLs).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;New commands:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This release adds full support for &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HEXPIRE&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HEXPIREAT&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HEXPIRETIME&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HPERSIST&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;HTTL&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, and more.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Advanced geospatial and conditional logic&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Polygon search for geospatial indices:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; You can now query location data by a specified &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;polygon&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. For instance, a logistics application can define precise, non-circular delivery zones — like a specific neighborhood or industrial park — and query for all active assets currently within those exact boundaries.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To use this capability, simply add your coordinates to a geospatial index:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt; GEOADD gcp:regions -121.1851 45.5946 &amp;quot;us-west1 (Oregon)&amp;quot; -118.2437 34.0522 &amp;quot;us-west2 (Los Angeles)&amp;quot; -111.8910 40.7608 &amp;quot;us-west3 (Salt Lake City)&amp;quot; -115.1398 36.1699 &amp;quot;us-west4 (Las Vegas)&amp;quot; -95.8608 41.2619 &amp;quot;us-central1 (Iowa)&amp;quot; -77.4874 39.0438 &amp;quot;us-east4 (N. Virginia)&amp;quot;\r\n\r\n(integer) 6&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392cd0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Then use GEOSEARCH with the BYPOLYGON option:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt; GEOSEARCH gcp:regions BYPOLYGON 5 -125.00 49.00 -125.00 32.00 -114.00 32.00 -109.00 42.00 -116.00 49.00\r\n\r\n1) &amp;quot;us-west2 (Los Angeles)&amp;quot;\r\n2) &amp;quot;us-west4 (Las Vegas)&amp;quot;\r\n3) &amp;quot;us-west3 (Salt Lake City)&amp;quot;\r\n4) &amp;quot;us-west1 (Oregon)&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392e80&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_zXxeHbk.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Conditional delete (&lt;/strong&gt;&lt;strong style="vertical-align: baseline;"&gt;DELIFEQ&lt;/strong&gt;&lt;strong style="vertical-align: baseline;"&gt;):&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This command deletes a key only if its current value matches a specified value. This is a game-changer for &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;distributed locking&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Now, a worker can safely release a lock only if it still holds the unique token it originally used to acquire it, ensuring it doesn't accidentally delete a lock that has already expired and been re-assigned to another process. Previously, this kind of operation was only possible using Lua scripting.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To understand the usefulness of &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;DELIFEQ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, suppose two processes (Process A and Process B) need exclusive access to the lock.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Process A executes the following to acquire the distributed lock for 30 seconds:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt;SET distributed_lock process_A NX PX 30000\r\nOK&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67943926d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If Process B attempts to do the same, it won’t succeed due to the &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;NX&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; option:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt; SET distributed_lock process_B NX PX 30000\r\n(nil)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392d00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;When Process A finishes, it can safely remove the lock with the new &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;DELIFEQ&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; command:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt; DELIFEQ distributed_lock process_A\r\n(integer) 1&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392dc0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Now, Process B is free to acquire the lock:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;&amp;gt; SET distributed_lock process_B NX PX 30000\r\nOK&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392670&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Enhanced visibility and debugging&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;CLIENT LIST&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; command now supports robust &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;filtering options&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Platform engineers can now quickly isolate clients by flags, name, library version, or even specific databases. This makes it significantly easier to identify and troubleshoot legacy clients or specific application instances that may be causing performance bottlenecks in a complex microservices environment.&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;New filtering option&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;NAME &amp;lt;name&amp;gt;, NOT-NAME &amp;lt;name&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients by their specified name.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IDLE &amp;lt;seconds&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include only clients that have been idle for over a number of seconds.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;FLAGS &amp;lt;flags&amp;gt;, NOT-FLAGS &amp;lt;flags&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients based on various flags (e.g., whether they are primary or replica connections).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;LIB-NAME &amp;lt;name&amp;gt;, LIB-VER &amp;lt;version&amp;gt;, NOT-LIB-NAME &amp;lt;name&amp;gt;, NOT-LIB-VER &amp;lt;version&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients based on their provided library version or name (e.g., only valkey-py version 6).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DB &amp;lt;db&amp;gt;, NOT-DB &amp;lt;db&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients based on their current selected DB.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;CAPA &amp;lt;flags&amp;gt;, NOT-CAPA &amp;lt;flags&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients based on their declared capabilities (e.g., whether they support redirection or not).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IP &amp;lt;ip&amp;gt;, NOT-IP &amp;lt;ip&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Include or exclude clients based on their IP address.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;NOT-ID &amp;lt;id&amp;gt;, NOT-TYPE &amp;lt;type&amp;gt;, NOT-ADDR &amp;lt;address&amp;gt;, NOT-LADDR &amp;lt;local address&amp;gt;, NOT-USER &amp;lt;username&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Many existing filters now support an inverse option.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The extended CLIENT LIST capabilities are available in Memorystore for Valkey out of the box.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Enterprise-ready features&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With this release, we are also introducing the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;clustered databases configuration&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, which facilitates complex use cases like blue-green caching patterns. This allows multiple services to utilize numbered databases to efficiently partition data and maintain logical namespace separation. You can now configure up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;100 numeric databases&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; for namespacing your keyspace even when in cluster mode.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Configuration example:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; When creating your instance via the Google Cloud CLI, you can specify the number of databases:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gloud memorystore instances create my-valkey-instance \\\r\n--engine-version=VALKEY_9_0 \\\r\n--replica-count=1 \\\r\n--shard-count 10 \\\r\n--engine-configs=cluster-databases=100&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f6794392af0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;clustered databases configuration&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; lets you efficiently partition data across various services or environments within a single, scalable clustered instance. This provides the logical organizational benefits of multiple databases while leveraging the massive &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;scale of a cluster&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. For many customers currently constrained by &lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;legacy non-clustered Redis instances&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, this capability removes the friction of complex application re-architecting, making it easier to modernize workloads that rely on multi-database structures.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Seamless upgrades&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Existing Memorystore for Valkey customers can take advantage of these new features immediately through a &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;simple, no-downtime, in-place upgrade path&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. As of today, Valkey 9.0 is available for both cluster-enabled and cluster-disabled instances, ensuring a smooth transition to the latest engine. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Looking ahead&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;general availability &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;of&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; Valkey 9.0&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; represents a significant milestone in the evolution of open source databases. But we’re just getting started. We’re already hard at work engineering the next wave of innovation and will be unveiling even more enhancements for the Valkey ecosystem at &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Google Cloud Next 2026&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Ready to build?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The best way to experience the power of &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memorystore for Valkey 9.0&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; is to try it out&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;a href="https://cloud.google.com/memorystore/docs/valkey/product-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Get started with the documentation&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; or &lt;/span&gt;&lt;a href="https://console.cloud.google.com/memorystore/valkey/locations/-/instances/new"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;deploy your first Valkey instance&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Don't let having to self-manage Redis hold you back. Experience the simplicity and speed of Memorystore for Valkey today and see how it can power your applications, so you can focus on what matters: innovating and creating impactful applications for your business!&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 18 Mar 2026 16:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/memorystore-for-valkey-9-0-is-now-ga/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Next-gen caching with Memorystore for Valkey 9.0, now GA</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/memorystore-for-valkey-9-0-is-now-ga/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ankit Sud</name><title>Senior Product Manager, Google</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Jacob Murphy</name><title>Software Engineer</title><department></department><company></company></author></item><item><title>PayPal's historically large data migration is the foundation for its gen AI innovation</title><link>https://cloud.google.com/blog/products/databases/paypals-historic-data-migration-is-the-foundation-for-its-gen-ai-innovation/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the dawn of the gen AI era, businesses are facing unprecedented opportunities for transformative products, demanding a strategic shift in their technology infrastructure. A few years ago, PayPal, a digital-native company serving hundreds of millions of customers, faced a significant challenge. After 25 years of success in expanding services and capabilities, we’d created complexity in our data analytics infrastructure. Some 400 petabytes of data was spread across a dozen siloed systems due to limitations of scale and acquisitions of companies like Venmo, Braintree, and others. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our very success in growth and innovation had created complexity that threatened our next evolution. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To continue leading the next wave of innovation in financial services, we knew we had to modernize our data foundation. Today, we’re proud to share how PayPal successfully completed what’s arguably one of the largest data migrations in history, culminating with the move of our analytics to &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery?utm_source=pmax&amp;amp;utm_medium=display&amp;amp;utm_campaign=Cloud-SS-DR-GCP-1713658-GCP-DR-NA-US-en-pmax-Display-pmax-All-BigQuery&amp;amp;utm_content=c--x--9197900-21713147502&amp;amp;gclsrc=aw.ds&amp;amp;gad_source=1&amp;amp;gad_campaignid=22037004910&amp;amp;gclid=CjwKCAiA2PrMBhA4EiwAwpHyC9MFyRGX-MAfCVAvVymBFbmHO2772iLYl6Xu9frKxLd5NjyyZMuf1RoC2KQQAvD_BwE&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, Google Cloud’s enterprise data warehouse. This effort marks a significant leap in creating the robust data framework we’ll need to expand and advance our business priorities and meet the ever-evolving financial needs of our customers. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This migration was essential, but the scale was daunting. In fact, by some measures, such as our now sunset Teradata system, we believe this was one of the biggest data migrations in history. Befitting of such history, we wanted to offer some insights into how we tackled this migration and what others might consider when undertaking a significant migration of their own.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Untapped potential of data&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As one of the original digital payment pioneers, PayPal processes billions of transactions, and houses decades of valuable customer insights. We have a mountain of data — really a mountain range — that had developed over decades without being fully leveraged in the service of our customers and merchants. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Each acquisition and new service added valuable capabilities but also introduced new data challenges. For example, a small business owner might use PayPal for online sales and Venmo for local transactions. However, providing a unified view of their business required complex processes that were costly and slow. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The fragmentation of data limited our ability to offer personalized experiences to consumers, thereby reducing the potential to maximize the value of their money and hindering our ability to gain deeper insights from the data.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As the gen AI era dawned, our digital fragmentation was becoming more than just a technical inconvenience. With AI becoming &lt;/span&gt;&lt;a href="https://cloud.google.com/transform/ai-impact-industries-2025"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;a transformative force in financial services&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; with &lt;/span&gt;&lt;a href="https://cloud.google.com/transform/financial-services-banking-insurance-gen-ai-roi-report-dozen-reasons-ai-value"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;huge potential ROI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, we knew fragmented data would severely limit our ability to create the intelligent experiences customers have come to expect. These could run from further strengthening our industry-leading fraud detection models to providing a best-in-class commerce platform for merchants to help them succeed in the competitive global economy. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To get there, we had to get our disparate data platforms in order, first.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Legacy systems, modern ambitions&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The scope was massive. We needed to consolidate multiple data platforms, including what’s believed to be the world’s largest Teradata deployment, along with Hadoop clusters, Redshift, Snowflake, and various other systems processing petabytes of transaction data. This migration also had to be executed while maintaining the uninterrupted security and reliability our customers depend on.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As a technology company, PayPal has considerable internal resources, so we first had to decide whether to tackle this challenge ourselves. We weighed the costs and benefits and decided that if we were to unify and scale our on-premise infrastructure to meet our future needs, the cost and time-to-complete would have been prohibitive. Plus, the innovations in AI were happening at a rapid pace in the cloud. To truly leverage the power of our data, we needed to be where that  innovation is happening.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We assessed various data warehousing solutions and chose BigQuery due to its numerous advantages. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;It is a fully managed, cloud native platform with disaggregated compute and storage that can scale independently. It has powerful capabilities at the scale and performance we needed, and a familiar SQL interface meant a gentler learning curve for our developer community. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Most importantly, BigQuery’s native integrations with AI enable seamless and efficient data analytics. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;The journey to unified data &lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;After choosing Google Cloud as our data partner, we embarked on our historic data migration. This may sound hyperbolic, but when you consider the scale of PayPal’s business, the geographies across which we operate, the regulations within each, the sensitive and quite literally valuable nature of this data, the scope of the challenge starts to be clear.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the help of partners and experts from Google Cloud Consulting, we migrated more than 300 petabytes of data and streamlined operations, decommissioning around 25% of workloads. And we managed this all while maintaining zero downtime of our business operations and with no impact to customers. &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Here are some key factors that contributed to our success.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Alignment:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The first hurdle in achieving transformations at scale is aligning stakeholders on a shared goal. So, we made it an enterprise-wide priority. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Discovery and analysis: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Detailed inventories of data, workloads and inbound/outbound data streams is crucial for defining scope, effort and forecasting budget. Establishing lineage allowed us to trace the origins and relationships of various components, thereby providing a clear and comprehensive view of the dependency graphs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Strategy:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; It is crucial to establish fundamental principles for the migration process, such as deciding between lift-and-shift versus modernization, defining security principles, setting governance guardrails, and determining how consumption will be tracked.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Execution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; We automated every possible task and developed live dashboards to continuously monitor the progress of migrations. FinOps was integrated through the migration process with clear visibility of consumption and performance. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Benefits from BigQuery and beyond&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve achieve faster insights. Queries are 2.5x to 10x faster, including complex queries used by data scientists. This unlocks real-time insights, enabling PayPal to personalize product recommendations, offers, and customer support.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve built new AI foundations. Data accessible for model training is 16x fresher. Feature engineering, a crucial step in AI development, is improved by instant access to clean, governed data. This accelerates the development personalized financial guidance, and predictive analytics for both consumers and businesses. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ve optimized operations. By migrating to BigQuery Data infrastructure vendors were reduced from four to one, streamlining operations and reducing complexity. Data duplication between platforms was entirely eliminated. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our new unified data platform in BigQuery has become the source for PayPal's next wave of innovation, enabling us to create more intuitive, personalized experiences across our entire ecosystem and to leverage the power of gen AI.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AI-powered innovation unleashed&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Looking ahead, we're exploring how this unified data platform will enable us to deliver AI-powered experiences that weren't possible before, including:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Predictive fraud prevention that spots potential issues before they affect our customers.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Personalized financial insights that help merchants optimize their businesses.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Seamless payment experiences that adapt to each customer's preferences and patterns.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;More intelligent risk assessment that could help expand financial access to underserved communities.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/transform/a-new-era-agentic-commerce-retail-ai?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agentic commerce&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/financial-services/introducing-an-agentic-commerce-solution-for-merchants-from-paypal-and-google-cloud?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;future possibilities&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; we are now able to imagine.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Lessons for the AI era&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While our migration may be extraordinary in its scale, we are not alone in our needs or ambitions. There are ample considerations for companies within and well beyond financial services who may be pondering their own data foundations at this time.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;First off, do not underestimate how under-utilized your data may be, and how unorganized. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Making sure your data is centralized, accurate, and consistent paves the way for AI experimentation and deployment. Organizations that spend time cleaning up their data fabric will be able to bring machine learning and generative AI applications to market more quickly, and do so at scale.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Second, ensuring data is accessible to everyone within your organization, with the proper controls, unlocks so much potential. Data orchestration and enterprise search, coupled with generative AI, has the potential to break down longstanding organizational silos and speed up decision-making across your organization. It’s one of the most promising applications of AI.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The financial world will continue to evolve, driven by new technologies and changing customer expectations. PayPal’s data transformation shows how even established companies can reinvent themselves to stay ahead of this change — provided they're willing to tackle the fundamental challenges that stand in their way. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In doing so, we've not only preserved our position as a digital payments pioneer but set ourselves up to continue leading the next wave of innovation in digital commerce.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 26 Feb 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/paypals-historic-data-migration-is-the-foundation-for-its-gen-ai-innovation/</guid><category>AI &amp; Machine Learning</category><category>Financial Services</category><category>Data Analytics</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/paypal-historic-teradata-migration.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>PayPal's historically large data migration is the foundation for its gen AI innovation</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/paypal-historic-teradata-migration.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/paypals-historic-data-migration-is-the-foundation-for-its-gen-ai-innovation/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Mani Iyer</name><title>SVP &amp; Global Head of Data, AI &amp; ML Technology, PayPal</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Vaishali Walia</name><title>Sr Director Data Analytics, PayPal</title><department></department><company></company></author></item><item><title>Serving data from Iceberg lakehouses fast and fresh with Spanner columnar engine</title><link>https://cloud.google.com/blog/products/databases/spanner-columnar-engine-in-preview/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The divide between data in operational databases and analytical data lakehouses is disappearing fast. As businesses increasingly adopt zero ETL lakehouse architectures, the challenge shifts from simply storing data in an open data format such as Apache Iceberg to serving it with the low-latency performance and speed that modern applications and AI agents require. Whether it’s a cybersecurity provider like &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=qiVVCKEwF7w" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Palo Alto Networks&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; requiring real-time threat detection insights, or a telecommunications giant like &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/how-fastweb-vodafone-reimagined-data-workflows-with-spanner-bigquery?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Vodafone&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; looking to reimagine data workflows for better customer experiences, organizations need to serve precomputed insights and AI models at scale.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To help, today, we are excited to announce the preview of the &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/columnar-engine"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner columnar engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, which allows you to serve your Iceberg lakehouse data with the scale and low latency of Google’s Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Uniting OLTP and analytics: The Spanner columnar engine&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Traditionally, organizations had to choose between the high-performance transactional capabilities of an OLTP database and the analytical power of a columnar warehouse. Spanner’s columnar engine ends this trade-off by uniting these two worlds in a single, horizontally scalable system.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The columnar engine uses a specialized storage mechanism designed to accelerate analytical queries by speeding up scans &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;up to 200 times&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; on live operational data. By storing data in a columnar format alongside traditional row-based storage, Spanner can execute complex queries automatically using vectorized execution — processing batches of data at once rather than row-by-row. Most importantly, this performance boost can be isolated from critical transaction workloads, so that customer-facing applications remain responsive while you gain real-time insights from your operational datastore.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;New features&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Since &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanners-columnar-engine-unites-oltp-and-analytics?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;we first announced Spanner columnar engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, we’ve added several new capabilities to accelerate performance and enhance usability. These include:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Vectorized execution:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The engine supports faster columnar scans and aggregations using vectorized execution to process data more efficiently.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Automatic query handling:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner automatically redirects large-scan analytical queries to the columnar representation, speeding up analytical queries without affecting concurrent transactional workloads, allowing for true hybrid processing.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;On-demand columnar data conversion:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; In addition to automated columnar data conversion, a new &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/manual-data-compaction"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;major compaction API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; helps accelerate the conversion of existing non-columnar data into the columnar format.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Why Iceberg data needs a fast, low-latency serving platform&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Apache Iceberg has become the standard for open lakehouse architectures, providing a robust way to manage massive open format datasets in cloud-based storage. However, while lakehouses are excellent for large-scale analytics, they aren’t usually designed for the sub-second, high-concurrency "point lookups" or aggregated serving that live applications require.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This is where Spanner provides a unique value proposition. By moving curated, processed data from your lakehouse into Spanner — a process known as &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/export-to-spanner"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;reverse ETL&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; — you transform "cold" analytical data into "hot" operational data. Spanner provides the global consistency and high availability that applications require, making your Iceberg data accessible via low-latency APIs for real-time decision-making and agentic AI features.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Benchmarking Spanner columnar engine&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To demonstrate Spanner’s new serving capabilities, we used&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; a leading industry benchmark for web analytics and real-time dashboards — the exact scenarios where low-latency serving is critical.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Our benchmark results with a single Spanner node showcase the power of the columnar engine:&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table style="width: 97.389%;"&gt;&lt;colgroup&gt;&lt;col style="width: 49.6741%;"/&gt;&lt;col style="width: 50.3259%;"/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Benchmark query&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner columnar engine speedup&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;Simple count of all records&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;46.3× &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Basic aggregation with filtering&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;32.7×&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;High selectivity scan&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;46.7×&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Global aggregation&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;58.6×&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;These results represent the acceleration of real world workloads on Spanner columnar engine and show that Spanner can take complex, scan-heavy queries and return results in milliseconds, making it a great choice for powering real-time dashboards and user-facing features. Spanner is now a high-performance engine capable of delivering complex analytical results at the speeds required by modern digital experiences.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Universal reverse ETL: Serving data from all lakehouses&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner is designed to be the serving layer for your entire data ecosystem. Whether your lakehouse lives in &lt;/span&gt;&lt;a href="https://medium.com/google-cloud/spanner-better-with-bigquery-streaming-insights-faster-federated-queries-with-iceberg-and-04e1299dd831" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, Snowflake, Databricks, or Oracle, Spanner offers an integrated pathway for high-speed serving.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Through our latest reverse ETL workflows, you can easily bridge the gap between your analytical and operational worlds:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;BigQuery&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: The tight integration between Spanner and BigQuery provides a powerful, bidirectional bridge for managing Iceberg data across both operational and analytical environments. You can perform federated queries on BigLake Iceberg and Spanner tables using &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/spanner-external-datasets"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery external datasets for Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, allowing for real-time analysis without moving data. When you need to serve curated BigQuery insights at scale, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/export-to-spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;reverse ETL workflows&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; can push data from BigQuery and BigLake Iceberg tables directly into Spanner. Furthermore, you can capture live operational changes in Spanner and stream them into &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/datastream/docs/destination-bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/datastream/docs/destination-blmt"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigLake Iceberg&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; tables using &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/datastream/docs/sources-spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Datastream&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, ensuring your lakehouse remains synchronized with your transactional data from Spanner for agentic AI and real-time decision-making.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Databricks:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Using Databricks' Universal Format (UniForm), you can generate Iceberg metadata for your Delta Lake tables automatically. This allows Spanner to ingest your processed Databricks data via BigQuery or Dataflow, so that your "curated" datasets are ready to power applications with minimal engineering overhead. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Snowflake:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; You can export Iceberg tables to Google Cloud Storage and use BigQuery BigLake as a zero-copy intermediary to push that data directly into Spanner via EXPORT DATA commands. Alternatively, for simpler migrations, you can export Snowflake data as CSVs and use Dataflow templates for high-throughput ingestion into Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Oracle Autonomous AI Lakehouse:&lt;/strong&gt; &lt;a href="https://docs.oracle.com/en/database/goldengate/core/26/release-notes/new-features.html#OGGRN-GUID-F48FEF44-A714-4216-8BA0-4A7B9A220CBA" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Oracle Goldengate 26&lt;/span&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;ai&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; now allows you to replicate your Oracle Autonomous AI Lakehouse data into Spanner to serve insights generated from Oracle’s data ecosystem with Spanner’s scale and consistency.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Get started today&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;It’s time to stop waiting for your lakehouse queries to finish and start serving your data hot, fresh, and fast with Google Spanner powered by Spanner columnar engine. The Spanner columnar engine is now in preview. You can &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/configure-columnar-engine"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;enable&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; it on your existing Spanner tables today with a simple DDL change.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;You can see the performance acceleration of Spanner columnar engine by running the analytics benchmark queries on Spanner available on &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/cloud-spanner-samples/tree/main/columnar-engine" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Github&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for yourself.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To help you get started, here are &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;codelabs&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; to build&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; reverse ETL pipelines to Spanner from&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Databricks&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/databricks-bigquery-spanner" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;using BigLake external tables&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/databricks-csv-spanner" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;using Dataflow on CSV files on Cloud Storage&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;and&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Snowflake&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/snowflake-bigquery-spanner" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;using BigLake external tables&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codelabs.developers.google.com/snowflake-csv-spanner" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;using Dataflow on CSV files on Google Cloud Storage&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Thu, 26 Feb 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/spanner-columnar-engine-in-preview/</guid><category>Spanner</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_GGexgWX.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Serving data from Iceberg lakehouses fast and fresh with Spanner columnar engine</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/1_GGexgWX.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/spanner-columnar-engine-in-preview/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Jagan R. Athreya</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Girish Baliga</name><title>Director of Engineering</title><department></department><company></company></author></item><item><title>Decommission your legacy Apache Cassandra stack and build for the future with Spanner</title><link>https://cloud.google.com/blog/products/databases/cassandra-query-language-cql-apis-on-spanner/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;An increasing number of customers are migrating to &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; from legacy NoSQL environments like Apache Cassandra. The &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/introducing-cassandra-compatible-api-in-spanner?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;strategic drivers&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; are evident: a markedly lower total cost of ownership (TCO), elastic scalability, and near-zero maintenance overhead. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the general availability of the &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/non-relational/connect-cassandra-adapter"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;native endpoint&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; enabling Cassandra Query Language (CQL) APIs on Spanner, your existing Cassandra applications can now leverage Spanner’s enterprise foundation, featuring strong consistency, virtually limitless scale, and 99.999% availability — all while utilizing familiar CQL. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Better yet, migrating your application to Spanner with the CQL interface typically requires only a one-line code change, as your existing CQL statements remain valid. Combined with our integrated, high performance bulk and live migration tools, your transition from Cassandra to Spanner is simple&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Beyond NoSQL: Strategic solutions for Cassandra Users&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While the CQL API facilitates the move, Spanner addresses the fundamental data integrity and operational constraints inherent in traditional Cassandra architectures:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Global ACID transactions:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Minimize concerns regarding eventual consistency. Achieve comprehensive global &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/transactions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ACID transactions&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to help ensure data integrity at any scale.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Powerful indexing: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Strongly consistent &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/secondary-indexes"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;secondary indexes&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; support complex query patterns with built-in optimization and no integrity risks.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Rich SQL: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Utilize a sophisticated SQL interface that supports joins and aggregations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;High reliability: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Benefit from 99.99% availability in regional setups and 99.999% in multi-regional configurations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Compliance and latency:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Simplify data residency compliance with &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/geo-partitioning"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;geo-partitioning&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, delivering low-latency local reads and writes to a global user base.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Built-in observability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Access a suite of performance metrics and charts directly in the Google Cloud console at no additional cost.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The native CQL endpoint provides a clear pathway to decouple your existing Cassandra applications and modernize them using the full power of Spanner. Let’s look at the next steps after migrating your data and applications from Cassandra to Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Tweak Spanner for your specific workload&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Following your migration, here’s how to optimize your Spanner environment for your workload.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;1. Optimize costs and operational efficiency&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Workload Characteristics&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Recommended Solution&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Primary Benefit&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Write-intensive traffic&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/throughput-optimized-writes"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Throughput-optimized writes&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Up to a &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/performance#increased-throughput"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;6x increase&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; in write throughput via request bundling (with minimal latency impact).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Variable or fluctuating traffic&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/autoscaling-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Autoscaler&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Automatically aligns capacity with demand, eliminating over-provisioning costs.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Steady-state, baseline capacity&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/spanner/docs/cuds"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Committed use discounts (CUDs)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Secure up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;40% savings&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; on steady-state operational costs.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Storage-intensive workloads&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/tiered-storage"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Tiered storage (HDD)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Utilize cost-effective HDD storage for a significant reduction in long-term storage expenses.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. Achieve low latencies&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;We continuously enhance Spanner's performance to support mission-critical, high-concurrency workloads.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Single-digit millisecond performance:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner consistently delivers under 5ms latency for both read and write operations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner/docs/use-repeatable-read-isolation"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Repeatable read isolation&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This feature utilizes optimistic concurrency to reduce latency and transaction aborts in read-heavy, low-contention scenarios.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner/docs/read-lease"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Read leases&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Enable strongly consistent reads in multi-region instances without cross-region coordination, maximizing node efficiency and performance.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. Prepare for peak traffic surges&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;For planned events like marketing launches or massive data ingestions, you can proactively manage capacity:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner/docs/create-manage-split-points"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Manual split APIs&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; While Spanner handles data partitioning automatically, the &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;pre-splitting&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; capability allows you to exactly define how your database distributes data ahead of peak loads. This helps ensure immediate utilization of new capacity for stable performance.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;4. Isolate operational and analytical pipelines&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Prevent resource contention by isolating BI and ETL processes from core operations:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Dedicated resources:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Leverage read-only replicas and &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner/docs/directed-reads"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;directed reads&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to achieve workload isolation.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Advanced analytics:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner provides high-performance operational analytics through its &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/columnar-engine"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;columnar engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and integrates with BigQuery via &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/databoost/databoost-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Data Boost&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/export-to-spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;reverse ETL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/continuous-queries-introduction"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;continuous queries&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Deconstruct your Cassandra ecosystem&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Migrating from Apache Cassandra to Spanner is a strategic opportunity to decouple your architecture from a complex web of sidecar utilities. While the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Cassandra-compatible API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; serves as the entry point, the true value lies in collapsing the operational "Cassandra tax" into a unified, managed multi-model ecosystem.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_D2ZztYm.max-1000x1000.png"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Here’s a quick guide to drastically lowering your TCO while significantly boosting performance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. Transition easily via connectors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Minimize initial friction by leveraging the Spanner Cassandra Adapter&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;and connectors to port management and application layers with near-zero code modifications:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Orchestration:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Maintain your existing Airflow DAGs by redirecting to the Spanner proxy.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Application frameworks:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Transition from Spring Data Cassandra to &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/adding-spring"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spring Data Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, preserving established repository patterns while unlocking a superior transaction model.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Data processing:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Continue leveraging &lt;/span&gt;&lt;a href="https://spark.apache.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Apache Spark&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; by connecting to Spanner’s native CQL endpoint or using the specialized &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudDataproc/spark-spanner-connector" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Connector for Spark&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. Retire sidecars via native integrations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cassandra demands a "babysitting" layer that Spanner automates. Decommission legacy maintenance tools and unlock Spanner’s advanced capabilities:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Anti-entropy:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Decommission &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Cassandra Reaper&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Spanner’s Paxos-based replication manages consistency natively, removing the need for manual repair cycles.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Data protection:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Replace &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Medusa&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; with &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner-native backups&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Move away from fragile SSTable snapshots to reliable, Point-in-Time Recovery (PITR).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Observability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Swap complex JMX exporters for &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Monitoring&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Focus on high-value metrics like &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Query Insights&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Lock Statistics&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; rather than maintenance debt.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Integrated search:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Replace external &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Elasticsearch&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; sidecars and complex ETL pipelines with &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner full-text search&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; to eliminate indices-synchronization issues.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Modern streaming:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Swap legacy CDC for &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner change streams&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, providing native integration with &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Dataflow&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Kafka&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Graph analytics:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Port &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;JanusGraph&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner Graph&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; to run openCypher queries directly on operational data without complex ETL processes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Query federation:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Replace Trino/Presto with &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/databoost/databoost-run-queries"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery Federation via Data Boost&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. Join real-time transactional data with massive data lakes without impacting production I/O.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Build the future with Spanner’s multi-model advantage&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner is the definitive always-on database that integrates relational, key-value, graph, search, and vector search capabilities into a single, interoperable platform. By transitioning to Spanner, you eliminate the overhead of managing fragmented databases and unlock the ability to develop innovative applications on a unified data foundation. Build new applications or modernize your legacy applications to take full advantage of Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Get started today&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Ready to refocus on building rather than managing? Initiate your migration today and experience the power of Spanner with your existing Cassandra Query Language.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/spanner-cassandra-adapter-getting-started" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Codelab&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Gain practical experience with the native CQL endpoint.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Free trial&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: Explore Spanner for 90 days or start for as little as $65/month for a production-ready instance that scales without disruption.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/non-relational/migrate-from-cassandra-to-spanner"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Migration guide&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Access deep technical documentation and comprehensive migration resources.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Thu, 19 Feb 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/cassandra-query-language-cql-apis-on-spanner/</guid><category>Spanner</category><category>Customers</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Decommission your legacy Apache Cassandra stack and build for the future with Spanner</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/cassandra-query-language-cql-apis-on-spanner/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Nitin Sagar</name><title>Product Manager</title><department></department><company></company></author></item><item><title>Powering the next generation of agents with Google Cloud databases</title><link>https://cloud.google.com/blog/products/databases/managed-mcp-servers-for-google-cloud-databases/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For developers building AI applications, including custom agents and chatbots, the open-source &lt;/span&gt;&lt;a href="https://www.anthropic.com/news/model-context-protocol" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Model Context Protocol (MCP)&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; standard enables your innovations to access data and tools consistently and securely. At the end of 2025, &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-official-mcp-support-for-google-services"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;we introduced managed and remote MCP support&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for services like Google Maps and &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, establishing a standard method for AI to connect with tools, and effectively creating a universal interface for applications. Today, we are expanding this offering to include PostgreSQL with &lt;/span&gt;&lt;a href="https://cloud.google.com/products/alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, as well as  &lt;/span&gt;&lt;a href="https://cloud.google.com/products/firestore"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/bigtable"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Bigtable&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for high-performance NoSQL workloads, and introducing a new &lt;/span&gt;&lt;a href="https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Knowledge MCP server&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, which presents an API to connect IDEs to Google’s documentation. These servers run in Google Cloud, providing a secure interface for Gemini and other MCP-compliant clients to easily interact with data and infrastructure.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With the launch of Gemini 3, developers gained advanced reasoning capabilities to plan, build, and solve complex problems. But for an AI model to function as a useful "agent," it must reliably interact with its environment. Today’s announcement extends these capabilities more broadly to the database tools our customers leverage daily as the backbone of their work environment.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To connect your agents to these servers, you don’t need to deploy infrastructure. Just configure the MCP server endpoint in the agent configuration and immediately gain access to your operational data, backed by enterprise-grade auditing, observability and governance. With no infrastructure management, you can scale your agentic workloads without incurring operational overhead.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Bringing operational data to agents&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;These new managed servers enable agents to access specific capabilities across our portfolio:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB for PostgreSQL:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Agents can interact with PostgreSQL workloads, enabling tasks such as schema creation, diagnosing  complex queries for slowness and performing vector similarity search.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; With unified multi-model capabilities in Spanner such as Spanner Graph, agents can model and query complex relationships directly alongside relational and semantic data using standard (SQL and GQL) queries. This allows agents to quickly uncover deep insights (like identifying fraud rings or generating product recommendations) using the MCP tools at its disposal.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud SQL for PostgreSQL, MySQL and SQL Server&lt;/strong&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Developers and database administrators can use the Cloud SQL MCP Server across MySQL, PostgreSQL, and SQL Server fleets for natural language interactions with the database, AI-assisted app development, query performance optimization and database troubleshooting via agents.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Bigtable:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Bigtable’s flexible schema and high-throughput ingestion capabilities are commonly used for building digital integration hubs and managing time series data. MCP simplifies automating operational workflows and developing agentic customer support, CRM, human resources, IT operations, supply chain and logistics applications with this data.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Firestore:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Focused on mobile and web development, the Firestore MCP server enables agents to sync with live document collections. This supports dynamic interactions such as checking user session states or verifying order statuses via natural language prompts.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Managing applications and infrastructure&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Beyond data retrieval, we are enabling agents to help build and manage applications. The &lt;/span&gt;&lt;a href="https://developers.google.com/knowledge/mcp" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Developer Knowledge MCP server&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; connects IDEs to Google’s documentation, allowing agents to answer technical questions and troubleshoot code with relevant context.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Security and governance&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Connecting an agent to a database requires robust security and governance. These servers are built on Google Cloud's standard identity and observability frameworks:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Identity-first security:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Authentication is handled entirely through Identity and Access Management (IAM) rather than shared keys. This ensures agents can only access the specific tables or views explicitly authorized by the user.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Full observability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; To track agent activity, every query and action taken via these MCP servers is logged in Cloud Audit Logs. This provides security teams with a record of every database interaction, maintaining visibility alongside ease of access.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Demo: From local code to managed data&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Let’s see these new MCP servers in action.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Imagine an agent designed to automate the migration of a full-stack event management platform for fitness communities. Through a series of natural language instructions in the Gemini CLI, the agent utilizes the &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/mysql/use-cloudsql-mcp"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL remote MCP server&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to provision a managed PostgreSQL instance, apply the correct schema, and securely migrate your local data. You don't need to master complex &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; commands or become a Cloud SQL expert; the agent handles the heavy lifting. This transition is architected in real-time by the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Developer Knowledge MCP server&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, which references official documentation to guide the agent through best practices — easily upgrading your application's backbone from local storage to a fully managed enterprise database.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_onemcplaunchblogdemo.gif"
        
          alt="1 onemcplaunchblogdemo"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Support for third-party agents&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Because these servers follow the open MCP standard, they also work with your favorite AI agents. You can easily connect clients like Anthropic’s Claude by adding a Custom Connector in the settings. Simply point it to your Google Cloud database MCP endpoint, and you are ready to start building — no complex configuration files required.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_onemcp_launch_claudegif.gif"
        
          alt="2 onemcp launch claudegif"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;What’s next&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We’ll continue to expand this ecosystem in the coming months with managed MCP support for Looker, Database Migration Service (DMS), BigQuery Migration Service, Memorystore, Database Center, Pub/Sub, Kafka and more.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To start building secure, data-driven agents, explore our guides for &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/use-alloydb-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/use-spanner-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/use-cloudsql-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigtable/docs/use-bigtable-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Bigtable&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/use-firestore-mcp"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. You can also check out these codelabs for &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/ai-mcp-dk-csql#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/spanner-mcp-server" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, along with this &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=SeuhYVg8-AU" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;demo video&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; walking through the app migration to Google Cloud.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=SeuhYVg8-AU"
      data-glue-modal-trigger="uni-modal-SeuhYVg8-AU-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/SeuhYVg8-AU/maxresdefault.jpg"
             alt="Gemini CLI + Google MCPs: Migrate &amp;amp; deploy full stack apps"/&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-SeuhYVg8-AU-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="SeuhYVg8-AU"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=SeuhYVg8-AU"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Wed, 18 Feb 2026 18:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/managed-mcp-servers-for-google-cloud-databases/</guid><category>AI &amp; Machine Learning</category><category>Application Development</category><category>Cloud SQL</category><category>Spanner</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Gemini_Generated_Image_jcq8tgjcq8tgjcq8.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Powering the next generation of agents with Google Cloud databases</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Gemini_Generated_Image_jcq8tgjcq8tgjcq8.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/managed-mcp-servers-for-google-cloud-databases/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Amit Ganesh</name><title>Vice President, AI &amp; Databases</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Rahul Deshmukh</name><title>Senior Product Manager</title><department></department><company></company></author></item><item><title>Google (Spanner) Ranks #1 for Lightweight Transactions Use Case in Gartner® Critical Capabilities Report</title><link>https://cloud.google.com/blog/products/databases/gartner-ranks-spanner-1-for-lightweight-transactions-use-case/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For the second consecutive year Google (Spanner) has been recognized by Gartner in the &lt;/span&gt;&lt;a href="https://cloud.google.com/resources/content/critical-capabilities-dbms?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Critical Capabilities for Cloud Database Management Systems for Operational Use Cases&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; report, where it &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ranked #1&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; in the Lightweight Transactions Use Case. In our opinion, this is a testament to its efficiency, low latency, and high-performance consistency. It was also &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ranked #2&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; in the OLTP Transactions Use Case in the latest rankings. We feel this shows that its "infinite" horizontal scale doesn't come at the cost of traditional transactional performance. To us, this back-to-back recognition underscores a theme of sustained excellence and continuous innovation for the world’s most demanding data environments&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_5UdzKPP.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="rkui7"&gt;Check out the full &lt;a href="https://cloud.google.com/resources/content/critical-capabilities-dbms?e=48754805"&gt;Gartner report&lt;/a&gt;.&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;A look at operational performance&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Looking at the Critical Capabilities Ratings, we believe Spanner’s performance is why it continues to be recognized across a variety of categories:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;#1 in Lightweight Transactions Use Case (second year in a row)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: As microservices and event-driven architectures become the norm, the ability to handle high-frequency, low-latency transactions is paramount. We feel Spanner’s #1 ranking shows it is the most efficient engine for these modern workloads.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Distributed Transactions Support (Score: 5.0/5.0)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner is the only service to receive a 5.0 for the ability to support distributed transactions across multiple nodes, regions and geographies.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI/Machine Learning and GenAI (Score: 4.6/5.0)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: We believe this score is the result of the massive wave of innovation we undertook in 2025 to integrate AI directly into Spanner.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Transactional Consistency (Score: 4.9/5.0)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner offers external consistency at planet-scale, helping ensure that every transaction is globally accurate, every time.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;#2 in OLTP Use Case&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner is increasingly being used for traditional, high-volume transactional workloads, thanks to, in our view, its "infinite" horizontal scale, which makes it a top-tier choice for legacy migrations.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;These positionings, to us, signal that Spanner has evolved from a specialized solution for global scale into the most technically capable database suitable for nearly any mission-critical application.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;The foundation for the agentic enterprise&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In 2025, Spanner became the "brain" of AI agents, driven by a number of new capabilities:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/graph/overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; (now GA)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: A unified graph and relational experience. With Spanner Graph, you can traverse complex relationships using ISO-standard GQL alongside SQL. This is critical for building knowledge graphs that ground AI agents in real-world facts.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/hybrid-search-in-spanner-combine-full-text-and-vector-search"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Integrated hybrid search&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: Generally available since 2025, Spanner supports high-scale full text and vector search directly within its SQL and Graph modalities, allowing for integrated, low-latency retrieval-augmented generation (RAG) at scale.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanners-columnar-engine-unites-oltp-and-analytics?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner columnar engine&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: This architectural breakthrough enables analytical queries to run up to 200× faster on live operational data served from &lt;/span&gt;&lt;a href="https://medium.com/google-cloud/spanner-better-with-bigquery-streaming-insights-faster-federated-queries-with-iceberg-and-04e1299dd831" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Iceberg tables&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, providing agents with the real-time context they need without the "ETL tax."&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/products/databases/introducing-cassandra-compatible-api-in-spanner?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Expanded interoperability&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; With new Cassandra-compatible APIs, we've made it easier than ever to bring scale-out workloads to Spanner with zero code changes, so that your legacy data can participate in the AI revolution.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;A blueprint for tomorrow&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In our opinion, the Gartner recognition validates our belief that the future of data is unified, open, and inseparable from AI. Every day, we see customers leveraging Spanner’s recent innovations:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;a href="https://www.youtube.com/watch?v=qiVVCKEwF7w" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Palo Alto Networks&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; As a global cybersecurity leader, Palo Alto Networks relies on Spanner to be the heart of its multi-tenant architecture. By leveraging Spanner’s 99.999% availability and &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner Graph&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, they have unlocked crucial access-control use cases at planet-scale. This integrated approach allows them to secure AI at scale, stitching together a cohesive architecture that manages critical customer workflows without the need for specialized graph database silos.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/topics/retail/inside-mercado-libres-multi-faceted-spanner-foundation-for-scale-and-ai?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Mercado Libre&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The Latin American e-commerce and fintech giant uses Spanner for its foundational consistency and scale. By integrating Spanner with their internal "Fury" platform, they manage millions of daily financial transactions with near-perfect uptime. They leverage &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner data boost&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; for real-time analytics without impacting transactional performance, and they are now using Spanner as the reliable memory store for their next generation of AI-driven financial agents.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/products/databases/unico-builds-cutting-edge-idtech-with-spanner-vector-search?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Unico&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This leading IDTech company prevents billions in fraud by facilitating over 1.2 billion digital identity authentications, since 2021. Spanner’s &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;integrated vector search&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; allows Unico to perform complex 1:N facial biometric searches across billions of vectors with high precision and low latency. This eliminates the need for a separate vector database, so that their "Identity Network" remains fast, accurate, and maintenance-free.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Ready to see why Spanner was recognized?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The future of data is unified and built for AI. By ranking #1 in Lightweight Transactions and we believe Spanner is the premier choice for your mission-critical applications.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/resources/content/gartner-dbms-mq-report?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Read the full 2025 Gartner® Magic Quadrant for Cloud DBMS&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/resources/content/critical-capabilities-dbms?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Explore the 2025 Gartner Critical Capabilities for Operational Cloud DBMS&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Try Spanner for free&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and start building your AI-ready applications today.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;sub&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Critical Capabilities for Cloud Database Management Systems for Operational Use Cases, By Ramke Ramakrishnan, Masud Miraz, Xingyu Gu, Henry Cook, Aaron Rosenbaum, November 19, 2025.&lt;/span&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;GARTNER and MAGIC QUADRANT are registered trademarks and service marks of Gartner, Inc. and/or its affiliates in the U.S. and internationally and are used herein with permission. All rights reserved.&lt;/span&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.&lt;/span&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Google Cloud.&lt;/span&gt;&lt;/sub&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 18 Feb 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/gartner-ranks-spanner-1-for-lightweight-transactions-use-case/</guid><category>Spanner</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google (Spanner) Ranks #1 for Lightweight Transactions Use Case in Gartner® Critical Capabilities Report</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/gartner-ranks-spanner-1-for-lightweight-transactions-use-case/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Jagan R. Athreya</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Jagdeep Singh</name><title>Director Product Management</title><department></department><company></company></author></item><item><title>Spanner in 2025: Innovations powering intelligent, multi-model AI applications</title><link>https://cloud.google.com/blog/products/databases/spanner-in-2025/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For over a decade now, Google has relied on Spanner, an always-on, virtually unlimited database to power global-scale applications like Gmail, YouTube, and Google Photos. Today, Spanner handles over 6 billion queries per second at peak and more than 17 exabytes of data, with five 9s of availability, plus global consistency. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="vertical-align: baseline;"&gt;2025 was a big year for Spanner on Google Cloud, too, where it powers demanding workloads for customers like &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=L9WmdZD6z8E&amp;amp;t=1300s" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Walmart&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=8RXnNgcEp3o&amp;amp;t=851s" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Goldman Sachs&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://youtu.be/Xsz7m6TvXxM?t=1815" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Palo Alto Networks&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://youtu.be/Xsz7m6TvXxM?t=638" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Shopify&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=bGlBratj1-E&amp;amp;t=10s" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MercadoLibre&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. At the same time, in an era defined by artificial intelligence, the role of databases is undergoing a profound transformation. The database is evolving beyond its traditional function as a passive data repository, emerging instead as an &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;intelligent context hub&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;. Spanner now powers key use cases like &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/spanner-ai-graph-recommendations#0" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;product search and recommendations&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/cloud-spanner-samples/tree/main/TransitFraud" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;fraud detection&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://youtu.be/tIYO0aTmv20?t=1231" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;identity resolution&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/telecommunications/the-autonomous-network-operations-framework-for-csps?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;autonomous network operations (ANO)&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As we gear up for an exciting 2026, let’s take a minute to review some of last year’s highlights. In a nutshell, i&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;n 2025, we:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Made Spanner a first-class citizen for AI workloads&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Bridged the gap between operational and analytical data&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Made migrations simpler&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Raised the bar on price performance, and &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Enhanced enterprise safety and data protection&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Let’s review!&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner AI with multi-model support&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To build truly intelligent generative AI applications, you shouldn't have to glue together multiple point solutions. This is why in 2024, we integrated &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;vectors, graphs, and relational data &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;to provide context for your AI models. In 2025, we expanded these multi-model capabilities, adding new functionality across graph, vector, text search, as well as &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/ml"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex AI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; integrations. &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI capabilities:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; We introduced multiple capabilities to make Spanner an AI-first database. This includes built-in AI integrations such as&lt;/span&gt; &lt;a href="https://docs.cloud.google.com/spanner/docs/release-notes#October_20_2025"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ML.PREDICT for natural language queries&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;,&lt;/span&gt; &lt;a href="https://googleapis.github.io/genai-toolbox/resources/sources/spanner/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MCP Toolbox for Databases&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;,&lt;/span&gt; &lt;a href="https://docs.cloud.google.com/spanner/docs/pre-built-tools-with-mcp-toolbox#connect-spanner-gemini-cli-extension"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner extension for Gemini CLI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/data-agent-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;conversational data agents&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and&lt;/span&gt; &lt;a href="https://google.github.io/adk-docs/tools/google-cloud/spanner/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Development Kit for Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, which together, empower developers to build sophisticated, agentic applications with Spanner. We also extended our multi-model platform to power advanced AI use cases, such as using&lt;/span&gt; &lt;a href="https://docs.cloud.google.com/spanner/docs/graph/perform-vector-similarity-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;graphs with vector search&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for GraphRAG use-cases. Finally, &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/rag-engine/understanding-ragmanageddb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Vertex RAG Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; now lets you use Spanner as a RAG-managed database for data indexing and retrieval operations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Graph enhancements:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; added support for &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/graph/manage-schemaless-data"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;schemaless data&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; that enables iterative development and frequent updates without requiring schema changes. You can also now build graphs on &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;named schema&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; objects and on &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/graph/graph-with-views-how-to"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;SQL views&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, organizing and encapsulating important aspects of your app.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Full text search&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: The &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/full-text-search/query-overview#enhanced_query_mode"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;enhance_query&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; option provides automatic synonym matching and spell correction for a number of functions, reducing the manual tuning needed to improve recall. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Approximate Nearest Neighbor (ANN)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: ANN with Google's &lt;/span&gt;&lt;a href="https://research.google/blog/announcing-scann-efficient-vector-similarity-search/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ScaNN&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; is a fast, scalable vector search technique optimized for efficiency in high-dimensional vector searches, crucial for AI recommendation systems, image search, and semantic search. In 2025, we announced the general availability of ANN search to enable developers to perform fast similarity searches on vector embeddings, powering generative AI applications where consistency at scale matters. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AI-powered operations&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In 2025, we delivered multiple AI powered improvements that make it easier for developers to leverage Spanner for their applications: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/index-advisor"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner index advisor&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Index Advisor analyzes your query patterns and proactively suggests new indexes (or identifies unused ones) to optimize performance and cost.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/manage-data-using-console#recommend-schema-best"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Schema recommendations (Preview)&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;An intelligent tool that scans your schema design for anti-patterns — like hotspot-prone primary keys — and suggests improvements before they become production issues.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/spanner-cli"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner CLI&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The new command line interface, bundled directly with &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;gcloud&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, allows you to run SQL, manage sessions, and automate scripts within existing developer workflows.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Unified analytics: Minimize silos and complexity&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Last year&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, we bridged the gap between operational and analytic data with multiple new capabilities:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanners-columnar-engine-unites-oltp-and-analytics"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner columnar engine&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; (Preview):&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; This engine automatically lets you analyze vast amounts of operational data in real time, while maintaining Spanner's global consistency, high availability, and strong transactional guarantees — without impacting transactional workloads. &lt;/span&gt;&lt;a href="http://verisoul.ai" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Verisoul.ai&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, a provider of an all-in-one platform to automate fake account detection &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanners-columnar-engine-unites-oltp-and-analytics?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;used Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and Spanner columnar engine to support low-latency transactional writes and rich analytics to provide fast responses to their users.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://medium.com/google-cloud/spanner-better-with-bigquery-streaming-insights-faster-federated-queries-with-iceberg-and-04e1299dd831" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;The "Better with BigQuery" ecosystem&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;We strengthened the integrations between &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner and BigQuery to bring operational and analytical engines together to provide real-time insights:&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://medium.com/google-cloud/spanner-better-with-bigquery-streaming-insights-faster-federated-queries-with-iceberg-and-04e1299dd831" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Apache Iceberg support:&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; With this capability, data analysts can join live Spanner data with Apache Iceberg tables on BigQuery, as well as export Iceberg data into Spanner. This allows you to query and combine your real-time operational data (from Spanner) with your curated data lakehouse (in Iceberg).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner external datasets materialized views:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; We announced the general availability of &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/release-notes#June_02_2025"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner external datasets in BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; that enable BigQuery users to query live operational data in Spanner with zero ETL requirements. We further extended this capability to integrate with &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/materialized-views-create#spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery materialized views&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for ultra-fast reporting using pre-computed query results.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Continuous queries with&lt;/strong&gt; &lt;a href="https://docs.cloud.google.com/spanner/docs/release-notes#March_17_2025"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Reverse ETL&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; (BigQuery to Spanner):&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; You can now combine BigQuery’s continuous query capabilities with reverse ETL to Spanner to stream computed insights — such as fraud alerts or dynamic pricing signals — from BigQuery into Spanner in &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;real-time,&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; for low-latency serving of these insights. &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/how-fastweb-vodafone-reimagined-data-workflows-with-spanner-bigquery?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Fastweb+Vodafone&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; was able to do just that by leveraging this feature to use Spanner as their real-time serving layer with BigQuery.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Simplified migration&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Customers frequently migrate to Spanner to benefit from five nines of availability, virtually unlimited scale, low operational overhead, and global consistency. In 2025, we made it it easier for them to migrate their Cassandra, and &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/migrating-from-mysql-to-spanner-is-easier-now?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MySQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; workloads to Spanner:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cassandra interface:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner’s &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/non-relational/cassandra-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cassandra interface&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; lets you take advantage of Spanner's fully managed, scalable, and highly available infrastructure using familiar Cassandra tools and syntax. Lift and shift existing CQL applications with virtually no changes. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;MySQL interoperability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; You can now &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/install-mysql-functions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;install&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; a library of &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/reference/mysql/user_defined_functions_all"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;80 MySQL functions &lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;to help reduce the application changes required to migrate your MySQL workloads to Spanner.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Performance and cost improvements&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Continuously raising the bar on price-performance is a north star for the Spanner team. In 2025, we introduced multiple capabilities to help you improve query performance and reduce costs:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/use-repeatable-read-isolation"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Repeatable read isolation&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; (Preview)&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: This new isolation level reduces locking overhead to improve latency for workloads that have low read-write contention.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/full-text-search/json-indexes"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;JSON indexing:&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; Using the same foundation as Spanner’s full-text search, JSON indexing accelerates common queries over JSON, without having to predefine anything about the structure or data. This gives developers flexibility without having to compromise on performance. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/read-lease"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Read leases&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: Read leases can improve read latency for strongly consistent data in multi-region configurations by trading off some write performance for common read-mostly workloads. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/tiered-storage"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Tiered storage&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: Tiered storage allows you to manage data lifecycle costs efficiently by using SSD and HDD storage within the same instance, all via configuration and without having to modify the APIs you use to access the data. This functionality moves older data to lower cost HDD storage (~80% cheaper) while automatically keeping new data on high-performance SSDs.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/managed-autoscaler"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Managed autoscaler&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: We announced the general availability of managed autoscaler and enhanced it to allow scaling read-only replicas independently from the read-write replicas, thereby improving read performance while optimizing costs based on traffic patterns.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/pre-splitting-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Manual split points&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: While Spanner automates sharding to distribute work across nodes in an instance, sometimes you know your traffic patterns better than we do. The new split-point API allows you to “warm up” or pre-split your data to handle anticipated spikes, like a flash sale or game launch, to handle traffic immediately.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/query-optimizer/versions#version-8"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Query optimizer&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The new default query optimizer (version 8, for those counting at home) brings a host of automated enhancements, optimizing join strategies and index usage to improve query performance and predictability.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/release-notes#September_30_2025"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Multiplexed sessions&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; and &lt;/strong&gt;&lt;a href="https://github.com/googleapis/python-spanner/pull/1411" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;lazy decoding&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; We enabled multiplexed sessions by default across major SDKs (Java, Go), significantly improving throughput and resource utilization. We also optimized our client libraries with &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;lazy decoding&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; for partitioned queries, allowing your applications to handle massive datasets with a significantly lower memory footprint. Plus, new&lt;/span&gt; &lt;a href="https://docs.cloud.google.com/spanner/docs/client-side-metrics-descriptions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;built-in client metrics&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; give you granular observability into your application's database performance.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Raising the bar on enterprise safety&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For our customers, especially in industries like financial services, retail, and healthcare, reliability is non-negotiable. This year, we introduced additional "safety nets" that further protect your data from the most unpredictable variable in any system: human error.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/schema-drop-protection"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Drop protection&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Accidental deletions can be catastrophic. We introduced &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;schema object drop protection&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; as a safeguard for your production environments to prevent the accidental deletion of critical tables, indexes, and columns, acting as a line of defense against operational mishaps.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Zero-touch compliance with &lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/backup#default-backup-schedules"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;default backup schedules&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Data protection shouldn't rely on manual checklists. We introduced &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;default backup schedules&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; to ensure a recovery baseline the moment a database is created. This minimizes the risk of forgotten backups and so that your workloads adhere to your organization's governance and compliance standards from day one.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Awards and recognition&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While we continue to enhance Spanner based on customer needs and industry trends, it’s always great to get industry recognition for our work. In 2025,&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner was recognized as a Leader in the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Gartner Magic Quadrant&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; for Cloud DBMS and ranked &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;#1 for the Lightweight Transactions Use Case&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; (and Top 3 in all categories) in the&lt;/span&gt; &lt;a href="https://cloud.google.com/resources/content/critical-capabilities-dbms?e=48754805#:~:text=from%20Gartner%C2%AE.-,Gartner%C2%AE%20ranks%20Google%20Spanner%20%231%20for%20Lightweight%20Transactions%20Use,learn%20how%20Google%20Spanner%20ranked."&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Critical Capabilities for Operational Databases report&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for 2025, beating AWS Aurora to take the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;#2 rank in “OLTP Transactions”&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Beyond technical performance, a March 2025 &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/forrester-tei-study-on-spanner-shows-benefits-and-cost-savings?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Forrester Total Economic Impact™ (TEI) study&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; validated the significant business value Spanner delivers, finding that a representative composite organization realized a &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;132% ROI and $7.74M in total benefits over three years&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, with a rapid nine-month payback period.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;We were also honored with the&lt;/span&gt; &lt;a href="https://cloud.google.com/blog/products/databases/spanner-wins-the-2025-acm-sigmod-systems-award"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;2025 ACM SIGMOD Systems Award&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for "reimagining relational data management to enable serializability with external consistency at global scale."&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Looking ahead&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We are proud of what we have delivered for customers in 2025, and are excited to see the innovative solutions you are building on Spanner. Needless to say, we are just getting started and we have a lot &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=IEOpgxKBWU8&amp;amp;t=1736s" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;more exciting capabilities lined up for 2026&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Want to &lt;/span&gt;&lt;a href="https://goo.gle/SpannerDatabaseUnlimited" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;learn more&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; about what makes Spanner unique and how it’s being used today? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Try it yourself for free&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; for 90-days or for as little as $65 USD/month for a production-ready instance that grows with your business without downtime or disruptive re-architecture.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 28 Jan 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/spanner-in-2025/</guid><category>Spanner</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Spanner in 2025: Innovations powering intelligent, multi-model AI applications</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/spanner-in-2025/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Shubhankar Chatterjee</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Piyush Mathur</name><title>Group Product Manager</title><department></department><company></company></author></item><item><title>Introducing managed connection pooling in AlloyDB — scale further, connect faster</title><link>https://cloud.google.com/blog/products/databases/alloydb-managed-connection-pooling/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB for PostgreSQL is a fully managed database service engineered for demanding enterprise workloads, blending the familiarity and robustness of PostgreSQL with Google Cloud's advanced technology for exceptional performance, scalability, and high availability. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;However, as applications grow and user loads intensify, another critical factor comes into play: efficiently managing database connections. Inefficient connection handling can become a bottleneck, hindering the very performance and scalability AlloyDB is designed to provide. Recognizing this, we are introducing a new capability designed to tackle this challenge head-on: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/configure-managed-connection-pooling"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;managed connection pooling&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;The hidden cost of database connections&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In many application architectures, particularly those involving frequent, short-lived interactions like web applications or serverless functions, a common pattern is to open a new database connection for each request and close it afterward. While seemingly straightforward, this approach carries significant hidden costs, especially when running at scale.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Frequently establishing new database connections (common in web apps or serverless functions) is resource-intensive. Each new connection involves network handshakes, potential Transport Layer Security (TLS) negotiation, authentication, session initialization, and resource allocation, adding latency and consuming server CPU and memory. When multiplied across hundreds or thousands of concurrent requests, the cumulative impact of this connection overhead can be substantial:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Performance degradation:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The time spent setting up and tearing down connections adds directly to application response times. Users experience slower interactions as the application waits for new connections before executing queries.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Resource exhaustion and scalability bottlenecks:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Databases dedicate resources for each client connection. Even idle connections consume memory and CPU. This isn't just about the number of connections, but also the inefficiency caused by the constant churn&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;of creation and destruction, consuming valuable resources, and capping how much a database can scale. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Reliability concerns: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Traffic spikes causing connection surges can overwhelm the server, leading to degraded performance, connection timeouts, or even outages.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;While client-side connection pooling libraries exist within application frameworks, managing these effectively across distributed systems or microservices architectures can introduce significant complexities. Ensuring consistent configuration, behavior, and efficient resource utilization across numerous independent client pools is a non-trivial challenge. A centralized, server-managed approach offers a more robust and simpler solution in such environments.  &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Introducing AlloyDB managed connection pooling&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To address these challenges directly within our managed environment, managed connection pooling for AlloyDB for PostgreSQL provides an integrated, optimized solution for managing database connections, enhancing the performance, scalability, and reliability of your applications.  Managed connection pooling for AlloyDB for PostgreSQL is generally available.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;How connection pooling works&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Instead of creating a new connection for every request, a pooler maintains a cache of active, ready-to-use database connections. When an application requests a connection (via the pooler's dedicated port 6432), the pooler assigns an available connection from its pool, bypassing the costly setup process. When the application finishes, the connection is returned to the pool, ready for reuse, rather than being closed.  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;The "managed" advantage&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Crucially, this is not just any connection pooling solution; it's &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;managed&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; by AlloyDB. This means you get:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Tight integration:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The pooling mechanism is built directly into the AlloyDB service, running efficiently alongside your database instance.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Simplified operations: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB handles the setup, configuration, patching, and maintenance of the connection pooler. You get the benefits without the operational burden of deploying, managing, and scaling a separate pooling infrastructure (which would be required with external tools like PgBouncer). This aligns perfectly with our core philosophy of automating AlloyDB administrative tasks and simplifying database management.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Optimized performance and security:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Because the pooler is integrated within the AlloyDB environment and Google Cloud's network, communication between the pooler and the backend database processes is highly optimized, minimizing latency. Connections benefit from the robust security posture of our Cloud's infrastructure.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Enhanced reliability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The managed pooler inherently benefits from the underlying reliability features of the AlloyDB instance it runs on, including High Availability (HA) configurations.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In other words, by integrating connection pooling as a managed feature of AlloyDB, we’re directly addressing a fundamental scaling challenge of the traditional PostgreSQL connection model, making it easier than ever to build highly scalable and resilient applications.  &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Unlock more scale, reliability, and performance&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Enabling managed connection pooling in AlloyDB also translates into tangible benefits for your applications:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Increased scale and performance:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Efficient connection reuse unlocks more of the instance’s power. With the new Managed Connection Pooling feature, AlloyDB handles over 3x more clients and drives up to 5x higher transactional throughput compared to standard connections.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Improved reliability during connection surges:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The pool acts as a shock absorber, rapidly serving requests with existing connections and preventing backend overload during traffic spikes, thus maintaining stability and preventing connection errors during peak loads. If the pool is temporarily exhausted, the pooler can queue incoming requests gracefully, improving the application's resilience.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Decreased latency for transient connections:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Eliminates connection setup overhead for frequent, short-lived connections (common in web, microservices, serverless), resulting in faster query execution and significantly improved end-user response times.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To cater to different application needs and behaviors, AlloyDB managed connection pooling offers flexibility through configurable pooling modes :  &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Transaction mode (Default):&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Assigns connections per transaction, maximizing reuse and scalability. Ideal for high volumes of short transactions. Incompatible with session-specific features like non-transaction-scoped &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SET&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;, session advisory locks, &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;LISTEN&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;WITH HOLD&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; cursors, or protocol-level prepared statements (use named prepared statements via &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;max_prepared_statements&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;).  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Session mode:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Assigns a connection for the client's entire session, ensuring full compatibility with all PostgreSQL features. Suitable for long-lived sessions or applications needing session state persistence, but offers less aggressive connection multiplexing.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The choice between modes represents a trade-off: transaction mode prioritizes maximum scalability and resource efficiency, while session mode prioritizes full compatibility with all session features. AlloyDB makes it simple to select the mode that best fits your application's requirements during configuration.  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The following table summarizes the key improvements offered by enabling managed connection pooling:&lt;/span&gt;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Metric&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Without Managed Pooling&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;With Managed Pooling (Typical)&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Benefit&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Transactions Per Minute&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Baseline (1x)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Up to 5x&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Higher throughput on the same instance&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Max Concurrent Connections&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Baseline (1x)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;&amp;gt; 3x&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Supports more simultaneous client connections&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Connection Latency&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;High (Setup Overhead)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Low (Connection Reuse)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Faster responses for transient connections&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Reliability (Load Spikes)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Vulnerable to overload&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;More resilient, absorbs spikes&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Improved stability under heavy load&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Customer spotlight: UKG&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;UKG, a leading provider of HR, payroll, and workforce management solutions, is an early adopter of AlloyDB managed connection pooling. To support their mission-critical People Fabric application used by millions of people every day, UKG needs a database that can handle immense scale, high transaction volumes, and fluctuating demand.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 40px;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;“We chose AlloyDB for its performance, reliability and managed simplicity. AlloyDB’s unique architecture allows us to pack significantly more databases per cluster than with any other Postgres managed service. This larger capacity translates to more database connections from users and applications, and so we had concerns with Postgres’ normal connection limits. We were thrilled to work with Google on the early adoption of managed connection pooling. This essential capability has helped us ensure top performance and low latency for our global customer base, giving us the freedom to grow on the same servers without worrying about connection constraints, even during peak usage.” - &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Jeff Bogenschneider, Sr. Principal Architect, People Fabric Chief Architect, UKG&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;UKG's experience highlights the critical role efficient connection management plays in supporting cutting-edge, demanding workloads. By leveraging managed connection pooling, UKG helps ensure their AlloyDB infrastructure remains robust and responsive, even under dynamic and unpredictable load patterns. This validation from a key provider in the HR technology space highlights AlloyDB's suitability for powering the next generation of intelligent, large-scale applications.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Getting started with managed connection pooling&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;One of the best aspects of managed connection pooling is its simplicity. Enabling it is straightforward:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Activate managed connection pooling in the Google Cloud console. Look for a checkbox when creating a new AlloyDB read pool instance or when editing an existing primary or read pool instance. You can also enable it using &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; command-line tool flags or the AlloyDB API.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Connect your applications using standard PostgreSQL drivers and database credentials. Simply target your application to the connection pooler's dedicated port, 6432, instead of the default PostgreSQL port 5432. If you’re using AlloyDB Auth Proxy or language connectors, you don’t need to make any changes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Finally, easily configure options like the desired pooling mode (Transaction or Session) and pool size limits during instance creation, and modify them via the Google Cloud console, &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;gcloud&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;, or API.  &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;For detailed instructions, advanced configuration parameters, monitoring guidance, and best practices, please refer to the official &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/docs/configure-managed-connection-pooling"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;documentation&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.  &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB just got better&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB managed connection pooling is more than just a new feature; it's a fundamental capability that makes AlloyDB more accessible and effective for a wider range of applications. By intelligently managing database connections, it directly addresses common performance and scalability bottlenecks, allowing applications to fully leverage AlloyDB's performance and robust architecture.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Ready to experience the benefits? Enable managed connection pooling for your AlloyDB instances today.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Learn more: &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/docs/configure-managed-connection-pooling"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://cloud.google.com/alloydb/docs/configure-managed-connection-pooling&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;New to AlloyDB? &lt;/span&gt;&lt;a href="https://console.cloud.google.com/alloydb/create-trial-cluster"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Try it at no cost&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Thu, 22 Jan 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/alloydb-managed-connection-pooling/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Introducing managed connection pooling in AlloyDB — scale further, connect faster</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/alloydb-managed-connection-pooling/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Emir Okan</name><title>Senior Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Haoli Du</name><title>Software Engineer</title><department></department><company></company></author></item><item><title>How Fastweb + Vodafone reimagined data workflows with Spanner &amp; BigQuery</title><link>https://cloud.google.com/blog/products/databases/how-fastweb-vodafone-reimagined-data-workflows-with-spanner-bigquery/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Editor’s note:&lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://www.fastwebvodafone.it/" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Fastweb + Vodafone&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;, a leading telecommunications provider in Italy, created its Customer 360 platform to support faster and more personalized customer experiences across channels. By rebuilding serving layers and governance with Google Cloud services like &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://gemini.google.com/app" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Gemini&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;, the company simplified its architecture and introduced AI-assisted engineering workflows. Fastweb + Vodafone now delivers real-time insights across the organization and is preparing for expanded AI agent use cases in the future.&lt;/span&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Following the &lt;/span&gt;&lt;a href="https://www.fastwebvodafone.it/area-media/comunicati-stampa/swisscom-completa-lacquisizione-di-vodafone-italia-nasce-fastweb-vodafone/?lng=EN" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;acquisition of Vodafone Italy by Swisscom in 2025&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and looking toward our official merger in January 2026, we saw an opportunity to rethink how we serve our customers.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As a leading telecommunications provider in Italy, we aim to deliver timely, personalized experiences across mobile, broadband, and digital channels. Our team’s job is to give everyone at our business access to the customer insights they need, when they need them. Those insights rely on a robust Customer 360 platform where data from thousands of sources is unified and made available in real-time. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Both companies had already begun modernizing these customer data workflows on Google Cloud, especially with &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. However, combining ecosystems exposed the limits of our existing setup. The architecture required more upkeep than we wanted and didn’t offer the flexibility our unified organization needed. It was time for us to rethink how we served and governed customer data. &lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Choosing a connected platform, not a single tool&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;When we stepped back and looked at what Fastweb + Vodafone needed, it was clear we weren’t searching for a single tool. We wanted a connected suite of products that could support real-time serving, stronger governance, and new AI-assisted workflows without adding operational weight.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_ULTlvON.max-1000x1000.jpg"
        
          alt="Fig. 1 - Architecture Diagram"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="nftvn"&gt;Figure 1: Architecture diagram for the Customer 360 Serving Layer&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We were covered on the warehouse side: BigQuery was already in place and handling core analytical workloads. What we lacked was a serving layer that could match BigQuery’s speed and flexibility while simplifying our architecture. We also wanted tighter integration across the stack so we could more easily surface insights and begin incorporating AI. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud brought all these capabilities together in a unified way. With native integrations between products, it was the right choice. We could spend less time connecting systems and more time building the features our business actually needs.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner accelerates serving without the overhead&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Giving every channel real-time access to accurate customer data meant finding a serving layer that kept pace with telecom traffic. &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; was the answer. Spanner delivers low-latency reads, horizontal scalability, high availability, and a fully managed environment with zero ops overhead.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner’s native integration with BigQuery was the real game-changer. Before Spanner, we relied on several custom layers built solely to move warehouse data into downstream systems. But the direct interoperability between Spanner and BigQuery has made most of that complexity disappear. With Spanner as the front-end serving layer, we were able to migrate ten applications in two weeks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner also transformed how we monitor and maintain our workflows. Four separate monitoring processes collapsed into a single view, making troubleshooting and optimization far faster. And with &lt;/span&gt;&lt;a href="https://cloud.google.com/apigee"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Apigee&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; exposing Spanner data to the call center, digital channels, and partner systems, the improvements were felt across the entire organization — not just within engineering.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Making sense of thousands of data flows &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With Spanner in place as our serving layer, the next challenge was making sense of the thousands of batch and real-time ingestion flows that power Fastweb + Vodafone Data platform. Understanding how data moves across these pipelines is essential for quality, compliance, and day-to-day engineering. We needed something faster and far more intuitive than our previous solution. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner’s multi model capabilities gave us that foundation. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; allowed us to map lineage in a way that reflects how our platform actually works: which tables drive specific jobs, how transformations cascade, and where dependencies sit. From there, vector search and full-text search added a richer discovery layer. This made it easier to surface results quickly, even in a large and complex ecosystem. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Together, these features gave us the governance experience we wanted — not only more accurate, but much easier for engineers and analysts to work with.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_8MGCxjv.max-1000x1000.jpg"
        
          alt="Fig 2 - Spanenr Graph Model"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="nftvn"&gt;Figure 2: Spanner’s Graph model allowed us to rapidly build a scalable, easy-to-navigate visualization of complex data lineage for improved Data Governance&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Effortless documentation&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We also wanted to make development smoother across our organization’s large and varied codebase. Many services had limited documentation, especially older systems that had evolved over time. &lt;/span&gt;&lt;a href="https://gemini.google.com/app" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; helped us close those gaps. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With Gemini, our teams can generate clear documentation directly from the code, which saves hours of manual work. We store this output in Spanner as vector embeddings, which creates a searchable knowledge base that grows alongside our platform.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To make that knowledge even easier to use, we built a chat interface powered by Gemini. Developers can ask natural-language questions — say, about a function or how a change might ripple through the system — and get a context-aware answer in seconds. It’s a far more intuitive way to explore the codebase and reduces the time spent deciphering legacy logic or chasing down subject-matter experts. &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_OkiaIL7.max-1000x1000.jpg"
        
          alt="Fig 3 Spanner use case"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="nftvn"&gt;Figure 3: Code Documentation augmentation and search with Gemini and Spanner&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;This AI-assisted workflow is now a regular part of how we build. It speeds up onboarding and gives us a scalable way to improve productivity even as our systems evolve.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Engineering at the speed of business&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Rebuilding our Customer 360 platform with Google Cloud services has already changed how Fastweb + Vodafone works. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Workflow monitoring is simpler, pipelines are leaner, and real-time serving is now the norm. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The gains from this work are also visible across the business: Call centers now see more complete, up-to-date customer information, digital channels can rely on consistent data without custom integrations, and partners can access what they need with low latency through Apigee. Together, it all creates a smoother, more personalized customer experience — exactly what we imagined at the start of this process.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;And we’re just getting started. We are now exploring Spanner Graph capabilities to better understand customer relationships through householding and social indexing. We also see more potential for AI agents to help teams improve analysis and decision-making.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud didn't just simplify our engineering – it changed how our entire organization operates.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Learn more:&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Explore &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, a fully managed relational database for global-scale workloads, and the power of &lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;! &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Learn how &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; simplifies analytics with built-in performance and scalability.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="vertical-align: baseline;"&gt;Bring AI assistance into engineering workflows with &lt;/span&gt;&lt;a href="https://cloud.google.com/gemini-enterprise"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini for Google Cloud&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Thu, 22 Jan 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/how-fastweb-vodafone-reimagined-data-workflows-with-spanner-bigquery/</guid><category>AI &amp; Machine Learning</category><category>Telecommunications</category><category>Customers</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Vodafone_logo.png.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>How Fastweb + Vodafone reimagined data workflows with Spanner &amp; BigQuery</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Vodafone_logo.png.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/how-fastweb-vodafone-reimagined-data-workflows-with-spanner-bigquery/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Vincenzo Forciniti</name><title>IT AI Adoption &amp; Platform Engineering Lead, Fastweb + Vodafone</title><department></department><company></company></author></item><item><title>Elevate your applications with Firestore’s new advanced query engine</title><link>https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A hallmark of a valuable database is how easy it is to query the data inside, so that developers can build tailored and complex user experiences in an application. Last week marked a significant evolution for &lt;/span&gt;&lt;a href="https://cloud.google.com/products/firestore"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, Google Cloud’s enterprise-grade, scalable document database, with the debut of an advanced query engine designed to help you build more sophisticated applications. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Available as part of &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore in Native mode&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, this powerful engine introduces over a hundred new query capabilities, called pipeline operations, available in preview, which streamline complex queries directly within the database. Alongside this, we're launching precise indexing controls and refreshed observability tools like query explain and query insights, giving you granular control over performance. All these robust capabilities are now available in the &lt;/span&gt;&lt;a href="http://docs.cloud.google.com/firestore/native/docs/editions-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore Enterprise edition&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, which also offers a more transparent pricing model for potential cost savings. This is all in the service of building highly expressive, performant applications that can query, transform and filter data across many dimensions, with less operational overhead. At the same time, you’re benefiting from Firestore’s unique serverless foundation, multi-region replication, and virtually unlimited scalability, freeing you from database management complexities, so you can truly focus on innovation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Used by a vibrant community of over 600,000 developers, Firestore has long been appreciated for its simplicity. In 2019, Firestore Standard edition in Native mode streamlined the development of collaborative applications with a straightforward query interface that guaranteed high performance through the use of automatically generated indexes. However, this simplified query engine has a strong dependence on indexing for query execution, often demanding upfront planning throughout the application lifecycle. Now, with the introduction of the advanced query engine in Enterprise edition, developers can construct highly expressive applications, regardless of the explicit presence of indexes — particularly for demanding solutions like e-commerce, interactive gaming, content management, and sophisticated user personalization. The refined query engine makes it easier to create pipeline operations, complete with sophisticated new stages and expressions, including support for complex aggregations, querying directly over arrays, advanced string matching capabilities, and granular filtering options.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;A new query engine and pipeline operations experience&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To enable this, we’ve updated Firestore’s existing SDKs with expanded support for pipeline operations. Now, you can elegantly chain together numerous stages for essential tasks such as aggregations, grouping, and filtering. Queries now run without mandatory indexes, giving you complete autonomy over when you want to create indexes to optimize performance. Let’s take a look at an illustration of pipeline operations.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Note: This example assumes you're familiar with Firestore's &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/data-model"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;data model&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/query-data/queries"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;existing query methods&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Suppose you want to identify the top trending hashtags on an existing food recipe application that allows users to add hashtags to recipes. For essential data (like the recipe text itself), you might represent a recipe as a document with some fields. Since a hashtag can be represented with just a string, you could add hashtags directly to the recipe document as an array of strings:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;{\r\n  title: &amp;quot;My recipe&amp;quot;,\r\n  instructions: &amp;quot;Cook the ingredients&amp;quot;,\r\n  authorId: &amp;quot;SomeAuthorID&amp;quot;,\r\n  hashtags: [&amp;quot;easy&amp;quot;, &amp;quot;high protein&amp;quot;, &amp;quot;low carb&amp;quot;],\r\n  ...\r\n}&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0c44160&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Firestore users can query for specific hashtags within recipes using existing &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/query-data/understanding-core-pipelines"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;core operations&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. However, prior to pipeline operations, there was no direct way to extract and aggregate array data from within a document during a query.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With pipeline operations, you can “unnest” arrays directly. This makes it simple to identify and suggest trending hashtags to your users. Below is an example of how to implement this using Javascript:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;// Fetch 10 hashtags sorted by most popular.\r\nconst snapshot = await db.pipeline()\r\n\r\n  // Starting with the collection of recipe documents:\r\n  .collection(&amp;quot;recipes&amp;quot;)\r\n\r\n  // Limit the document to just the `hashtags` field.\r\n  .select(&amp;quot;hashtags&amp;quot;)\r\n\r\n  // Unnest each tag within the `hashtags` array to its own document.\r\n  .unnest(field(&amp;quot;hashtags&amp;quot;).as(&amp;quot;tagName&amp;quot;))\r\n\r\n  // Count the number of instances of each tag across recipes and\r\n  // consolidate documents sharing a tagName into a single document\r\n  // per tagName.\r\n  .aggregate({\r\n    accumulators: [countAll().as(&amp;quot;tagCount&amp;quot;)],\r\n    groups: [&amp;quot;tagName&amp;quot;]\r\n  })\r\n\r\n  // Sort the resulting hashtags by their count.\r\n  .sort(field(&amp;quot;tagCount&amp;quot;).descending())\r\n\r\n  // Limit query results to just the top ten hashtags.\r\n  .limit(10)\r\n\r\n  .execute()&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0c44af0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In addition, Firestore Enterprise edition supports a broader array of &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/enterprise-index-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;index types&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; (including single field, composite, sparse, non-sparse, and unique indexes) that lets you maximize query performance even more. Furthermore, you can control &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;when&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; indexes are created, consequently improving overall write performance and storage utilization when compared to Standard edition’s automatic single-field indexes. This helps to mitigate index fanout during write operations.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Since indexing is fully customizable, Enterprise edition also provides advanced observability tools — &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/enterprise-query-explain"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;query explain&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/enterprise-query-insights"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;query insights&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; — specifically built to help developers identify and optimize queries by identifying missing indexes.&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Through query explain, developers can profile queries to gain a comprehensive understanding of query planner details and view execution statistics. This includes essential data such as billing information, and deep, system-level visibility into the query's execution path. &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1-queryexplain.max-1000x1000.png"
        
          alt="1-queryexplain"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="n0xrd"&gt;Determine if a query is using an index and analyze its total execution metrics by profiling it with query explain.&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Complementing this, query insights enables ongoing monitoring of high-latency and frequently executed queries that may require tuning. By utilizing the query insights dashboard, you can identify queries that can benefit from deploying indexes to boost performance.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2-queryinsights.max-1000x1000.png"
        
          alt="2-queryinsights"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="n0xrd"&gt;Leverage query insights to identify the highest latency and most frequently executed queries on your database, evaluating whether they require indexing based on the quantity of index entries scanned.&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Migration for current Firestore customers&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;If you’re new to Firestore, getting started is easy — simply &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/manage-databases"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;create a Firestore Enterprise edition database&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. For existing Firestore developers, transitioning to Firestore pipeline operations is also simple: just use the integrated &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/manage-data/export-import"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;import and export service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; to migrate data from a Firestore Standard edition database to a freshly provisioned Enterprise edition database. Crucially, Enterprise edition maintains backwards compatibility, so you can retain your existing application code for Firestore core operations. When the time is right to harness the advanced capabilities, here’s how to convert code from core operations into pipeline operations:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;const query = db.collection(&amp;quot;recipes&amp;quot;).where(&amp;quot;authorId&amp;quot;, &amp;quot;==&amp;quot;, user.id);\r\n\r\n// Convert the query into a pipeline\r\nconst pipeline = db.pipeline.createFrom(query);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0c442b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;And then you can immediately begin working with the new pipeline capabilities. &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;// From the last snippet\r\nconst pipeline = db.pipeline.createFrom(query);\r\n\r\nconst snapshot = pipeline\r\n  .where(field(&amp;quot;rating&amp;quot;).greaterThan(4))\r\n  .execute();&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0c44940&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Predictable pricing and optimized costs&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Firestore Enterprise edition utilizes an improved, transparent &lt;/span&gt;&lt;a href="https://cloud.google.com/firestore/enterprise/pricing"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;pricing model&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; for managing costs. For all read and write operations performed against the database, you are now billed based on the size of the documents and associated index entries involved. This new approach brings potential savings of up to 86% when executing read operations on documents under 4 kibibytes. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Real-time listen query updates are separately metered and billed as they are incurred. Furthermore, there are no upfront fees or latent costs resulting from incorrect database cluster capacity planning or inefficient database sharding. Storage consumption is billed solely for the actual capacity you use, inclusive of replicated copies for high availability. And if you’re new to Firestore and want to try it out, Enterprise edition includes access to a generous free-tier to make it easy to get started.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Get started with Firestore pipeline operations&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Enterprise edition offers an advanced query engine to power flexible developer experiences, accessible both through &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore in Native mode&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, and &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/mongodb-compatibility/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Firestore with MongoDB compatibility mode&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. This allows developers to maximize existing libraries and tools from either the Firestore and MongoDB developer communities. You can get started with Firestore pipeline operations in preview today, by creating a new Firestore Enterprise edition database in Native mode. To delve into how to get started with pipeline operations, refer to the &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/firestore/native/docs/pipeline/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;documentation&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Embark on your journey with the Enterprise edition today — benefit from zero upfront fees and immediate access to a generous free-tier: &lt;/span&gt;&lt;a href="https://cloud.google.com/products/firestore"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://cloud.google.com/products/firestore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 20 Jan 2026 17:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines/</guid><category>Serverless</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/0-pipelineshero.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Elevate your applications with Firestore’s new advanced query engine</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/0-pipelineshero.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/products/data-analytics/new-firestore-query-engine-enables-pipelines/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Minh Nguyen</name><title>Group Product Manager, Google Cloud</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Joseph (JD) Batchik</name><title>Staff Software Engineer, Google Cloud</title><department></department><company></company></author></item><item><title>Supercharge your Cloud SQL for MySQL write performance with new optimized writes</title><link>https://cloud.google.com/blog/products/databases/cloud-sql-for-mysql-introduces-optimized-writes/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Tuning MySQL instances for write-intensive workloads is a persistent engineering challenge. Cloud SQL for MySQL Enterprise Plus edition now includes &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/mysql/flags#tips-optimized-write"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;optimized writes&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, a set of automated features that adjust MySQL configurations based on real-time workload and infrastructure metrics. This reduces write latency and increases throughput without manual intervention.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;All &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/editions-intro"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Enterprise Plus edition&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; instances have this feature enabled by default. This post details the underlying optimizations and provides a reproducible benchmark to measure the performance improvements.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Inside Cloud SQL for MySQL optimized writes&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The optimized writes feature includes five different optimizations that all automatically tune MySQL parameters, flags, and data handling, in order to optimize write performance based on instance and workload needs. Here’s a little more about how each component of optimized writes works:&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table border="1" style="width: 100%;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Feature&lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;&lt;strong&gt;What it does&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Adaptive purge&lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;Cloud SQL dynamically adjusts innodb_purge_threads to prioritize user workloads over routine database maintenance operations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Adaptive I/O limits&lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;
&lt;p&gt;Cloud SQL dynamically adjusts I/O parameters, specifically innodb_io_capacity and innodb_io_capacity_max. This adjustment occurs in direct response to fluctuations in workload demands and prevents I/O bottlenecks during traffic spikes. &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Scalable sharded I/O&lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;
&lt;p&gt;Cloud SQL implements I/O sharding by distributing load across multiple mutexes to enhance I/O throughput and accommodate demanding workloads.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Faster REDO recovery&lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;
&lt;p&gt;Cloud SQL optimizes the handling of temporary data and the expedited flushing of dirty pages, consequently reducing recovery times and enabling the utilization of larger redo logs.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 29.2735%;"&gt;&lt;strong&gt;Adaptive buffer pool warmup &lt;/strong&gt;&lt;/td&gt;
&lt;td style="border: 1px solid #000000; padding: 16px; width: 70.7265%;"&gt;
&lt;p&gt;Cloud SQL dynamically uses available disk I/O capacity to accelerate data cache warmup by scheduling page reads, resulting in faster data cache warmup post instance restart and a reduction in performance variance.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div align="center"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;We've observed that with optimized writes, Cloud SQL for MySQL Enterprise Plus now&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;delivers&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; up to 3x better write throughput &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;when compared to its Enterprise edition counterpart, while reducing latency significantly. These optimizations are most effective for write-intensive OLTP workloads and results can vary based on machine configurations. For workloads that are primarily read, Cloud SQL Enterprise Plus edition also provides an integrated SSD-backed data cache option, enabling up to &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;3x higher read throughput&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, as detailed in our initial&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/announcing-the-cloud-sql-enterprise-plus-edition-for-mysql-and-postgresql?e=0"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;launch blog&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_Evrsw9B.max-1000x1000.png"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Testing the optimized write performance improvement&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Now that you're aware of the exceptional write performance offered by Cloud SQL for MySQL Enterprise Plus edition, you might be curious about its potential impact within your own environment. Measuring this performance enhancement can be done with the sysbench benchmarking tool. You can follow the steps below and adjust specific machine configuration parameters to conduct testing tailored to your typical workloads.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Step 1: Create database instances&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;To help study the performance improvement, first create three different class of machines:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Enterprise edition (ee)&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Enterprise Plus edition (ee+) without optimized writes&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Enterprise Plus edition (ee+) with optimized writes&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;# will set some basic configuration variables to help us run things with higher scalability.\r\n\r\n#------------------------------------------------------\r\n# ee\r\ngcloud sql instances create ee --database-version=&amp;quot;MYSQL_8_0_37&amp;quot; --availability-type=zonal --edition=ENTERPRISE --cpu=64 --memory=416GB --storage-size=3000 --storage-type=SSD --zone=&amp;quot;us-central1-c&amp;quot; --network=projects/${PROJECT}/global/networks/default --no-assign-ip --enable-google-private-path --no-enable-bin-log --database-flags=&amp;quot;max_prepared_stmt_count=1000000,innodb_adaptive_hash_index=off,innodb_flush_neighbors=0,table_open_cache=200000&amp;quot;\r\n\r\n#------------------------------------------------------\r\n# ee+ without optimized writes\r\n# Note: this configuration is not recommended and being shown only for comparison\r\n# without optimized write larger redo log size will cause longer recovery time so switch back the redo log size to what it was originally (before optimized write was introduced).\r\ngcloud sql instances create eeplusow0 --database-version=&amp;quot;MYSQL_8_0_37&amp;quot; --availability-type=zonal --edition=ENTERPRISE_PLUS --tier=db-perf-optimized-N-64 --storage-size=3000 --storage-type=SSD --zone=&amp;quot;us-central1-c&amp;quot; --network=projects/${PROJECT}/global/networks/default --no-assign-ip --enable-google-private-path --no-enable-bin-log  --database-flags=&amp;quot;max_prepared_stmt_count=1000000,innodb_adaptive_hash_index=off,innodb_flush_neighbors=0,table_open_cache=200000,innodb_cloudsql_optimized_write=off,innodb_log_file_size=1073741824&amp;quot;\r\n\r\n#------------------------------------------------------\r\n# ee+ with optimized writes\r\ngcloud sql instances create eeplusow1 --database-version=&amp;quot;MYSQL_8_0_37&amp;quot; --availability-type=zonal --edition=ENTERPRISE_PLUS --tier=db-perf-optimized-N-64 --storage-size=3000 --storage-type=SSD --zone=&amp;quot;us-central1-c&amp;quot; --network=projects/${PROJECT}/global/networks/default --no-assign-ip --enable-google-private-path --no-enable-bin-log  --database-flags=&amp;quot;max_prepared_stmt_count=1000000,innodb_adaptive_hash_index=off,innodb_flush_neighbors=0,table_open_cache=200000&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679ec61b80&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Step 2: Create client&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Next, create a VM for the client instance. Client instances are placed in the same region but different zone.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud compute instances create c1 --zone=&amp;quot;us-central1-a&amp;quot; --boot-disk-size=10GB --create-disk=name=c1disk,size=100GB --machine-type=n2-custom-32-65536 --network=projects/${PROJECT}/global/networks/default\r\n\r\ngcloud compute instances create c2 --zone=&amp;quot;us-central1-a&amp;quot; --boot-disk-size=10GB --create-disk=name=c2disk,size=100GB --machine-type=n2-custom-32-65536 --network=projects/${PROJECT}/global/networks/default\r\n\r\ngcloud compute instances create c3 --zone=&amp;quot;us-central1-a&amp;quot; --boot-disk-size=10GB --create-disk=name=c3disk,size=100GB --machine-type=n2-custom-32-65536 --network=projects/${PROJECT}/global/networks/default&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679ec61250&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Then, log in to the client instances and execute following commands to install sysbench and mysqladmin:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;gcloud compute ssh &amp;lt;CLIENT_INSTANCE&amp;gt; --zone us-central1-a&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679ec61ee0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;sudo apt-get --purge remove sysbench\r\n\r\n# check for latest repo here https://dev.mysql.com/downloads/repo/apt/\r\nwget https://repo.mysql.com//mysql-apt-config_0.8.36-1_all.deb\r\n\r\n# command will prompt for selecting the mysql version. Feel free to select any version (8.4 default or change it to 8.0)\r\nsudo apt install ./mysql-apt-config_0.8.36-1_all.deb\r\nsudo apt update\r\nsudo apt -y install make automake libtool pkg-config libaio-dev\r\nsudo apt -y install libssl-dev zlib1g-dev\r\nsudo apt -y install libmysqlclient-dev\r\nsudo apt -y install mysql-community-client-core\r\n\r\nsudo apt -y install git\r\nmkdir ~/sysbench\r\ngit clone https://github.com/akopytov/sysbench\r\ncd sysbench\r\n./autogen.sh\r\n./configure --prefix=$HOME/sysbench/installed\r\nmake -j 16\r\nmake install\r\ncd ~/\r\nrm mysql-apt-config_0.8.36-1_all.deb&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679ec61c40&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;Step 3: Run the benchmarking workload&lt;br/&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Finally, you can run the sysbench write benchmark using the following script:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;mkdir opt-write\r\ncd opt-write\r\n\r\n# TODO: EDIT THE USER/HOST/PASSWORD\r\n\r\n#copy the script and replace the HOST IP address with the database instance ip.\r\nnohup ./write-workload.sh&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679ec61fa0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;#!/bin/bash\r\n\r\n# write-workload.sh\r\n\r\nHOST=HOST_IP_ADDRESS\r\nsysbenchdir=&amp;quot;$HOME/sysbench/installed/&amp;quot;\r\nmysqlclidir=&amp;quot;/usr/bin&amp;quot;\r\nmysqluser=&amp;quot;root&amp;quot;\r\nmysqlpasswd=&amp;quot;pas$w0rd&amp;quot;\r\n\r\nrows=(&amp;quot;12000000&amp;quot;)\r\n\r\nfor (( k=1; k&amp;lt;=4; k+=1 ))\r\ndo\r\n  for row in ${rows[@]};\r\n  do\r\n     #------------\r\n     # step-1: load data\r\n     $mysqlclidir/mysql -u $mysqluser -h $HOST -e &amp;quot;drop database if exists x86; create database if not exists x86;&amp;quot;\r\n     $sysbenchdir/bin/sysbench --threads=100 --mysql-host=$HOST --mysql-port=3306 --mysql-db=x86 --mysql-user=$mysqluser --mysql-password=$mysqlpasswd $sysbenchdir/share/sysbench/oltp_insert.lua --tables=100 --table-size=$row prepare\r\n     $sysbenchdir/bin/sysbench --threads=128 --events=10000000 --time=0 --report-interval=10 --mysql-host=$HOST --mysql-port=3306 --mysql-db=x86 --mysql-user=$mysqluser --mysql-password=$mysqlpasswd $sysbenchdir/share/sysbench/oltp_update_index.lua --tables=100 --table-size=$row run\r\n     sleep 300\r\n\r\n     #------------\r\n     # step-2: start write benchmarking workload\r\n    for (( i=128; i&amp;lt;=512; i*=2 ))\r\n     do\r\n       $sysbenchdir/bin/sysbench --threads=$i --time=3600 --report-interval=10 --mysql-host=$HOST --mysql-port=3306 --mysql-db=x86 --mysql-user=$mysqluser --mysql-password=$mysqlpasswd $sysbenchdir/share/sysbench/oltp_write_only.lua --tables=100 --table-size=$row run\r\n       sleep 120\r\n    done\r\n     $mysqlclidir/mysql -u root -h $HOST -e &amp;quot;drop database if exists x86;&amp;quot;\r\n  done\r\ndone&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f67a0dfd880&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Upon completion, you will observe the throughput and latency results from the three Cloud SQL instances created in Step 1. These results should demonstrate the performance advantages of the Enterprise Plus edition and further improvements brought by optimized writes. Please note that performance outcomes can fluctuate and may vary based on specific machine configurations.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Ready to enable optimized writes?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;All existing and newly created instances have optimized writes enabled by default,&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; so &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/mysql/upgrade-cloud-sql-instance-to-enterprise-plus-in-place"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;upgrade&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; your Cloud SQL instances to Enterprise Plus edition today to experience the performance improvement!&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 05 Jan 2026 18:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/cloud-sql-for-mysql-introduces-optimized-writes/</guid><category>Cloud SQL</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Supercharge your Cloud SQL for MySQL write performance with new optimized writes</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/cloud-sql-for-mysql-introduces-optimized-writes/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Alex Joseph</name><title>Senior Software Engineering Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Somdyuti Paul</name><title>Data Management Specialist</title><department></department><company></company></author></item><item><title>Achieve near-100% accurate text-to-SQL for your agentic apps</title><link>https://cloud.google.com/blog/products/databases/optimizing-alloydb-ai-text-to-sql-accuracy/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Today’s AI capabilities provide a great opportunity to enable natural language (NL) interactions with your enterprise data through applications using text and voice. In fact, in the world of agentic applications, natural language is rapidly becoming the interaction standard. That means agents need to be able to issue natural language questions to a database and receive accurate answers in return. At Google Cloud, this drove us to build &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/how-to-get-gemini-to-deeply-understand-your-database?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Natural-Language-to-SQL (NL2SQL)&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; technology in the AlloyDB database that can receive a question as input and return a NL result, or the SQL query that will help you retrieve it.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_JJQ4McU.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Currently in preview, the &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/natural-language-landing?_gl=1*1upfho8*_ga*NjY0MDA3MDYuMTc2MzUyNzU2Mw..*_ga_WH2QY8WWF5*czE3NjQxMTAwNTgkbzYkZzEkdDE3NjQxMTAyNTEkajI0JGwwJGgw"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI natural language&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; API enables developers to build an agentic application that answers natural language questions on their database data by agents or end users in a &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;secure&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;business-relevant, explainable manner, with accuracy approaching 100% &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;— and we’re focused on bringing this capability to a broader set of Google Cloud databases. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;When we first released the API in 2024, it already provided leading NL2SQL accuracy, albeit not close to 100%. But leading accuracy isn’t enough. In many industries, it’s not sufficient to translate text into SQL with accuracy of 80% or even 90%. Low-quality answers carry a real cost, often measurable in monetary terms: disappointed customers or poor business decisions. A real estate search application that fails to understand what the end user is asking for (their “intent”) risks becoming irrelevant. In retail product search, less relevant answers lead to lower conversions into sales. In other words, the accuracy of the text-to-SQL translation must almost always be extremely high.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;In this blog we help you understand the value of the AlloyDB AI natural language API and techniques for maximizing the accuracy of its answers.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Getting to ~100% accurate and relevant results&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Achieving highly accurate text-to-SQL takes more than just prompting Gemini with a question. Rather, when developing your app, you need to provide AlloyDB AI with &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;descriptive context&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, including descriptions of the database tables and columns; this context can be autogenerated. Then, when the AlloyDB AI natural language API receives a question, it can intelligently retrieve the relevant pieces of descriptive context, enabling Gemini to see how the question relates to the database data.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Still, many of our customers asked us for explainable, certifiable and business-relevant answers that would enable them to reach even higher accuracy, approaching 100% (such as &amp;gt;95% or even higher than 99%), for their use cases.  &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_0eMFqRA.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/natural-language-landing?_gl=1*1upfho8*_ga*NjY0MDA3MDYuMTc2MzUyNzU2Mw..*_ga_WH2QY8WWF5*czE3NjQxMTAwNTgkbzYkZzEkdDE3NjQxMTAyNTEkajI0JGwwJGgw"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;latest preview release&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; of the AlloyDB AI natural language API provides capabilities for improving your answers in several ways:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Business relevance:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;Answers should contain and properly rank information in order to improve business metrics, such as conversions or end-user engagement.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Explainability:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Results should include an&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;explanation of intent that clarifies — in language that end users can understand — what the NL API understood the question to be. For example, when a real estate app interprets the question “Can you show me Del Mar homes for families?” as “Del Mar homes that are close to good schools”, it explains its interpretation to the end user.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Verified results:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;The result should always be consistent with the intent, as it was explained to the user or agent.&lt;/span&gt;&lt;/li&gt;
&lt;li role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Accuracy:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; The result should correctly capture the intent of the question. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;With this, the AlloyDB AI natural language API enables you to progressively improve accuracy for your use case, what’s sometimes referred to as “hill-climbing”. As you work your way towards 100% accuracy, AlloyDB AI’s intent explanations mitigate the effect of the occasional remaining inaccuracies, allowing the end user or agent to understand that the API answered a slightly different question than the one they intended to ask.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;Get started with a 30-day AlloyDB free trial instance&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f679f8de490&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Hill-climbing to approximate 100% accuracy &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Iteratively improving the accuracy of AlloyDB AI happens via a simple workflow.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;First, you start with the NL2SQL API that AlloyDB AI provides out of the box. It’s highly (although not perfectly) accurate thanks to its built-in agent that translates natural language questions into SQL queries,  as well as automatically generated descriptive context that is used by the included agent. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Next, you can quickly iterate to hill-climb to approximately 100% accuracy and business relevance by improving context. Crucially, in the AlloyDB AI natural language API, context comes in two forms: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Descriptive context&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;, &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;which includes table and column descriptions, and &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Prescriptive context, which includes SQL templates and (condition) facets, allowing you to control how the NL request is translated to SQL. &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Finally, a “value index” disambiguates terms (such as SKUs and employee names) that are private to your database, and thus that are not immediately clear to foundation models.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_skwhId4.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="khid8"&gt;The ability to hill-climb to approximate 100% accuracy flexibly and securely relies on two types of context and the value index in AlloyDB.&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Let’s take a deeper look at context and the value index.&lt;/span&gt;&lt;/p&gt;
&lt;p role="presentation"&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;1.&lt;/span&gt;&lt;/strong&gt;&lt;strong style="vertical-align: baseline;"&gt; Descriptive and prescriptive context &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;As mentioned above, the AlloyDB AI natural language API relies on descriptive and prescriptive context to improve the accuracy of the SQL code it generates.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;By improving descriptive context, mostly table and column descriptions, you increase the chances that the SQL queries employ the right tables and columns in the right roles. However, prescriptive context resolves a harder problem: accurately interpreting difficult questions that matter for a given use case. For example, an agentic real-estate application may need to answer a question such as “Can you show me homes near good schools in &amp;lt;provided city&amp;gt;?” Notice the challenges:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;What exactly is “near”?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;How do you define a “good” school?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Assuming the database provides ratings, what is the cutoff for a good school rating?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;What is the optimal tradeoff (for ranking purposes and thus for business relevance of the top results) between distance from the school and ranking of the school when the solutions are presented as a list?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;To help, the AlloyDB natural language API lets you supply &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;templates&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;, which allow you to associate a type of question with a parameterized SQL query and a parameterized explanation. This enables the AlloyDB NL API to accurately interpret natural language questions that may be very nuanced; this makes templates a good option for frequently asked, nuanced questions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;A second type of prescriptive context, &lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;facets,&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; allows you to provide individual SQL conditions along with their natural language counterparts. Facets enable you to combine the accuracy of templates with the flexibility of searching over a gigantic number of conditions. For example, “near good schools” is just one of many conditions. Others may be price, “good for a young family”, “ocean view” or others. Some are combinations of these conditions, such as “homes near good schools with ocean views”. But you can’t have a template for each combination of conditions. In the past, to accommodate all these conditions, you could have tried to create a dashboard with a search field for every conceivable condition, but it would have become very unwieldy, very fast. Instead, when you use a natural language interface, you can use facets to cover any number of conditions, even in a single search field. This is where the strength of a natural language interface really shines! &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The AlloyDB AI natural language API facilitates the creation of descriptive and prescriptive context. For example, rather than providing parameterized questions, parameterized intent explanations, and parameterized SQL, just add a template via the &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;add_template&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; API, in which you provide an example question (“Del Mar homes close to good schools”) and the correct corresponding SQL. AlloyDB AI automatically generalizes this question to handle any city and automatically prepares an intent explanation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. The value index&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The second key enabler of approximate 100% accuracy is the AlloyDB AI &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/docs/ai/use-natural-language-generate-sql-queries#value-index"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;value index&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, which disambiguates terms that are private to your database and, thus, not known to the underlying foundation model. Private terms in natural language questions pose many problems. For starters, users misspell words, and, indeed, misspellings increase with a voice interface. Second, natural language questions don’t always spell out a private term’s entity type. For instance, a university administrator may ask “How did John Smith perform in 2025?” without specifying whether John Smith is faculty or a student; each case requires a different SQL query to answer the question. The value index clarifies what kind of entity “John Smith” is, and can be automatically created by AlloyDB AI for your application.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Natural language search over structured, unstructured and multimodal data &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;When it comes to applications that provide search over structured data, the AlloyDB AI natural language API enables a clean and powerful search experience. Traditionally, applications present conditions as filters in the user interface that the end user can employ to narrow their search. In contrast, an NL-enabled application can provide a simple chat interface or even take voice commands that directly or indirectly pose any combination of search conditions, and still answer the question. Once search breaks free from the limitations of traditional apps, the possibilities for completely new user experiences really open up.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;The combination of the NL2SQL technology with &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/docs/ai/evaluate-semantic-queries-ai-operators"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI search features&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; also makes it good for querying combinations of structured, unstructured and multimodal data.The AlloyDB AI natural language API can generate SQL queries that include &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/alloydb-ai-auto-vector-embeddings-and-auto-vector-index"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;vector search&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;, text search and other AI search features such as the AI.IF condition, which enables checking semantic conditions on text and multimodal data. For example, our real estate app may be asked about “Del Mar move-in ready houses”. This would result in a SQL query with an &lt;/span&gt;&lt;a href="http://ai.if" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI.IF&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; function that checks whether the text in the &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;description&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; column of the &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;real_estate.properties &lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;table is similar to “move-in ready”.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="vertical-align: baseline;"&gt;Bringing the AlloyDB AI natural language API into your agentic application &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Ready to integrate the AlloyDB AI natural language API into your agentic application? If you’re writing AI tools (functions) to retrieve data from AlloyDB, give &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/mcp-toolbox-for-databases-now-supports-model-context-protocol"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;MCP Toolbox for Databases&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; a try. Or for no-code agentic programming, you can use &lt;/span&gt;&lt;a href="https://cloud.google.com/gemini-enterprise"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;. For example, you can create a conversational agentic application that uses Gemini to answer questions from its knowledge of the web and the data it draws from your database — all without writing a single line of code! Either way, we look forward to seeing what you build.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 18 Dec 2025 18:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/products/databases/optimizing-alloydb-ai-text-to-sql-accuracy/</guid><category>AI &amp; Machine Learning</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Achieve near-100% accurate text-to-SQL for your agentic apps</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/products/databases/optimizing-alloydb-ai-text-to-sql-accuracy/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yannis Papakonstantinou</name><title>Distinguished Engineer</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Reza Sherkat</name><title>Staff Software Engineer, Databases, Google Cloud</title><department></department><company></company></author></item></channel></rss>