AlloyDB ile Sezgisel Kodlama: Antigravity ile 0'dan Üretime

1. Giriş

Vibe coding, ön uç geliştirme hızında ve yönteminde devrim yarattı ancak veritabanına ulaştığında genellikle bir engelle karşılaşıyor. Geleneksel olarak geliştiricilerin bağlam değiştirmesi, karmaşık SQL şemaları yazması, bağlantı havuzlarını yönetmesi ve veritabanı uzantılarını manuel olarak yapılandırması gerekir.

Bu codelab'de, sorunsuz ve etkileşimli bir veritabanı geliştirme iş akışı deneyimleyeceksiniz. Model Context Protocol (MCP) ve bir agentic IDE kullanarak düzenleyicinizi deneyimli bir veri mühendisi gibi ele alacak, basit bir fikirden dakikalar içinde tamamen bağlı, optimize edilmiş ve yapay zeka destekli bir veritabanı uygulamasına geçeceksiniz. Üstelik tüm bunları çalışma alanınızdan ayrılmadan yapacaksınız.

Ne oluşturacaksınız?

Bu codelab'de, AlloyDB tarafından desteklenen modern bir Next.js uygulaması olan Yapay Zeka Gastronomi Rehberi'ni oluşturup dağıtacaksınız. Uygulama şunları destekleyecektir:

  • Dinamik Katalog Alma: Restoran verilerini ham CSV dosyalarından otomatik olarak içe aktarma ve yapılandırma.
  • Anahtar Kelimeye Dayalı Arama: Tam metin aramayı kullanarak veritabanını dinamik olarak sorgulama.
  • Yapay Zeka Destekli Anlamsal Arama: Agent Platform yerleştirmelerini kullanarak "atmosferi" (ör. "randevu için rahat bir yer" veya "gece geç saatlerde hızlı bir atıştırmalık") açıklayarak restoran bulma.

e74cb0eb7e17d6da.png

Neler öğreneceksiniz?

  • Herkese açık IP ve VPC ağı yapılandırmalarıyla bir Google Cloud AlloyDB örneği sağlama.
  • Model Context Protocol (MCP) Toolbox'ı kullanarak Antigravity IDE'yi doğrudan AlloyDB'ye bağlama.
  • Ortam değişkenlerini ve güvenli SSL bağlantılarını kullanarak Next.js ön ucunu canlı bir veritabanına bağlama.
  • text-embedding-004 kullanarak vektör yerleştirmeleri oluşturmak için veritabanı içi Agent Platform entegrasyonunu etkinleştirme.
  • Kosinüs uzaklığı operatörünü (<=>) kullanarak vektör benzerliği araması yapma.
  • HNSW dizine ekleme ve tablo bölümleme kullanarak üretim ölçeğinde veritabanı performansını optimize etme (sanal veritabanı yöneticisi olarak hareket etme)

Gerekenler

Bu codelab'i tamamlamak için ihtiyacınız olanlar:

  • Antigravity Desktop IDE'nin makinenize yüklenmiş olması gerekir.
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi.
  • Google Cloud KSA (gcloud) ve Git'in yerel makinenize yüklenmiş ve kimlik doğrulaması yapılmış olması gerekir.
  • Web tarayıcısı (Chrome önerilir)

Bu codelab, yeni başlayanlar da dahil olmak üzere her seviyeden geliştirici için tasarlanmıştır.

2. Başlamadan önce

Bu bölümde, AI Berlin Gastronomy Guide'u oluşturmaya başlamadan önce Google Cloud projenizde yapmanız gereken ilk kurulum hakkında bilgi verilmektedir.

Proje oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin .

Yerel ön koşulları yükleme

Yerel makinenizde aşağıdaki araçların yüklü olduğundan emin olun:

Projenizi doğrulama ve ayarlama

Tüm komut satırı talimatlarını doğrudan IDE'nizde yürüteceksiniz.

  1. Yerel makinenizde Antigravity IDE'yi açın.
  2. Antigravity'nin terminalini açın ve proje deposunu klonlayın:
git clone https://github.com/mtoscano84/vibe-coding-postgres-mcp.git
  1. Proje klasörünü açın:
  2. Dosya > Klasörü Aç'a (veya Aç...) gidin.
  3. Yeni klonlanan vibe-coding-postgres-mcp klasörüne gidip bu klasörü seçin.
  4. Proje klasörü açıldıktan sonra Antigravity'de yeni bir entegre terminal başlatın. PROJECT_ID ortam değişkenini ayarlayın ve gcloud CLI'yı bu değişkeni kullanacak şekilde yapılandırın ([YOUR_PROJECT_ID] yerine gerçek GCP proje kimliğinizi girin):
export PROJECT_ID=[YOUR_PROJECT_ID]
gcloud config set project $PROJECT_ID
  1. Google Cloud CLI'ye giriş yapın:
gcloud auth login
  1. Etkin hesabınızı doğrulayın:
gcloud auth list

Gerekli API'leri etkinleştirme

Gerekli Google Cloud hizmetlerini etkinleştirmek için Antigravity terminalinizde aşağıdaki komutu çalıştırın:

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. AlloyDB örneğini oluşturma

Bu bölümde, Google Cloud'da AlloyDB kümenizi ve örneğinizi sağlamak için Antigravity terminalinizde otomatik bir komut dosyası çalıştıracaksınız.

Etkin Antigravity entegre terminalinizde (vibe-coding-postgres-mcp proje dizininde bulunur) AlloyDB sağlama komut dosyasını çalıştırın:

source database/deploy_alloydb.sh --region us-central1 --public-ip

Not: Temel hazırlık işlemi yaklaşık 10-15 dakika sürer.

Hazırlama komut dosyası:

  • Varsayılan adlı bir VPC ağı oluşturun (projenizde yoksa).
  • AlloyDB için özel hizmet erişimini ayarlayın.
  • Hem özel IP hem de genel IP etkinleştirilmiş bir AlloyDB kümesi ve birincil örnek dağıtın.
  • AlloyDB hizmet aracısına gerekli aracı platformu izinlerini verin.

Çıkış şuna benzer olmalıdır:

----------------------------------------
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)
----------------------------------------

Lütfen aşağıdaki bilgileri kopyalayıp kaydettiğinizden emin olun:

  • AlloyDB özel IP'si: Cloud Run uygulaması tarafından VPC içinde güvenli bir şekilde bağlanmak için kullanılır.
  • AlloyDB genel IP'si: Doğrudan bağlanmak için yerel Antigravity IDE'niz tarafından kullanılır.
  • Veritabanı Şifresi: postgres kullanıcısı için otomatik olarak oluşturulan şifre.

4. Ön ucu dağıtma

Bu bölümde, Antigravity entegre terminalini kullanarak temel Next.js ön ucunu (Durum 0) Google Cloud Run'a dağıtacaksınız. Bu ilk sürümde sahte veriler kullanılır ve henüz veritabanına bağlanılmaz.

Öncelikle, gerekli IAM rollerini Compute Engine'in varsayılan hizmet hesabına vermek için aşağıdaki komutları doğrudan Antigravity terminalinizde çalıştırın:

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"

Antigravity terminalinizdeki vibe-coding-postgres-mcp dizininin kökünden aşağıdaki komutu çalıştırarak Next.js uygulamasını VPC ağınızda derleyip dağıtın:

gcloud run deploy berlin-gastronomy-guide \
  --source frontend/ \
  --network=default \
  --subnet=default \
  --allow-unauthenticated \
  --region=us-central1

Dağıtım tamamlandığında hizmet URL'si yazdırılır.

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

URL'yi kopyalayıp tarayıcınızda açın.

Berlin Yapay Zeka Gastronomi Rehberi web sayfasında örnek restoran kartlarının gösterildiğini doğrulayın.

16d3649d19796847.png

5. Antigravity'yi Google Cloud'a bağlama

IDE'nizde (Antigravity) yerel olarak çalışan yapay zeka aracısının veritabanıyla etkileşime girmesine izin vermek için resmi Google Cloud AlloyDB MCP sunucusunu kullanacağız.

AlloyDB örneğinde sağlama sırasında genel IP'yi etkinleştirdiğimiz için yerel IDE'niz doğrudan internet üzerinden bağlanabilir. Bağlantı, SSL ve şifre kimlik doğrulaması kullanılarak güvenli hale getirilir. MCP sunucusu, bağlantıyı yetkilendirmek için yerel Google Cloud kimlik bilgilerinizi kullanır.

Antigravity'de MCP sunucusunu yapılandırma

  1. Antigravity IDE'de, sohbet penceresinin sağ üst köşesindeki üç nokta menüsünü (...) tıklayın.
  2. MCP sunucularını seçin ve ardından Yönetilen MCP Sunucuları'nı (veya Ham yapılandırmayı görüntüle / Yapılandırma dosyasını düzenle) tıklayın.
  3. Aşağıdaki JSON bloğunu mcpServers nesnesinin içine ekleyin. [YOUR_PROJECT_ID] ve [YOUR_ALLOYDB_PASSWORD] değerlerini gerçek proje kimliğinizle ve AlloyDB sağlama adımında kaydettiğiniz veritabanı şifresiyle değiştirdiğinizden emin olun:
"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]"
  }
}
  1. Yapılandırma dosyasını kaydetme
  2. IDE, MCP sunucusunu otomatik olarak başlatır. MCP panelinde alloydb-postgres'in yanında, başarıyla bağlandığını gösteren yeşil bir nokta görmeniz gerekir.

6. Sezgisel Kodlama: Veritabanı Kullanımı

Antigravity IDE'niz MCP sunucusu aracılığıyla AlloyDB örneğinize bağlandığına göre artık vibe-coding deneyimine başlayabilirsiniz.

Bu adımda, yapay zeka aracına Berlin gastronomi kataloğunu içeren yerel bir CSV dosyasını okuyup AlloyDB veritabanınıza yüklemesini söyleyeceksiniz.

Görev

Antigravity'de Agent Chat'i kullanacaksınız. Ajan, dosyayı bağımsız olarak okur, veri türlerini analiz eder, veritabanınıza bağlanır, tabloyu oluşturur ve kayıtları ekler.

Antigravity'de Agent Chat panelini açın (genellikle düzenleyicinin sağ tarafında bulunur).

Ardından, aşağıdaki istemi kopyalayıp sohbete yapıştırın ve Enter tuşuna basın:

Read the headers of database/seed_data_berlin.csv to determine column data types and create the restaurants table using the MCP tool execute_sql. Then, read the CSV rows locally and insert all 100 records into remote AlloyDB using a single batched multi-row INSERT INTO ... VALUES (...), (...), ...; statement via execute_sql. Do not print the CSV contents, row payloads, or SQL statements to the chat transcript.

Doğrulama

Temsilci:

  • Uygun şemayı belirlemek için CSV dosyası üstbilgilerini ve bazı örnek satırları okuyun.
  • AlloyDB MCP aracını çağırarak restoranlar tablosunu oluşturun.
  • CSV dosyasındaki 100 restoran kaydını veritabanına toplu olarak ekleyin.

7. Sezgisel Kodlama: Ön Ucu Veritabanına Bağlama

Bu bölümde, Next.js ön ucunu canlı AlloyDB veritabanınıza bağlayacaksınız. Ajanı, sahte verileri canlı veritabanı sorgusuyla değiştirmesi ve anahtar kelime araması uygulaması için yönlendireceksiniz.

Görev

Aracıdan bağlantı kodunu yazmasını ve ana sayfayı güncellemesini isteyeceksiniz. .agents/AGENTS.md dosyasında veritabanı SSL kuralını işlediğimiz için aracı, isteminizde belirtmenize gerek kalmadan bağlantı havuzunu bulut bağlantıları için SSL kullanacak şekilde otomatik olarak yapılandırır.

Antigravity Agent sohbetinde aşağıdaki istemi kopyalayıp yapıştırın ve Enter tuşuna basın ([YOUR_PASSWORD] yerine gerçek veritabanı şifrenizi girin):

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. When testing or verifying queries, always use LIMIT 3 and suppress quiet npm/build logs.

Temsilcinin görevi yürütmesini izler:

  • pg paketini ve TypeScript türlerini (@types/pg) yükler.
  • Bu işlem, bir veritabanı bağlantı dosyası (veya Next.js sunucu işlemi) oluşturur ve bağlantı havuzunu yapılandırır.
  • AGENTS.md kurallarını okur ve yerel olmayan ana makineler için SSL yapılandırmasını otomatik olarak ekler.
  • Bu işlem, veritabanına sorgu göndermek ve sonuçları arama sorgusuna göre filtrelemek için page.tsx dosyasını yeniden yazar.

Doğrulama

Değişiklikleri test etmek için ön ucu Cloud Run'a yeniden dağıtmanız gerekir. "Yalnızca Bulut" akışını kullandığımız için yeni kod bu şekilde gönderilir.

Antigravity'de entegre terminali açın (kök dizinde olduğunuzdan emin olun).

AlloyDB özel IP'nizi ve şifrenizi ortam değişkenleri olarak ileterek dağıtım komutunu çalıştırın (yer tutucuları gerçek değerlerinizle değiştirin):

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

Dağıtım tamamlandıktan sonra tarayıcınızda hizmet URL'sini açın.

"Burgermeister" veya "Kebab" araması yapmayı deneyin. Veritabanından yüklenen gerçek restoranları görmeniz gerekir.

Veritabanı kayıtları, daha önce yüklediğimiz herkese açık GCS URL'lerini içerdiğinden restoran kartlarında artık gerçek GCS resimlerinin gösterildiğini fark edeceksiniz.

8. Sezgisel Kodlama: Semantik Arama'yı etkinleştirme

Bu bölümde, uygulamanızı yapay zeka destekli Semantik Vector Search'ü destekleyecek şekilde yükselteceksiniz. Kullanıcılar, yalnızca tam anahtar kelimeleri eşleştirmek yerine aradıkları "atmosferi" veya deneyimi (ör. "romantik akşam yemeği mekanı" veya "gece kulübünden sonra hızlıca bir şeyler yemek") açıklayarak arama yapabilecek.

Görev

Ajanı, restoranlar tablosunda semantik aramayı etkinleştirmesi için yönlendireceksiniz. Aracı, veritabanı uzantılarını, Agent Platform model kaydını, yerleştirme oluşturmayı ve sorgu güncellemelerini otomatik olarak işlemek için depodaki add-vector-search-alloydb özel becerisinden yararlanır.

Antigravity Agent sohbetinde aşağıdaki istemi kopyalayıp yapıştırın ve Enter tuşuna basın:

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. Execute embedding generation quietly without printing embedding vectors or SQL progress logs to chat.

Temsilcinin görevi yürütmesini izler:

  • AlloyDB'ye bağlanır ve vektör (pgvector) ile google_ml_integration uzantılarını etkinleştirir.
  • Bu işlem, Agent Platform yerleştirme modelini (text-embedding-004) veritabanına kaydeder.
  • Bu işlem, restoran tablosuna yeni bir yerleştirme sütunu ekler.
  • 100 restoran açıklamasının tümü için yerleştirmeler oluşturmak üzere veritabanı içi sorgu çalıştırır.
  • Kullanıcının arama sorgusu için yerleştirme oluşturmak üzere ön uç kodunu günceller ve kosinüs mesafesi operatörünü (<=>) kullanarak vektör benzerliği araması yapar.

Doğrulama

Güncellenen kodu Cloud Run'a yeniden dağıtın.

Antigravity entegre terminalinde dağıtım komutunu çalıştırın (yer tutucuları gerçek değerlerinizle değiştirin):

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

Dağıtım tamamlandıktan sonra tarayıcınızda hizmet URL'sini açın.

Aşağıdaki gibi doğal dil açıklaması girerek semantik aramayı test edin:

  • "romantik bir akşam yemeği mekanı"
  • "quick bite after clubbing" (Gece kulübünden sonra hızlıca yenecek bir şeyler)

Adlarında veya açıklamalarında "romantik" ya da "gece kulübü" kelimeleri geçmese bile son derece alakalı restoranlar (ör. Cafe Clärchens veya Burgermeister) döndürdüğünü fark edebilirsiniz.

9. Sezgisel Kodlama: Veritabanı Optimizasyonu

Uygulamanız büyüdükçe veritabanının büyük hacimli verileri (100.000'den fazla satır) ve eşzamanlı yüksek arama trafiğini işleyecek şekilde optimize edilmesi gerekir. Bu son adımda, veritabanı şemanızı analiz edip optimize etmek için temsilcinizi sanal veritabanı yöneticisi (DBA) olarak ele alacaksınız.

Görev

Temsilciden Baş Veritabanı Mimarı olarak hareket etmesini, mevcut şemayı analiz etmesini ve optimizasyon önerilerinde bulunmasını isteyeceksiniz. Önerileri inceleyip onayladığınızda, aracı bunları otomatik olarak uygulamak için optimize-database-alloydb özel becerisini kullanır.

Act as my Principal Database Architect! Our semantic search is feeling great, but let's level up our backend to effortlessly scale to 100K+ rows and handle high concurrent traffic. Inspect our restaurants schema quietly, and work your magic by immediately applying your top 2 production optimizations—an HNSW vector index and list partitioning by neighborhood—right now in this turn. No need to wait for approval! Keep the SQL logs clean and hit me with a crisp 3-bullet summary of how we just supercharged our database.

Doğrulama

Ajan, veritabanı şemanızı bağımsız olarak analiz eder ve iki kritik üretim optimizasyonu uygular:

  • HNSW (Hierarchical Navigable Small World) dizini: Tablonun tamamını taramadan vektör benzerliği aramasını kat kat hızlandırır.
  • Bildirimli Liste Bölümlendirme: Verimli ölçeklendirme ve bakım için restoranlar tablosunu mahalleye göre bölümlendirir.

Bu yükseltmelerin mimari avantajlarını açıklayan 3 maddelik kısa bir özetle sonuçlandırılacak.

10. Zorluk: Yorum ve puan ekleme

Şimdi Vibe Coding becerilerinizi test etme sırası sizde. Bu mücadelede, Berlin Gastronomi Rehberi'ni müşteri yorumlarını ve yıldız puanlarını destekleyecek şekilde genişleteceksiniz.

Görev

Kopyala-yapıştır istemi kullanmak yerine, aşağıdaki özellikleri uygulamak için Antigravity Agent Chat'te kendi isteminizi yazın:

  1. Veritabanı Şeması: reviews tablosuna bağlı yeni bir restaurants tablosu oluşturun. Bir puan (1 ile 5 arasında bir tam sayı) ve kısa bir metin yorumu saklamalıdır.
  2. Veri Üretimi: Veritabanındaki 100 restoranın her biri için 3-4 gerçekçi müşteri yorumu oluşturun.
  3. Ön uç entegrasyonu: Her restoran kartında ortalama yıldız derecelendirmesini (ör. ⭐⭐⭐⭐☆) hesaplayıp görüntülemek için Next.js ön ucunu güncelleyin.
  4. Filtreleme: Restoranları puanlarına göre filtrelemek için sayfanın en üstüne bir açılır filtre ekleyin (ör. "Tümünü Göster", "4 Yıldız ve Üzeri", "3 Yıldız ve Üzeri").

Doğrulama

Aracı görevi tamamladıktan sonra uygulamanızı Cloud Run'a yeniden dağıtın (yer tutucuları gerçek değerlerinizle değiştirin):

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

Dağıtım tamamlandıktan sonra tarayıcınızı yenileyin ve kartlardaki yıldız derecelendirmesini doğrulayın.

1433b3c589f08f2a.png.

11. Sonuçlar

Adımları tamamladığınızda, Vibe Coding'i kullanarak yeni nesil, veritabanı destekli bir yapay zeka uygulamasını başarıyla oluşturup optimize etmiş olursunuz. Bu bölümde, uyguladığınız temel mimari özellikler vurgulanır:

Temsilci Tabanlı Veritabanı Entegrasyonu (Model Bağlam Protokolü)

Geleneksel olarak, veritabanı kodu yazma işlemi; IDE, dokümanlar ve veritabanı istemcileri arasında bağlam değiştirme işleminin manuel olarak yapıldığı bir süreçtir.

Bu laboratuvarda, bu boşluğu doldurmak için Model Context Protocol (MCP) Toolbox'ı kullandınız. Veritabanı şeması incelemesi ve SQL yürütme işlemlerini doğrudan yapay zeka aracısına araç olarak sunarak aracı şunları yapabildi:

  • Ham CSV verilerini inceleyin ve veritabanı şemasını tasarlayın.
  • Tablo oluşturmak için DDL'yi oluşturun ve yürütün.
  • Bağlantı havuzunu Next.js uygulamasına bağlayın.

Bu videoda, MCP'nin veritabanı geliştirmeyi nasıl etkileşimli ve hızlı bir deneyim haline getirdiği, aynı zamanda geliştiricinin IDE'de tam kontrol sahibi olmasını nasıl sağladığı gösterilmektedir.

Veritabanı İçi Yapay Zeka (Agent Platform ve Semantik Arama)

Uygulamanız, Google Cloud'un Agent Platform ile AlloyDB'nin yerel entegrasyonundan yararlanarak SQL kullanarak doğrudan veritabanında vektör yerleştirmeleri oluşturur:

  • Online Yerleştirme Oluşturma: AlloyDB, verileri harici bir Python hizmetine çekmek yerine SQL işlevleri aracılığıyla veritabanında text-embedding-004 modelini çağırır.
  • Semantik Vektör Arama: Temsilci, pgvector uzantısını ve kosinüs mesafesi operatörünü (<=>) kullanarak kullanıcının doğal dil "vibe"ını (ör. "romantik akşam yemeği") restoran kataloğundaki en yakın vektör gösterimiyle eşleştirebilir ve semantik olarak alakalı sonuçları milisaniyeler içinde döndürebilir.

Üretim düzeyinde veritabanı optimizasyonu (HNSW ve bölümleme)

Uygulamanın 100.000'den fazla satıra ölçeklenebilmesini ve yüksek trafiği işleyebilmesini sağlamak için iki gelişmiş veritabanı optimizasyonu uygulamak üzere sanal bir veritabanı yöneticisi olarak hareket ettiniz:

  • HNSW (Hierarchical Navigable Small World) dizini: Vektör sütununda bir HNSW dizini oluşturdunuz. Düz indekslerin aksine HNSW, yüksek geri çağırma oranıyla son derece hızlı yaklaşık en yakın komşu (ANN) aramalarına olanak tanıyan çok katmanlı bir grafik oluşturur.
  • Bildirim Temelli Tablo Bölümlendirme: Restoranlar tablosunu mahalleye göre bölümlendirdiniz. Bu sayede, belirli bir alanı hedefleyen sorgular tablonun tamamı yerine yalnızca ilgili bölümü tarar. Böylece disk G/Ç ve sorgu gecikmesi önemli ölçüde azalır.

Uygulama geliştiriciler olarak, uzman DBA bilgisi gerektirdiğinden karmaşık veritabanı yapılandırmalarından, vektör matematiğinden ve derin indeksleme stratejilerinden genellikle kaçınırız. Ajan tabanlı bir IDE ile Vibe Coding'i kullanarak bu boşluğu dolduruyoruz. Artık doğal dili kullanarak üretim düzeyinde veritabanı uygulamalarını güvenle tasarlayabiliyor, oluşturabiliyor ve optimize edebiliyoruz. Bu sayede geliştirme sürecimiz önemli ölçüde hızlanıyor ve en önemli şeye, yani muhteşem kullanıcı deneyimleri oluşturmaya odaklanabiliyoruz.

12. Temizleme

Bu laboratuvarda kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız şu adımları uygulayın:

  1. Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
  2. Proje listesinde silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
  3. İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.

13. Tebrikler

Vibe Coding'i kullanarak veriye dayalı ve yapay zeka destekli bir uygulamayı başarıyla oluşturup dağıttınız.

Bu laboratuvarda şunları öğreneceksiniz:

  • Hem özel hem de genel IP erişimi olan bir AlloyDB veritabanı sağlandı.
  • Antigravity IDE'nizi Model Context Protocol (MCP) Toolbox'ı kullanarak doğrudan veritabanına bağladıysanız.
  • CSV kataloğunu almak, Next.js ön ucunu veritabanına bağlamak ve Cloud Run'a dağıtmak için doğal dil kullanıldı.
  • Vektör yerleştirmeleri oluşturmak ve semantik arama yapmak için veritabanı içi Agent Platform entegrasyonu etkinleştirildi.
  • HNSW dizin oluşturma ve tablo bölümleme kullanarak veritabanınızı üretim ölçeğinde optimize etmek için sanal bir DBA olarak hareket edin.

Tüm bunlar, yapay zeka aracınızla doğal bir sohbet aracılığıyla, tek bir satır manuel SQL yazmadan veya harici veritabanı istemcileri açmadan gerçekleştirildi.

Daha fazla bilgi için ürün belgelerine bakın: