İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Geliştirici Araçları
  • MulticloudDB SDK Nedir? Tek Java API, Üç Sağlayıcı
Bulut Altyapı Geliştirici Araçları Azure Cosmos DB, DynamoDB, Google Cloud Spanner, Java SDK, MulticloudDB Aşkın KILIÇ 14/09/2026 3 Yorumlar

MulticloudDB SDK Nedir? Tek Java API, Üç Sağlayıcı

MulticloudDB SDK Nedir? Tek Java API, Üç Sağlayıcı
📑 İçindekiler
  1. Taşınabilirlik vergisi: neden ortak bir SDK?
  2. "Kodlama ajanı zaten yazar" itirazına iki cevap
  3. Uygulamayı başka bir veritabanı için yeniden yazdırmak yeterli mi?
  4. Ajan soyutlamayı da üretebilecekken bu SDK niye?
  5. Sözleşme neyi kapsıyor?
  6. Başlangıç: istemciyi oluşturmak
  7. Preview'da neyi denemeli?
  8. İlgili İçerikler
  9. Kaynaklar ve İleri Okuma

⏱️ 4 dk okuma📅 14 Eylül 2026🔄 Güncelleme: 29 Ekim 2026

Aynı çözümde farklı bulut sağlayıcılarının veritabanlarını kullanmak pratikte şu demek: her biri için ayrı bir SDK öğrenmek, sorguları yeniden yazmak, hata tiplerini ayrı ayrı ele almak, her sağlayıcıda testi baştan kurmak. MulticloudDB SDK for Java bu tekrar eden işi paylaşılan bir katmana taşıyor. CRUD ve sorgu mantığını tek bir Java API’si üzerinden yazıyorsunuz, sağlayıcı seçimiyle bağlantı ayarları konfigürasyonda kalıyor. Desteklenen hedefler Azure Cosmos DB, Amazon DynamoDB ve Google Cloud Spanner.

SDK şu anda public preview aşamasında, genel kullanıma sunum (GA) için bir yol haritası da var. Aynı uygulamanın hiç değiştirilmeden iki farklı sağlayıcı üzerinde çalıştığı gösterim, Azure Cosmos DB Conf 2026’da “MultiCloudDB: Write Önce. Run Anywhere.” oturumunda yapıldı.

Taşınabilirlik vergisi: neden ortak bir SDK?

Her ekip, sorguların, hataların ve desteklenen işlemlerin veritabanları arasında nasıl farklılaştığını kendi başına çözüyor; sağlayıcılar değiştikçe bu bilgiyi güncel tutmak da yine aynı ekibin sırtında kalıyor. Her yeni sağlayıcı sorgu çevirisi, hata yönetimi, testler ve süregelen bakım maliyeti ekliyor.

Ortak bir SDK bu kararları ve testleri tek yerde topluyor, böylece yeniden kullanılabiliyorlar. Paylaşılan bir adaptörde yapılan düzeltme, o adaptörü kullanan bütün uygulamalara yarıyor.

“Kodlama ajanı zaten yazar” itirazına iki cevap

Kodlama ajanlarının dakikalar içinde yeni bir implementasyon ve testlerini taslaklayabildiği bir dönemde ortak bir soyutlamanın hala gerekli olup olmadığı meşru bir soru. Kaynak yazı bunu iki ayrı soruya bölüyor.

Uygulamayı başka bir veritabanı için yeniden yazdırmak yeterli mi?

Yazdırabilirsiniz. Zor olan kısım, yeniden yazılan uygulamanın gerçekten aynı şekilde davrandığını doğrulamak. Eksik değerler aynı biçimde mi ele alınıyor? Sayfalama sonuçları atlıyor ya da tekrarlıyor mu? Bir yazma işlemi throttle edildiğinde veya işlemin yalnızca bir kısmı başarılı olduğunda ne oluyor? Bu soruların yanıtları ilgili veritabanlarına göre değişiyor ve testlerin bu farkları yakalayabiliyor olması gerekiyor. SDK, işi paylaşılan adaptörlere ve uyumluluk (conformance) testlerine taşıyor, böylece her uygulama sıfırdan başlamak zorunda kalmıyor.

Ajan soyutlamayı da üretebilecekken bu SDK niye?

Kod üretimi ucuzladıkça test edilmiş ortak bir soyutlamanın değeri düşmüyor, artıyor. Kodlama ajanları implementasyonu hızlandırdıkça darboğaz kod yazmaktan kodun doğru davrandığını doğrulamaya kayıyor. MulticloudDB SDK bu doğrulamada bir başlangıç avantajı sağlıyor, çünkü paylaşılan sözleşmesi ve sağlayıcı implementasyonları desteklenen işlemler için birlikte test edilmiş durumda.

Bir kodlama ajanı ortak arayüzü ve arkasındaki adaptörleri kurabilir. Bunların doğru davrandığını ortaya koymak ise çok daha uzun sürüyor, her veritabanına dair ayrıntılı bilgi istiyor. Birinin paylaşılan API’nin neyi vaat ettiğini tanımlaması, her sağlayıcının bu vaatleri karşılayıp karşılamadığını kontrol etmesi, sorgu çevirisini, sayfalamayı, hata yönetimini ve hata senaryolarını test etmesi gerekiyor. Ajanlar bunların hepsinde yardımcı olabilir ama üretilen kodla üretilen testler aynı hatalı varsayımı paylaşabilir. Testlerin geçmesi, sözleşmenin doğru olduğunu ya da her adaptörün onu doğru uyguladığını kanıtlamaya yetmiyor.

Kaynak yazı bu yaklaşımı arayüz tasarımı üzerine yapılan çalışmalara da bağlıyor. SWE-agent, kod düzenleme ve test çalıştırma arayüzlerinin ajan performansını nasıl etkilediğini inceliyor; Anthropic’in basit ve birleştirilebilir desenler ile araç tasarımı üzerine rehberlerinde de net operasyonlar, işe yarar hata mesajları ve değerlendirme öne çıkıyor. Bu kaynakların hiçbiri doğrudan bu SDK’yı değerlendirmiyor, yalnızca yaklaşımı besliyor: kodlama ajanlarına belgelenmiş operasyonlar ve kendi işlerini kontrol edebilecekleri geri bildirim verin.

Sözleşme neyi kapsıyor?

  • Taşınabilir CRUD ve sorgu: Create, read, update, delete için tek bir Java API’si ve her sağlayıcının yerel sorgu diline çevrilen bir sorgu DSL’i.
  • Konfigürasyonla sağlayıcı değiştirme: Sağlayıcıyı ve bağlantı ayarlarını, desteklenen CRUD ve sorgu işlemlerini yeniden yazmadan belirleyebilme.
  • Yetenek denetimi (capability introspection): Bir kod yolunu seçmeden önce sağlayıcının neyi desteklediğini kontrol edebilme.
  • Normalleştirilmiş hatalar ve tanılama: Ortak hata kategorileri ve tanılama alanları; sağlayıcıya özgü ayrıntılar korunuyor.
  • Yerel erişim:nativeExpression() ve nativeClient() ile sağlayıcıya özgü özellikleri kullanabilme. Bu çağrıların kendi sağlayıcıya özel testleri gerekiyor.
  • Sağlayıcılar arası uyumluluk testleri: Conformance test paketleri aynı işlemleri her sağlayıcının emülatörüne karşı çalıştırıyor, ortak davranış böyle doğrulanıyor.

Paylaşılan API, sağlayıcı adaptörlerinin üzerinde konumlanıyor; yetenek kontrolleri ve yerel özelliklere erişim de bu katmanın parçası.

Başlangıç: istemciyi oluşturmak

MulticloudDbClientConfig config = MulticloudDbClientConfig.builder()
.provider(ProviderId.fromId(props.getProperty("multiclouddb.provider")))
.connection("endpoint", props.getProperty("multiclouddb.connection.endpoint"))
.connection("key", props.getProperty("multiclouddb.connection.key"))
.build();
MulticloudDbClient client = MulticloudDbClientFactory.create(config);
ResourceAddress products = new ResourceAddress("appdb", "products");
Key key = Key.of("books", "product-42");
client.upsert(products, key, productDocument);
DocumentResult loaded = client.read(products, key);

Sağlayıcı seçimi kodun dışında kalıyor:

multiclouddb.provider=cosmos
multiclouddb.connection.endpoint=${DATABASE_ENDPOINT}
multiclouddb.connection.key=${DATABASE_KEY}

DynamoDB veya Spanner için dynamo ya da spanner değerleri, ilgili sağlayıcı modülü ve bağlantı ayarlarıyla birlikte kullanılıyor. Veri modelleme ve desteklenen yetenekler yine sağlayıcıdan sağlayıcıya farklılık gösteriyor, güncel bağımlılıklar ve kurulum adımları için dokümantasyona ve README’ye bakmak gerekiyor.

Preview’da neyi denemeli?

Önerilen yaklaşım sade. Üzerinde çalıştığınız bir uygulamadan birkaç CRUD ve sorgu işlemi alıp her sağlayıcının emülatörüne karşı çalıştırın. Ekip neyin çalıştığını, neyin eksik olduğunu ve hangi noktalarda hala sağlayıcıya özgü koda ihtiyaç duyulduğunu duymak istiyor. Bir işlem ya da veritabanı önermek, beklenmedik davranış bildirmek veya gereksinimleri tartışmak için GitHub deposunda issue ya da feature request açılabiliyor.

SDK bugün sınırlı destekle public preview durumunda, Microsoft desteği genel kullanıma sunum için planlanıyor. Kendi soyutlamanızı yazmayı seçerseniz doğrulama, sürekli bakım ve destek sorumluluğu tamamen ekibinizde kalıyor.

İlgili İçerikler

  • .NET Agent Skills: Üç Yöntem, Tek Sağlayıcı
  • Birden Fazla Veritabanını Tek API ile Bağlamak: Data API Builder’ın Multi-Source Sihri
  • GitHub’dan Gizlilik Odaklı Yıldız Geçmişi API’si

Kaynaklar ve İleri Okuma

  • devblogs.microsoft.com
  • devblogs.microsoft.com
  • devblogs.microsoft.com
  • MulticloudDB SDK: Cross-cloud portability in the coding agent era (Theo van Kraay, Azure Cosmos DB Blog)
  • MulticloudDB SDK for Java — GitHub deposu
  • MulticloudDB SDK dokümantasyonu
  • Örnek uygulamalar deposu
  • Azure Cosmos DB Conf 2026 ve “MultiCloudDB: Write Önce. Run Anywhere.” oturumu
  • SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
  • Building effective agents ve Writing tools for agents
  • Azure Cosmos DB dokümantasyonu
  • İlgili yazı: Azure Cosmos DB Conf 2026: Benim Gözümden Asıl Mesaj
  • İlgili yazı: Azure Cosmos DB vNext Emulator: Yerelde Gerçek Gibi Test Etmek
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Azure SDK Eylül 2025: Playwright Rüzgârı, Kimlikte Güçlenme ve Beta Sürprizleri
Azure SDK Eylül 2025: Playwright Rüzgârı, Kimlikte Güçlenme ve Beta Sürprizleri18 Mar 2026
ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı10 Eyl 2026
RDBMS'ten Cosmos DB'ye Geçiş: AI Asistanı Ne Kadar İşe Yarar?
RDBMS'ten Cosmos DB'ye Geçiş: AI Asistanı Ne Kadar İşe Yarar?18 Haz 2026
Foundry Dev Pack ile Tek Komutta Geliştirme Ortamı
Foundry Dev Pack ile Tek Komutta Geliştirme Ortamı20 Eyl 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket Azure Cosmos DB DynamoDB Google Cloud Spanner Java SDK MulticloudDB
Önceki yazı

Marketing Ops as Code: GitHub’da Nasıl Kurulur?

Sonraki yazı

.NET Conf 2026’da Hikâyenizi Nasıl Paylaşırsınız?

İlginizi Çekebilir

Copilot UX Components: SPFx 1.24 ile Etkileşimli Arayüz
Aşkın KILIÇ 0

Copilot UX Components: SPFx 1.24 ile Etkileşimli Arayüz

29/10/2026
Azure SQL DMV'leri: PostgreSQL'den Gelenler İçin Tanı
Aşkın KILIÇ 0

Azure SQL DMV’leri: PostgreSQL’den Gelenler İçin Tanı

29/10/2026
Visual Studio Subscription ile Sertifika Hazırlığı
Aşkın KILIÇ 1

Visual Studio Subscription ile Sertifika Hazırlığı

29/10/2026

3 comments

comments user
Gamze E. 14/09/2026 18:12

Vendor lock-in derdinden kurtulmak için güzel bir çözüm gibi duruyor, özellikle DynamoDB’den Cosmos DB’ye geçiş düşünen projelerde işe yarar. Sorgu tarafında sağlayıcılar arası performans farkı nasıl yönetiliyor merak ettim. Bu arada şu yazınız da güzeldi: Azure AI Speech LLM 2607: Çok Dilli Doğrulukta Ne Değişti? — https://www.askinkilic.com.tr/azure-ai-speech-llm-

Yanıtla
comments user
Kaan T. 14/09/2026 21:24

Vendor lock-in derdinden kurtulmak için güzel bir çözüm gibi duruyor. Merak ettiğim şu, üç sağlayıcının sorgu yetenekleri epey farklı, mesela Spanner’a özel bir özellik lazım olduğunda SDK bunu nasıl handle ediyor? Yoksa en küçük ortak kümeyle mi sınırlı kalıyoruz?

Yanıtla
comments user
Emre Ç. 15/09/2026 04:21

Tek API ile üç sağlayıcıyı yönetmek cidden işimizi kolaylaştırır, özellikle vendor lock-in derdinden kaçmak isteyenler için güzel çözüm. Peki sorgu tarafında sağlayıcıya özel özellikler (mesela Cosmos’un partition key mantığı) nasıl handle ediliyor, orada kısıtlama var mı?

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Copilot UX Components: SPFx 1.24 ile Etkileşimli Arayüz
    29/10/2026 Copilot UX Components: SPFx 1.24 ile Etkileşimli Arayüz
  • Azure SQL DMV'leri: PostgreSQL'den Gelenler İçin Tanı
    29/10/2026 Azure SQL DMV’leri: PostgreSQL’den Gelenler İçin Tanı
  • Visual Studio Subscription ile Sertifika Hazırlığı
    29/10/2026 Visual Studio Subscription ile Sertifika Hazırlığı
  • Microsoft Copilot Harness ile Foundry'de Yönetilen Ajanlar
    28/10/2026 Microsoft Copilot Harness ile Foundry’de Yönetilen Ajanlar
  • SharePoint Embedded: Admin Center'dan Uygulama Yönetimi
    28/10/2026 SharePoint Embedded: Admin Center’dan Uygulama Yönetimi
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
    04/10/2026 GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL CI/CD CodeQL code review copilot Copilot CLI DevOps Entra ID geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry MSVC otomasyon performans Pull Request RAG verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 571 yazı 🏗️ Bulut Altyapı 452 yazı 🤖 Yapay Zeka 359 yazı ☁️ Microsoft Azure 317 yazı 🔧 DevOps 301 yazı 🔒 Güvenlik & Kimlik 254 yazı 🏢 Kurumsal Teknoloji 121 yazı 📊 Veri & Analitik 86 yazı 🐳 Konteyner & Kubernetes 65 yazı 📧 Microsoft 365 23 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Marketing Ops as Code: GitHub&...
    .NET Conf 2026’da Hikâye... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS