1. Introduzione
La codifica Vibe ha rivoluzionato la velocità e il modo in cui sviluppiamo i frontend, ma spesso si blocca quando raggiunge il database. Tradizionalmente, gli sviluppatori devono cambiare contesto, scrivere schemi SQL complessi, gestire i pool di connessioni e configurare manualmente le estensioni del database.
In questo codelab sperimenterai un flusso di lavoro di sviluppo di database conversazionale e senza problemi. Utilizzando Model Context Protocol (MCP) e un IDE agentico, tratterai il tuo editor come un esperto Data Engineer, passando da una semplice idea a un'applicazione di database completamente connessa, ottimizzata e abilitata all'AI in pochi minuti, il tutto senza uscire dal tuo spazio di lavoro.
Cosa creerai
In questo codelab, creerai e implementerai una guida gastronomica basata sull'AI, una moderna applicazione Next.js supportata da AlloyDB. L'applicazione supporterà:
- Importazione dinamica del catalogo: importazione e strutturazione automatiche dei dati dei ristoranti da file CSV non elaborati.
- Ricerca basata su parole chiave: esecuzione di query dinamiche sul database utilizzando la ricerca a testo intero.
- Ricerca semantica basata sull'AI: trova ristoranti descrivendo l'atmosfera (ad es. "posto accogliente per un appuntamento" o "spuntino veloce a tarda notte") utilizzando gli incorporamenti di Agent Platform.

Obiettivi didattici
- Provisioning di un'istanza Google Cloud AlloyDB con configurazioni di rete VPC e IP pubblico.
- Connessione di Antigravity IDE direttamente ad AlloyDB utilizzando Model Context Protocol (MCP) Toolbox.
- Collegamento di un frontend Next.js a un database live utilizzando variabili di ambiente e connessioni SSL sicure.
- Attivazione dell'integrazione di Agent Platform nel database per generare vector embedding utilizzando text-embedding-004.
- Esecuzione della ricerca di similarità vettoriale utilizzando l'operatore di distanza del coseno (<=>).
- Ottimizzazione delle prestazioni del database per la scalabilità della produzione utilizzando l'indicizzazione HNSW e il partizionamento delle tabelle, fungendo da DBA virtuale.
Che cosa ti serve
Per completare questo codelab, ti serviranno:
- Antigravity installato sulla tua macchina locale.
- Google Cloud CLI (gcloud) e Git installati e autenticati sulla tua macchina locale.
- Un progetto Google Cloud con la fatturazione abilitata.
- Un browser web (Chrome è consigliato).
Questo codelab è pensato per sviluppatori di tutti i livelli, inclusi i principianti.
2. Prima di iniziare
Questa sezione ti guida nella configurazione iniziale richiesta nel tuo progetto Google Cloud prima di poter iniziare a creare la guida gastronomica AI di Berlino.
Creare un progetto
- Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
- Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto .
Installare i prerequisiti locali
Assicurati di aver installato i seguenti strumenti sulla tua macchina locale:
- Antigravity 2.0: installa Antigravity
- Git: scarica e installa Git.
- Google Cloud CLI: scarica e installa gcloud.
Configurare Antigravity 2.0
La prima volta che avvii Antigravity 2.0, ti verrà chiesto di inserire l'ID progetto Google Cloud del passaggio precedente.
Inserisci l'ID progetto per inizializzare il workspace:

Configurare e aprire Antigravity IDE
Installeremo e apriremo Antigravity IDE sulla nostra macchina locale per poter eseguire i comandi del terminale
- Nell'interfaccia di Antigravity 2.0, individua e fai clic sull'opzione per Installare Antigravity IDE (nell'angolo in alto a destra).

- Quando viene visualizzato il prompt di download e installazione, segui la procedura guidata di installazione utilizzando le impostazioni predefinite.
- Al termine dell'installazione, avvia Antigravity IDE.
Clona il repository ed esegui l'autenticazione con Google Cloud
Eseguirai tutte le istruzioni della riga di comando direttamente all'interno dell'IDE.
- Apri l'IDE Antigravity sulla tua macchina locale.
- Apri il terminale di Antigravity e clona il repository del progetto:
git clone https://github.com/mtoscano84/vibe-coding-postgres-mcp.git
- Apri la cartella del progetto:
- Vai a File > Apri cartella (o Apri…).
- Vai alla cartella vibe-coding-postgres-mcp appena clonata e selezionala.
- Una volta aperta la cartella del progetto, avvia un nuovo terminale integrato nell'IDE Antigravity. Imposta la variabile di ambiente PROJECT_ID e configura gcloud CLI in modo da utilizzarla (sostituisci [YOUR_PROJECT_ID] con l'ID progetto Google Cloud effettivo):
export PROJECT_ID=[YOUR_PROJECT_ID]
gcloud config set project $PROJECT_ID
- Accedi a Google Cloud CLI:
gcloud auth login
- Accedi alle Credenziali predefinite dell'applicazione (ADC): (in questo modo viene creato il file delle credenziali locali richiesto dai nostri connettori di database AI e MCP più avanti nel lab)
gcloud auth application-default login
- Verifica il tuo account attivo:
gcloud auth list
Abilita le API richieste
Esegui questo comando nel terminale Antigravity per abilitare i servizi Google Cloud necessari:
gcloud services enable alloydb.googleapis.com \
compute.googleapis.com \
servicenetworking.googleapis.com \
aiplatform.googleapis.com \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com
3. Crea l'istanza AlloyDB
In questa sezione, eseguirai uno script automatico nel terminale Antigravity per eseguire il provisioning del cluster e dell'istanza AlloyDB in Google Cloud
Nel terminale integrato Antigravity IDE attivo (che si trova già nella directory del progetto vibe-coding-postgres-mcp), esegui lo script di provisioning di AlloyDB:
source database/deploy_alloydb.sh --region us-central1 --public-ip
Nota:il processo di provisioning richiede circa 10-15 minuti.
Lo script di provisioning:
- Crea una rete VPC denominata default (se non esiste nel tuo progetto).
- Configura l'accesso privato ai servizi per AlloyDB.
- Esegui il deployment di un cluster AlloyDB e di un'istanza principale con IP privato e IP pubblico abilitati.
- Concedi le autorizzazioni necessarie della piattaforma dell'agente al service agent AlloyDB.
L'output dovrebbe essere simile al seguente:
----------------------------------------
Deployment Process Completed
Cluster: alloydb-aip-01 (STANDARD)
Instance: alloydb-aip-01-pr
Region: us-central1
Private IP: XX.XX.XX.XX
Public IP: XX.XX.XX.XX
Initial Password: XXXXXXXXXX (if new cluster)
----------------------------------------
Assicurati di copiare e salvare questi dettagli:
- IP privato AlloyDB: utilizzato dall'applicazione Cloud Run per connettersi in modo sicuro all'interno del VPC.
- IP pubblico per AlloyDB: utilizzato dall'IDE Antigravity locale per connettersi direttamente.
- Password database: la password generata automaticamente per l'utente postgres.
4. Esegui il deployment del frontend
In questa sezione, eseguirai il deployment del frontend Next.js di base (stato 0) su Google Cloud Run utilizzando il terminale integrato di Antigravity IDE. Questa versione iniziale utilizza dati simulati e non si connette ancora al database.
Innanzitutto, esegui i seguenti comandi direttamente nel terminale Antigravity per concedere i ruoli IAM necessari al service account predefinito di Compute Engine:
PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
# Grant Storage Object Viewer (to read source code)
gcloud projects add-iam-policy-binding $(gcloud config get-value project) \
--member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \
--role="roles/storage.objectViewer"
# Grant Log Writer (to write build logs)
gcloud projects add-iam-policy-binding $(gcloud config get-value project) \
--member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \
--role="roles/logging.logWriter"
# Grant Artifact Registry Writer (to push container images)
gcloud projects add-iam-policy-binding $(gcloud config get-value project) \
--member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \
--role="roles/artifactregistry.writer"
Dalla radice della directory vibe-coding-postgres-mcp nel terminale Antigravity, esegui questo comando per compilare ed eseguire il deployment dell'applicazione Next.js nella tua rete VPC:
gcloud run deploy berlin-gastronomy-guide \
--source frontend/ \
--network=default \
--subnet=default \
--allow-unauthenticated \
--region=us-central1
Una volta completato il deployment, verrà stampato l'URL del servizio.
Building using Dockerfile and deploying container to Cloud Run service [berlin-gastronomy-guide] in project [vibe-coding-postgres-mcp] region [us-central1]
Building and deploying...
Validating configuration...done
Uploading sources...done
Building Container... Logs are available at [ https://console.cloud.google.com/cloud-build/builds;region=us-central1/46a6e834-d5e9-4dfd-885e-d39e2790f72d?project=734791203988 ]....done
Setting IAM Policy...done
Creating Revision...done
Routing traffic...done
Done.
Service [berlin-gastronomy-guide] revision [berlin-gastronomy-guide-00002-n6k] has been deployed and is serving 100 percent of traffic.
Service URL: https://berlin-gastronomy-guide-[YOUR_PROJECT_NUMBER].us-central1.run.app
Copia l'URL e aprilo nel browser.
Verifica che venga visualizzata la pagina web della Guida gastronomica di Berlino basata sull'AI che mostra le schede dei ristoranti fittizi.

5. Connettere Antigravity a Google Cloud
Per consentire all'agente AI nel tuo IDE (Antigravity) in esecuzione in locale di interagire con il database, utilizzeremo il server MCP AlloyDB di Google Cloud ufficiale.
Poiché abbiamo abilitato l'IP pubblico sull'istanza AlloyDB durante il provisioning, il tuo IDE locale può connettersi direttamente a internet. La connessione è protetta tramite SSL e autenticazione con password e il server MCP utilizza le tue credenziali Google Cloud locali per autorizzare la connessione.
Configura il server MCP in Antigravity
- Nell'IDE Antigravity, fai clic sul menu con tre puntini (...) nell'angolo in alto a destra della finestra della chat.
- Seleziona Server MCP, quindi fai clic su Server MCP gestiti (o Visualizza configurazione non elaborata / Modifica file di configurazione).
- Aggiungi il seguente blocco JSON all'interno dell'oggetto mcpServers. Assicurati di sostituire [YOUR_PROJECT_ID] e [YOUR_ALLOYDB_PASSWORD] con l'ID progetto effettivo e la password del database che hai salvato nel passaggio di provisioning di AlloyDB:
"alloydb-postgres": {
"command": "npx",
"args": [
"-y",
"@toolbox-sdk/server@latest",
"--prebuilt",
"alloydb-postgres",
"--stdio"
],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "[YOUR_PROJECT_ID]",
"ALLOYDB_POSTGRES_REGION": "us-central1",
"ALLOYDB_POSTGRES_CLUSTER": "alloydb-aip-01",
"ALLOYDB_POSTGRES_INSTANCE": "alloydb-aip-01-pr",
"ALLOYDB_POSTGRES_DATABASE": "postgres",
"ALLOYDB_POSTGRES_USER": "postgres",
"ALLOYDB_POSTGRES_PASSWORD": "[YOUR_ALLOYDB_PASSWORD]"
}
}
- Salvare il file di configurazione
- L'IDE avvierà automaticamente il server MCP. Dovresti vedere un punto verde accanto ad alloydb-postgres nel pannello MCP, a indicare che la connessione è riuscita.
Apri il repository in Antigravity 2.0
Per il resto di questo lab, scriveremo e creeremo la nostra applicazione utilizzando Antigravity 2.0.
- Torna ad Antigravity 2.0 e apri la cartella del progetto che hai appena clonato.
- Fai clic su Nuova conversazione > Nuovo progetto > Aggiungi cartella.
- Vai alla cartella vibe-coding-postgres-mcp appena clonata e selezionala.
- Ora vedrai l'interfaccia dell'agente all'interno di Antigravity 2.0 che punta direttamente allo spazio di lavoro clonato, pronto per la codifica.

6. Vibe Coding: importazione del database
Ora che Antigravity è connesso all'istanza AlloyDB tramite il server MCP, puoi iniziare l'esperienza di codifica delle vibrazioni.
In questo passaggio, chiederai all'agente AI di leggere un file CSV locale contenente il catalogo della gastronomia di Berlino e di caricarlo nel tuo database AlloyDB.
L'attività
Utilizzerai la chat dell'agente in Antigravity. L'agente leggerà autonomamente il file, analizzerà i tipi di dati, si connetterà al database, creerà la tabella e inserirà i record.
Quindi, copia e incolla il seguente prompt nella chat e premi Invio:
Read the headers of database/seed_data_berlin.csv. Connect to the database via the MCP tool, create a table named restaurants with the correct data types, and load all the records from the CSV file into it.
Osserva l'agente mentre esegue l'attività:
- leggerà prima le intestazioni del file CSV e alcune righe di esempio per determinare lo schema appropriato.
- Verrà chiamato lo strumento MCP di AlloyDB per creare la tabella dei ristoranti.
- Inserirà in batch i 100 record di ristoranti dal file CSV nel database.
Verifica
Una volta che l'agente ti comunica di aver terminato, puoi verificare che i dati siano stati caricati:
Nella chat con l'agente, chiedi:
Show me the first 5 records from the restaurants table.
L'agente eseguirà una query sul database e mostrerà i primi 5 ristoranti (ad esempio Pub Lia's Kitchen e Cafe Clärchens), confermando che l'importazione del database è andata a buon fine.
7. Vibe Coding: Connect Frontend to Database
In questa sezione collegherai il frontend Next.js al tuo database AlloyDB live. Chiederai all'agente di sostituire i dati simulati con una query di database in tempo reale e di implementare la ricerca per parole chiave.
L'attività
Chiederai all'agente di scrivere il codice di connessione e aggiornare la home page. Poiché abbiamo eseguito il commit della regola SSL del database in .agents/AGENTS.md, l'agente configurerà automaticamente il pool di connessioni per utilizzare SSL per le connessioni cloud senza che tu debba specificarlo nel prompt.
Nella chat di Antigravity Agent, copia e incolla il seguente prompt e premi Invio (sostituisci [YOUR_PASSWORD] con la password effettiva del database):
Connect our Next.js frontend to the restaurants table in the database using the pg library. Use a connection pool configured with environment variables: DB_HOST, DB_USER (postgres), DB_PASS (password is '[YOUR_PASSWORD]'), and DB_NAME (postgres). Replace the mock data in page.tsx with a live query, and implement keyword search on the name, category, and description
Osserva l'agente mentre esegue l'attività:
- Verranno installati il pacchetto pg e i relativi tipi TypeScript (@types/pg).
- Verrà creato un file di connessione al database (o un'azione server Next.js) e verrà configurato il pool di connessioni.
- Leggerà le regole di AGENTS.md e aggiungerà automaticamente la configurazione SSL per gli host non locali.
- Verrà riscritto page.tsx per eseguire query sul database e filtrare i risultati in base alla query di ricerca.
Verifica
Per testare le modifiche, devi eseguire nuovamente il deployment del frontend in Cloud Run. Poiché utilizziamo il flusso "Solo cloud", il nuovo codice viene spedito in questo modo.
Apri il terminale integrato in Antigravity IDE (assicurati di trovarti nella directory principale).
Esegui il comando di deployment, passando l'IP privato e la password di AlloyDB come variabili di ambiente (sostituisci i segnaposto con i tuoi valori effettivi):
gcloud run deploy berlin-gastronomy-guide \
--source frontend/ \
--network=default \
--subnet=default \
--set-env-vars="DB_HOST=[YOUR_ALLOYDB_PRIVATE_IP],DB_USER=postgres,DB_PASS=[YOUR_PASSWORD],DB_NAME=postgres" \
--allow-unauthenticated \
--region=us-central1
Una volta completato il deployment, apri l'URL del servizio nel browser.
Prova a cercare "Burgermeister" o "Kebab". Dovresti visualizzare i ristoranti reali caricati dal database.
Nota che le schede dei ristoranti ora mostrano le immagini GCS effettive (poiché i record del database contengono gli URL GCS pubblici che abbiamo caricato in precedenza).
8. Vibe Coding: abilita la ricerca semantica
In questa sezione, eseguirai l'upgrade dell'applicazione per supportare la ricerca vettoriale semantica basata sull'AI. Invece di cercare solo parole chiave esatte, gli utenti potranno cercare descrivendo l'atmosfera o l'esperienza che stanno cercando (ad es. "ristorante per una cena romantica" o "qualcosa di veloce da mangiare dopo la discoteca").
L'attività
Chiederai all'agente di abilitare la ricerca semantica nella tabella dei ristoranti. L'agente sfrutterà la competenza personalizzata add-vector-search-alloydb nel repository per gestire automaticamente le estensioni del database, la registrazione del modello della piattaforma dell'agente, la generazione di incorporamenti e gli aggiornamenti delle query.
Nella chat dell'agente Antigravity, copia e incolla il seguente prompt e premi Invio:
Upgrade our database to support Semantic Vector Search on the restaurants table based on the description column. Then, update our frontend search query to use vector similarity search.
Osserva l'agente mentre esegue l'attività:
- Si connetterà ad AlloyDB e attiverà le estensioni vector (pgvector) e google_ml_integration.
- Registrerà il modello di embedding Agent Platform (text-embedding-004) all'interno del database.
- Verrà aggiunta una nuova colonna di incorporamento alla tabella dei ristoranti.
- Eseguirà una query nel database per generare gli incorporamenti per tutte le 100 descrizioni dei ristoranti.
- Aggiornerà il codice frontend per generare un embedding per la query di ricerca dell'utente ed eseguire una ricerca di similarità vettoriale utilizzando l'operatore di distanza del coseno (<=>).
Verifica
Esegui nuovamente il deployment del codice aggiornato su Cloud Run.
Nel terminale integrato dell'IDE Antigravity, esegui il comando di deployment (sostituisci i segnaposto con i tuoi valori effettivi):
gcloud run deploy berlin-gastronomy-guide \
--source frontend/ \
--network=default \
--subnet=default \
--set-env-vars="DB_HOST=[YOUR_ALLOYDB_PRIVATE_IP],DB_USER=postgres,DB_PASS=[YOUR_PASSWORD],DB_NAME=postgres" \
--allow-unauthenticated \
--region=us-central1
Una volta completato il deployment, apri l'URL del servizio nel browser.
Prova la ricerca semantica inserendo una descrizione in linguaggio naturale, ad esempio:
- "un ristorante romantico"
- "quick bite after clubbing" (spuntino veloce dopo la discoteca)
Nota che vengono restituiti ristoranti molto pertinenti (come il Cafe Clärchens o il Burgermeister) anche se le parole esatte "romantico" o "serata in discoteca" non sono presenti nel nome o nella descrizione.
9. Vibe Coding: ottimizzazione del database
Man mano che l'applicazione cresce, il database deve essere ottimizzato per gestire grandi volumi di dati (oltre 100.000 righe) e un traffico di ricerca simultaneo elevato. In questo passaggio finale, tratterai l'agente come un amministratore di database virtuale (DBA) per analizzare e ottimizzare lo schema del database.
L'attività
Chiederai all'agente di agire in qualità di architetto di database principale, analizzare lo schema attuale e consigliare ottimizzazioni. Una volta esaminati e approvati i consigli, l'agente utilizzerà la sua competenza personalizzata optimize-database-alloydb per applicarli automaticamente.
Act as a Principal Database Architect. Our semantic search is working, but we need to optimize the database for production scale. Analyze our current schema. What are the top 2 database-schema optimizations you recommend we implement right now? Explain them to me and wait for my approval before modifying the database.
L'agente analizzerà il database e risponderà con due consigli:
- Indice HNSW: un indice approssimativo del vicino più prossimo (ANN) sulla colonna degli embedding per rendere estremamente veloci le query di similarità vettoriale.
- Partizionamento delle tabelle:partiziona la tabella dei ristoranti (ad es. partizionamento degli elenchi per quartiere) per migliorare le prestazioni e la gestibilità delle query.
Esamina le spiegazioni. Quando sei pronto, rispondi all'agente nella chat:
Approved, please apply these optimizations.
Osserva l'agente mentre esegue l'attività:
- Verrà creato l'indice HNSW sulla colonna degli incorporamenti.
- Partizionerà la tabella dei ristoranti per quartiere, creando tabelle delle partizioni figlio per ogni quartiere e migrando i dati esistenti.
Verifica
Chiedi all'agente di verificare che le ottimizzazioni siano state applicate correttamente. Nella chat con l'agente, chiedi:
Show me the list of partitions for the restaurants table and the indexes on it.
L'agente eseguirà una query sul catalogo del database e visualizzerà la nuova struttura di partizione (ad es.restaurants_mitte, restaurants_kreuzberg) e l'indice HNSW, confermando che il database è ora completamente ottimizzato per la produzione.
10. Sfida: aggiungi recensioni e valutazioni
Ora tocca a te mettere alla prova le tue competenze di Vibe Coding. In questa sfida, estenderai la Guida gastronomica di Berlino per supportare le recensioni dei clienti e le valutazioni a stelle.
L'attività
Anziché seguire un prompt di copia e incolla, scrivi il tuo prompt nella chat dell'agente Antigravity per implementare le seguenti funzionalità:
- Schema del database: crea una nuova tabella
reviewscollegata alla tabellarestaurants. Deve memorizzare una valutazione (un numero intero da 1 a 5) e un breve commento di testo. - Generazione di dati: genera 3-4 recensioni realistiche dei clienti per ciascuno dei 100 ristoranti nel database.
- Integrazione frontend: aggiorna il frontend Next.js per calcolare e visualizzare la valutazione media a stelle (ad es.
⭐⭐⭐⭐☆) su ogni scheda del ristorante. - Filtro:aggiungi un filtro a discesa nella parte superiore della pagina per filtrare i ristoranti in base alla valutazione (ad es. "Mostra tutto", "4 o più stelle", "3 o più stelle").
Verifica
Una volta completata l'attività, esegui nuovamente il deployment dell'applicazione su Cloud Run (sostituisci i segnaposto con i tuoi valori effettivi) dal terminale integrato di Antigravity IDE:
gcloud run deploy berlin-gastronomy-guide \
--source frontend/ \
--network=default \
--subnet=default \
--set-env-vars="DB_HOST=[YOUR_ALLOYDB_PRIVATE_IP],DB_USER=postgres,DB_PASS=[YOUR_PASSWORD],DB_NAME=postgres" \
--allow-unauthenticated \
--region=us-central1
Al termine del deployment, aggiorna il browser e verifica che la valutazione a stelle sulle schede
.
11. Risultati
Dopo aver completato i passaggi, hai creato e ottimizzato correttamente un'applicazione di AI di nuova generazione basata su database utilizzando Vibe Coding. Questa sezione evidenzia le funzionalità di architettura principali che hai implementato:
Integrazione del database agentico (Model Context Protocol)
Tradizionalmente, la scrittura del codice del database è un processo manuale di cambio di contesto tra IDE, documentazione e client di database.
In questo lab, hai utilizzato Model Context Protocol (MCP) Toolbox per colmare questa lacuna. Esposizione dell'ispezione dello schema del database e dell'esecuzione SQL come strumenti direttamente all'agente AI, che è stato in grado di:
- Esamina i dati CSV non elaborati e progetta lo schema del database.
- Genera ed esegui il DDL per creare tabelle.
- Collega il pool di connessioni nell'applicazione Next.js.
Ciò dimostra come MCP renda lo sviluppo di database un'esperienza conversazionale e ad alta velocità, mantenendo al contempo il pieno controllo dello sviluppatore all'interno dell'IDE.
AI in-database (Agent Platform e ricerca semantica)
La tua applicazione sfrutta l'integrazione nativa di AlloyDB con la piattaforma di agenti di Google Cloud per generare vector embedding direttamente all'interno del database utilizzando SQL:
- Generazione di embedding online: anziché estrarre i dati in un servizio Python esterno, AlloyDB chiama il modello text-embedding-004 nel database tramite funzioni SQL.
- Ricerca vettoriale semantica: utilizzando l'estensione pgvector e l'operatore di distanza del coseno (<=>), l'agente può abbinare l'atmosfera della query in linguaggio naturale dell'utente (ad es. "cena romantica") alla rappresentazione vettoriale più vicina nel catalogo dei ristoranti, restituendo risultati semanticamente pertinenti in millisecondi.
Ottimizzazione del database di livello di produzione (HNSW e partizionamento)
Per garantire che l'applicazione possa scalare a oltre 100.000 righe e gestire un traffico elevato, hai agito come DBA virtuale per applicare due ottimizzazioni avanzate del database:
- Indice HNSW (Hierarchical Navigable Small World): hai creato un indice HNSW nella colonna vettoriale. A differenza degli indici flat, HNSW crea un grafico multilivello che consente ricerche approssimative del vicino più prossimo (ANN) estremamente rapide con un richiamo elevato.
- Partizionamento dichiarativo delle tabelle: hai partizionato la tabella dei ristoranti per quartiere. In questo modo, le query che hanno come target un'area specifica analizzano solo la partizione pertinente anziché l'intera tabella, riducendo drasticamente l'I/O del disco e la latenza delle query.
In qualità di sviluppatori di applicazioni, spesso evitiamo configurazioni di database complesse, matematica vettoriale e strategie di indicizzazione avanzate perché richiedono competenze DBA specializzate. Sfruttando il Vibe Coding con un IDE agentico, colmiamo questa lacuna. Ora possiamo progettare, creare e ottimizzare con sicurezza applicazioni di database di livello di produzione utilizzando il linguaggio naturale, il che accelera notevolmente il nostro ciclo di sviluppo e ci consente di concentrarci su ciò che conta di più: creare esperienze utente straordinarie.
12. Elimina
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo lab, segui questi passaggi:
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
13. Complimenti
Hai creato ed eseguito correttamente il deployment di un'applicazione basata sui dati e sull'AI utilizzando Vibe Coding.
In questo lab imparerai a:
- È stato eseguito il provisioning di un database AlloyDB con accesso IP privato e pubblico.
- Hai collegato il tuo IDE Antigravity direttamente al database utilizzando Model Context Protocol (MCP) Toolbox.
- Utilizzato il linguaggio naturale per importare un catalogo CSV, collegare un frontend Next.js al database ed eseguirne il deployment su Cloud Run.
- È stata attivata l'integrazione di Agent Platform nel database per generare vector embedding ed eseguire la ricerca semantica.
- Ha agito come DBA virtuale per ottimizzare il database per la scalabilità della produzione utilizzando l'indicizzazione HNSW e il partizionamento delle tabelle.
Tutto questo è stato possibile grazie a una conversazione naturale con il tuo agente AI, senza scrivere una sola riga di SQL manuale o aprire client di database esterni.
Per saperne di più, consulta la documentazione del prodotto: