> Canonical URL: https://codingcat.dev/post/firebase-2025-04-dataconnect-general-availability

# Data Connect is now generally available! in Firebase: Web Architecture & Implementation Guide

![CodingCat.dev tutorial cover image](https://cdn.sanity.io/images/hfh83o0w/production/7037330592521f4a8611bcb144f70b54d46ca794-1200x630.svg?w=1200&q=82&fit=max&auto=format)[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)April 10, 2025

For years, choosing Firebase meant trading away relational SQL joins, strict foreign keys, and pgvector similarity search in favor of NoSQL document denormalization. Following the announcement of **Data Connect is now generally available!**  by Andrea Wu on the [**Official Firebase Blog**](https://firebase.blog/posts/2025/04/dataconnect-general-availability/) (2025-04-09), here is our hands-on CodingCat.dev breakdown of what actually shipped, how it works under the hood, and how we wire it into production TypeScript, Next.js, Astro, SvelteKit, React, and Angular applications. Note: Firebase Data Connect has been renamed to SQL Connect. Learn more in the SQL Connect announcement.

## The Mental Model: Why Data Connect is now generally available! Matters for Web Devs

As a Google Developer Expert (GDE) for Firebase and Senior Solutions Engineer at CodingCat.dev, I evaluate every Firebase update through one lens: does it reduce boilerplate while keeping our runtime security and cloud bills predictable? Firebase Data Connect bridges that gap by pairing a managed Google Cloud SQL for PostgreSQL instance with a declarative GraphQL schema compiler that automatically generates type-safe TypeScript, React, and Angular SDKs alongside server-enforced @auth directives.

> AJ Pro-Tip from Alex: Keep your authorization logic inside your Data Connect GraphQL operations using @auth(level: USER) and server-evaluated expressions like auth.uid and request.time rather than trusting client-supplied user IDs in query variables.

## How It Works: Technical Breakdown & Implementation

Data Connect is a backend-as-a-service powered by a Cloud SQL Postgres database that’s high performance, scalable, and secure. You provide your app’s data model through a GraphQL-based schema, and Data Connect creates secure endpoints and typesafe SDKs to access your data. You’ll also define how to access and update data, and Data Connect does the rest for you - no need to define your own resolvers which is necessary in GraphQL services.

You can build rich queries with relational joins, complex conditions, and even semantic vector search that are as secure as hand-coded server endpoints. Vector search and an integration with [**Vertex AI**](https://cloud.google.com/vertex-ai) enables out-of-the-box RAG (retrieval augmented generation) flows. Also, just like the rest of the Firebase ecosystem, Data Connect is well-integrated with other Firebase services like [**Firebase Auth**](https://firebase.google.com/docs/auth).

the team has been hard at work creating additional features and in this blog post, we’ll cover a few of those below:

- Gemini in Firebase for schema design in the Firebase console
- Support for connecting to existing Cloud SQL databases
- Newly supported web frameworks: Angular and React

### Gemini code assist

Before, you could already use Gemini in Firebase to write queries and mutations for your app. Now, you can use it to write your schemas! Tell Gemini what you would like to build, and it writes the schemas for you. You can use this new feature in the Firebase console.

### More Query and Mutation Features

When you have a lot of data, you might need to perform calculations on a list of results. Aggregate fields let you do so, and for each field in your type, Data Connect generates corresponding aggregate fields depending on the field type.

Data Connect supports the following aggregations:

- `_count`: returns the number of rows that match your query
- All fields have a `_count` field, which counts how many rows have a non-null value in that field
- Numeric fields (`int`, `float`, `int64`) have `_min`, `_max`, `_sum`, and `_avg`
- Date and timestamp fields have `_min` and `_max`.
- `distinct` argument: get all unique values for a field (or combo of fields). You can also use `distinct` on aggregate fields to instead aggregate the distinct values.
- Grouped aggregates: selecting a mix of aggregate and non-aggregate fields results in aggregate results grouped by the non-aggregate fields. `where` and `having` arguments return only groups that meet the provided criteria. `where` lets you filter rows based on non-aggregate fields and `having` lets you filter groups by aggregate fields.

To learn more about aggregate fields and see examples, check out the [**documentation**](https://firebase.google.com/docs/data-connect/schemas-queries-mutations#aggregation_queries).

To ensure data consistency and prevent race conditions - especially in collaborative or high-traffic applications, Data Connect now has atomic operations that let you manage counters, lists, and other data structures:

- `inc` increments the field by the specified amount.
- `dec` decrements the field by the specified amount.
- `prepend` adds to the start of a list.

To learn more about atomic data modifications and see examples, check out the [**documentation**](https://firebase.google.com/docs/data-connect/schemas-queries-mutations#perform-updates).

### Connect to Existing Cloud SQL Databases

We know that you might already be using Cloud SQL databases. Now through the Firebase CLI, you can connect existing Cloud SQL databases to Data Connect.

- give Data Connect control over the database to run migrations
- connect in brownfield mode, in which you need to apply SQL changes yourself, then use the CLI to deploy the connector

In both cases, you write the corresponding GraphQL schema and implement the operations for your connector. In other words, Data Connect doesn’t create GraphQL from your existing database.

To learn more, check out the [**documentation**](https://firebase.google.com/docs/data-connect/manage-services-and-databases#integrate-existing-databases).

### Angular and React Support

As you design the schemas, queries, and mutations and deploy them to the Data Connect service, Data Connect automatically [**generates custom SDKs**](https://firebase.blog/posts/2024/12/dataconnect-generated-sdks) for you to use in your client logic. These SDKs let you call server-side [**queries and mutations**](https://firebase.google.com/docs/data-connect/schemas-queries-mutations) directly from a Firebase app.

Back in February, we [**announced**](https://firebase.blog/posts/2025/02/fdc-whats-new) support for React, letting you generate [**React SDKs**](https://firebase.google.com/docs/data-connect/web-sdk#react) for your projects with bindings powered by TanStack Query to integrate your GraphQL operations into your [**React-based apps**](https://idx.google.com/new/dataconnect).

Now, The Firebase team announced support for Angular as well! You first need to install the dependencies, and then Data Connect will automatically generate Angular SDKs. You can then use these SDKs for queries and mutations in your Angular app.

To learn more and see examples, check out the [**documentation**](https://firebase.google.com/docs/data-connect/web-sdk#react-angular).

### Try the new Android and iOS Codelabs

With the Data Connect [**web codelab**](https://firebase.google.com/codelabs/firebase-dataconnect-web#0) out there for web users, we definitely didn’t want to leave the fun out for our Android and iOS users! The Firebase team announced the new [**Android**](https://firebase.google.com/codelabs/firebase-dataconnect-android) and [**iOS**](https://firebase.google.com/codelabs/firebase-dataconnect-ios) codelabs, designed to help you walk through implementation of a fully functioning mobile app using Data Connect.

### Pricing Updates

With Data Connect now generally available, it will transition to its GA pricing structure. At a high level, Data Connect consists of two billable components: the Data Connect service itself and the PostgreSQL instance on Cloud SQL that contains your project data.

The cost for the Data Connect service is:

- no cost for network egress up to 10 GiB/month, and then it will follow [**Google Cloud Internet Data Transfer Rate Premium Tier pricing**](https://cloud.google.com/vpc/pricing#internet_egress). There may be potential additional costs that you can read about in the documentation - but the good news is network egress is only charged once for data going out of your database
- no cost for operations (queries and mutations) up to 250k operations per month, and then the cost is $4.00 per 1M operations

The cost for the PostgreSQL instance on Cloud SQL is a no-cost trial for 3 months, then permanent costs as low as $9.37 per month that follows [**Google Cloud pricing**](https://cloud.google.com/sql/docs/postgres/pricing).

Additionally, if you use Data Connect for [**vector similarity search**](https://firebase.google.com/docs/data-connect/solutions-vector-similarity-search), you need to integrate [**Vertex AI**](https://cloud.google.com/vertex-ai)’s [**Embeddings API**](https://cloud.google.com/vertex-ai/generative-ai/docs/embeddings/get-text-embeddings). As such, there will be associated costs for [**embedding generation**](https://cloud.google.com/vertex-ai/generative-ai/pricing#embedding-models).

To learn more, check out the [**documentation**](https://firebase.google.com/docs/data-connect/pricing).

### Try out Data Connect!

To learn more about Data Connect, here are some resources:

- [**documentation**](https://firebase.google.com/docs/data-connect) (along with [**one-liner setup**](https://firebase.google.com/docs/data-connect/quickstart-local#set_up_the_development_environment))
- [**web**](https://github.com/firebase/quickstart-js/tree/master/dataconnect), [**Android**](https://github.com/firebase/quickstart-android/tree/master/dataconnect), [**iOS**](https://github.com/firebase/data-connect-ios-sdk/tree/main/Examples/FriendlyFlix), [**Dart**](https://github.com/firebase/quickstart-flutter/tree/main/data_connect) quickstarts to get a sample app up and running
- [**web**](https://firebase.google.com/codelabs/firebase-dataconnect-web), [**Android**](https://firebase.google.com/codelabs/firebase-dataconnect-android), [**iOS**](https://firebase.google.com/codelabs/firebase-dataconnect-ios) codelabs with step-by-step walkthroughs and explanations to create a movie app
- [**blog post series**](https://firebase.blog/posts/2024/10/dataconnect-series-announce) deep-diving into various Data Connect topics

## Show Me the Code: TypeScript & Web SDK Setup

Here is the production baseline pattern we use at CodingCat.dev when wiring Data Connect is now generally available! into a modern TypeScript web application:

```
# Firebase Data Connect Schema & Type-Safe Web Query
type Project @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  ownerUid: String! @default(expr: "auth.uid")
  createdAt: Timestamp! @default(expr: "request.time")
}

query ListUserProjects @auth(level: USER) {
  projects(where: { ownerUid: { eq_expr: "auth.uid" } }, orderBy: [{ createdAt: DESC }]) {
    id
    title
    createdAt
  }
}
```

## Production Web Architecture & Security Checklist

Whether we are deploying on [**Firebase App Hosting**](https://firebase.google.com/docs/app-hosting), Cloudflare Workers, or Vercel, shipping AI features to production requires defense-in-depth across three layers:

- **Enforce Firebase App Check & Attestation: ** Protect your web endpoints, Cloud Functions, Data Connect GraphQL resolvers, and Firebase AI Logic calls against unauthorized replay or billing abuse using [**Firebase App Check with reCAPTCHA Enterprise**](https://firebase.google.com/docs/app-check).
- **Validate Locally with the Firebase Emulator Suite: ** Run deterministic integration tests against local Firestore, Auth, Functions, and Data Connect PostgreSQL emulators before promoting schema or rule changes to production.
- **Keep Server & Client Boundaries Type-Safe: ** Use the modular Firebase Web SDK and generated TypeScript bindings so SSR frameworks like Next.js, Astro, SvelteKit, and Angular serialize state cleanly without hydration flickers.

## Conclusion

Accelerate your full-stack web and AI development by pairing **Data Connect is now generally available!**  with strict Security Rules, Firebase App Check, and local emulator testing. Come tell us on [**X (@CodingCatDev)**](https://x.com/CodingCatDev) and [**LinkedIn (CodingCat.dev)**](https://www.linkedin.com/company/codingcatdev) how you are using Firebase in your stack, and subscribe to the [**CodingCat.dev YouTube Channel**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1) so you don't miss what we build next!

## Watch Our Related Firebase Video Tutorial on YouTube

Want to see how we architect and debug Firebase web applications live? Watch our related CodingCat.dev session [**Firebase SQL with Data Connect**](https://youtu.be/N25khadfUag) below, and make sure to [**Subscribe to CodingCat.dev on YouTube**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1) for weekly full-stack web and AI deep dives:

## Resources, Official Docs & Related CodingCat.dev Guides

- **Primary Release Source: ** [Data Connect is now generally available! on the Official Firebase Blog](https://firebase.blog/posts/2025/04/dataconnect-general-availability/) (published 2025-04-09 by Andrea Wu)
- **Official Firebase Documentation: ** [Firebase Developer Docs & Web SDK Reference](https://firebase.google.com/docs/web/setup)
- **Related on CodingCat.dev: [What's new in Firebase at Cloud Next 2025](/post/firebase-2025-04-cloud-next-announcements)**
- **Related on CodingCat.dev: [Announcing Genkit for Python and Go](/post/firebase-2025-04-genkit-python-go)**
- **Related on CodingCat.dev: [Firebase SQL with Data Connect](/podcast/firebase-sql-with-data-connect)**
- **Related on CodingCat.dev: [Build a Custom No-Code App in 90 Minutes](/podcast/build-a-custom-no-code-app-in-90-minutes)**

## Frequently Asked Questions (FAQ)

### What are the key capabilities introduced in Data Connect is now generally available!?

Data Connect is now generally available! (announced 2025-04-09 by the Firebase team) enhances the platform for Firebase, Google Cloud, Web Dev, AI, SQL, React, Angular, TypeScript, Security workloads. Note: Firebase Data Connect has been renamed to SQL Connect. Learn more in the SQL Connect announcement. Developers can review the primary announcement on the [**Firebase Blog**](https://firebase.blog/posts/2025/04/dataconnect-general-availability/) alongside our implementation patterns and production checklist above.

### How do web developers use Data Connect is now generally available! with Next.js, SvelteKit, React, or Angular?

Web developers can integrate these features using the modular Firebase JavaScript/TypeScript SDK, Firebase Data Connect web bindings, and [**Firebase App Hosting**](https://firebase.google.com/docs/app-hosting). Always pair client-side SDK initialization with Firebase App Check and strict Security Rules, and test locally with the Firebase Local Emulator Suite before deploying.

### Where can I watch video tutorials on Firebase Web and AI development?

You can watch our hands-on Firebase video walkthroughs on the [**CodingCat.dev YouTube Channel**](https://www.youtube.com/@CodingCatDev?sub_confirmation=1), including [**Firebase SQL with Data Connect**](https://youtu.be/N25khadfUag), and follow us on [**X (@CodingCatDev)**](https://x.com/CodingCatDev) for weekly full-stack tutorials.

## Recent Posts

[View More](/blog/page/1)[![PHP2Shell (CVE-2026-109618): How AI Found a Decade-Old Bug in 70% of the Web](https://cdn.sanity.io/images/hfh83o0w/production/e83065d0a4e2f841ce64d3f4aea8ddbbf07e5cb9-1376x768.jpg?w=1376&q=82&fit=max&auto=format)](/post/php2shell-cve-2026-109618-ai-php-security-scramble)

### [PHP2Shell (CVE-2026-109618): How AI Found a Decade-Old Bug in 70% of the Web](/post/php2shell-cve-2026-109618-ai-php-security-scramble)

October 22, 2026

Two critical pre-authentication RCE flaws in PHP (CVE-2026-109618 and CVE-2026-109619), uncovered by AI models from OpenAI and Google Gemini, sparked a global patching scramble across 70% of the web. Here is how PHP2Shell works and how to patch your servers.

[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)[![Sanity Knowledge Bases](https://cdn.sanity.io/images/hfh83o0w/production/38b0f021c51d97043c8a1ebf31d505a0ea877b7c-2752x1536.jpg?w=1920&q=82&fit=max&auto=format)](/post/sanity-knowledge-bases)

### [Sanity Knowledge Bases](/post/sanity-knowledge-bases)

October 17, 2026

Eliminate query-time guessing in your AI agents. Learn how Sanity Context Knowledge Bases compile structured datasets, crawled documentation websites, and uploaded files ahead of time, resolve conflicting facts, and serve a compact outline over Context MCP.

[![Alex Patterson](https://cdn.sanity.io/images/hfh83o0w/production/a606dfaa381aab08ddbe16a33fe1d3e1fb37c927-400x400.jpg?w=96&h=96&q=82&fit=max&auto=format)Alex Patterson](/author/alex-patterson)