İç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ıç
  • Veri & Analitik
  • Azure SQL Vektör Arama: Optimizer Zekâsı Devrede
Bulut Altyapı Geliştirici Araçları Veri & Analitik Azure SQL, DiskANN, İteratif Filtreleme, optimizer, vektör arama Aşkın KILIÇ 31/08/2026 3 Yorumlar

Azure SQL Vektör Arama: Optimizer Zekâsı Devrede

Azure SQL Vektör Arama: Optimizer Zekâsı Devrede
📑 İçindekiler
  1. Üretimdeki AI arama neye benziyor?
  2. Vektör arama veritabanının dışındayken ne oluyor?
  3. Vektör aramayı SQL sorgu işlemenin parçası yapmak
  4. Post-filtering'ten iteratif filtrelemeye
  5. Önce: Post-filtering
  6. Sonra: İteratif filtreleme
  7. WITH APPROXIMATE ve akıllı karar mekanizması
  8. Vektör aramayı SQL yaparak elde edilenler
  9. Nasıl başlanır?
  10. İlgili İçerikler
  11. Kaynaklar ve İleri Okuma

⏱️ 6 dk okuma📅 31 Ağustos 2026

Yapay zeka tabanlı arama denince akla önce vektör indeksleri gelir: saniyede kaç sorgu, ne kadar gecikme, hangi geri çağırma oranı? Bu ölçütler önemli, ama gerçek üretim iş yüklerinde vektör benzerliği tek başına yetmez. Filtreler, join’ler, güvenlik politikaları, sıralama mantığı ve canlı operasyonel veriler devreye girdiğinde asıl soru, veritabanının SQL sorgusunun bütünü içinde doğru sonucu nasıl bulacağı. Microsoft, Azure SQL üzerinde bu problemi optimizer düzeyinde ele alan yeni bir yaklaşımı duyurdu.

İlgili içerik: Microsoft SQL’de Hibrit Arama: Metin ve Vektörün Gücü

Üretimdeki AI arama neye benziyor?

Bir kurumsal destek uygulamasında, parola sıfırlaması sonrası VPN bağlantı sorununu araştıran bir destek mühendisini düşünelim. Mühendis “VPN connection fails after password reset” gibi bir aramayla benzer olayları ve bilinen çözümleri görmek ister. Ama sonuçların yalnızca anlamsal olarak benzer olması yetmez: kayıtların hala açık olması, ilgili ürün alanına ait olması, ilişkili tablolardan müşteri bilgisiyle zenginleştirilmesi ve mevcut güvenlik politikaları altında görünür olması gerekir. Bu koşulların bir kısmı yalnızca sorgu yürütüldüğünde bilinen değerlere (seçilen ürün alanı, kiracı kimliği, güncel kullanıcı bağlamı) dayanır.

Kavramsal olarak sorgu şuna benzer:

DECLARE @ProductArea NVARCHAR(50) = 'Networking';
DECLARE @TenantId UNIQUEIDENTIFIER = @CurrentTenantId;
SELECT TOP (10) WITH APPROXIMATE
t.TicketId,
t.Title,
t.PriorityLevel,
t.TicketStatus,
c.CustomerName,
p.ProductName,
s.distance
FROM VECTOR_SEARCH(
TABLE = dbo.SupportTicketEmbeddings,
COLUMN = IssueEmbedding,
SIMILAR_TO = @query_vector,
METRIC = 'cosine'
) AS s
JOIN dbo.SupportTickets t
ON s.TicketId = t.TicketId
JOIN dbo.Customers c
ON t.CustomerId = c.CustomerId
JOIN dbo.Products p
ON t.ProductId = p.ProductId
WHERE t.TicketStatus = 'Open'
AND p.ProductName = @ProductArea
AND c.TenantId = @TenantId
ORDER BY s.distance;

Uygulama tarafında basit görünen bu istek, veritabanı açısından çok katmanlı bir optimizasyon problemi: anlamsal olarak ilgili kayıtları bulmak, ilişkisel koşulları uygulamak, gereksiz vektör keşfini ve mesafe hesaplamasını en aza indirerek istenen sayıda uygun sonucu döndürmek.

Vektör arama veritabanının dışındayken ne oluyor?

Vektör aramanın ayrı bir vektör veritabanında yapıldığı mimarilerde iş akışı genellikle birkaç adıma bölünür:

  • Sorgu embedding’i harici vektör veritabanına gönderilir.
  • Sabit sayıda aday kimliği (örneğin en yakın 100 eşleşme) alınır.
  • Bu adaylar ilişkisel veritabanına iletilir.
  • Filtreler, join’ler, izinler ve iş kuralları SQL tarafında uygulanır.
  • Yeterli sayıda satır kalmazsa daha fazla aday istenip sorgu tekrarlanır.

Bu modelde vektör veritabanı hangi embedding’lerin benzediğini bilir; ama SQL tarafında değerlendirilen ilişkisel koşullardan, join’lerden, güvenlik kurallarından ve canlı iş verilerinden haberdar olmayabilir. İlişkisel veritabanı ise yalnızca harici sistemin seçtiği aday kümesini görür. İki sistem, isteğin farklı parçalarını birbirinden bağımsız optimize eder. Sonuçta uygulama karmaşıklığı artar, ekstra veri hareketi doğar; aday sayısı seçimi, yeniden deneme, veri ile güvenlik sınırlarının uyumlanması gibi yükler geliştiriciye kalır.

İlgili içerik: SQL Decomposition: T-SQL’de Karmaşıklığı Azaltma

Vektör aramayı SQL sorgu işlemenin parçası yapmak

Buradaki sorun vektörlerin nerede saklandığından çok, vektör aramanın sorgunun yürütülmesinde nasıl rol aldığı. Azure SQL’de vektörler ne opak blob’lar olarak tutuluyor ne de veritabanına dışarıdan bağlanan bir servis üzerinden yönetiliyor. Vektör arama; filtre, join, agregasyon ve güvenlik yüklemleri gibi ilişkisel operatörlerle tam anlamıyla birleştirilebildiği için optimizer, onu tüm sorgu bağlamında maliyetlendirebilir. Böylece izole bir adım gibi ele almak yerine alternatif yürütme stratejilerini karşılaştırıp verimli bir plan seçer.

Bu yaklaşımda DiskANN, geniş vektör koleksiyonlarında verimli aday üretimini üstlenir; SQL optimizer ise bu aday üretimini sorgunun geri kalanıyla bütünleştirir. Vektör arama, ilişkisel işlemeyle aynı optimizasyon çerçevesinin parçası haline gelir.

Post-filtering’ten iteratif filtrelemeye

Azure SQL’in daha önceki DiskANN tabanlı vektör aramasında post-filtering modeli kullanılıyordu: vektör indeksi önce sabit bir aday kümesi dönduruyor, ilişkisel yüklemler sonradan uygulanıyordu. Yüklemler geniş ve adayların büyük bölümü uygun olduğunda bu model iyi çalışır. Filtreler seçici hale geldikçe ise adayların önemli bir kısmı elenir ve yeterli sonuç elde etmek zorlaşır.

Yeni sürümde iteratif filtreleme devreye giriyor. Yüklemler artık yalnızca sabit bir aday kümesi üretildikten sonra değil, vektör arama sırasında da uygulanıyor. İki yaklaşımın karşılaştırması:

Önce: Post-filtering

SELECT TOP (20) t.id, t.title, s.distance
FROM VECTOR_SEARCH(
TABLE = wikipedia_articles,
COLUMN = title_vector,
SIMILAR_TO = @query_vector,
METRIC = 'cosine',
TOP_N = 20  /* Over-fetch */
) AS s
WHERE category = 'Technology'
ORDER BY s.distance;

Sonuç: bazen 10, bazen 3, bazen 0 kayıt dönebilir; TOP_N değerinin ne olması gerektiği tahminle belirlenir.

Sonra: İteratif filtreleme

SELECT TOP (10) WITH APPROXIMATE
t.id, t.title, s.distance
FROM VECTOR_SEARCH(
TABLE = wikipedia_articles AS t,
COLUMN = title_vector,
SIMILAR_TO = @query_vector,
METRIC = 'cosine'
) AS s
WHERE t.category = 'Technology'
ORDER BY s.distance;

Sonuç: yeterli eşleşen kayıt olduğu sürece istenen sayıda uygun sonuç elde edilir; sabit bir over-fetch değeri seçmeye gerek kalmaz. Aday keşfi ile ilişkisel eşleşme birlikte çalıştığından motor, sorgunun geri kalanının nasıl davranacağını bilmeden tek bir aday sayısına bağlanmak zorunda değildir.

WITH APPROXIMATE ve akıllı karar mekanizması

WITH APPROXIMATE ifadesi, yaklaşık en yakın komşu sonuçlarının kabul edilebilir olduğunu Azure SQL’e bildirir; yürütme stratejisini ise motora bırakır.

Derleme zamanında optimizer, mevcut yaklaşımları tüm sorgu bağlamını ve tahmini yürütme maliyetini kullanarak değerlendirir. Yüklemlerin çok seçici olmadığı büyük vektör koleksiyonlarında yaklaşık en yakın komşu (ANN) araması iyi çalışabilir. Yüksek seçicilikte filtre içeren sorgularda ise ek ANN keşfi yerine kesin en yakın komşu araması daha uygun olabilir. Karar; yüklem seçiciliği, veri dağılımı, mevcut ilişkisel ve vektör indeksleri, istenen sonuç sayısı gibi etkenlere göre iş yüküne özgüdür ve garantili bir karar matrisi sunmaz.

Çalışma zamanında yürütme motoru, kaynaklara ve sorgu koşullarına uyum sağlayabilir. Filtreli Top-K isteğini karşılamak için ek uygun satırlara ihtiyaç duyulduğunda Azure SQL, gereken yerde ANN ile kesin komşu (KNN) araması arasında geçiş yapabilir. Böylece uygulamanın bir over-fetch değeri tahmin etmesine gerek kalmadan uygun sonuçlar döndürülür.

Aynı T-SQL yüzeyi, sorguya ve kaynaklara bağlı olarak farklı yürütme stratejilerini destekleyebilir. Geliştiricinin ANN ile kesin komşu araması arasında seçim yapması gerekmez; niyet ifade edilir, yürütme kararını Azure SQL verir.

Vektör aramayı SQL yaparak elde edilenler

Her veritabanı bir vektör indeksi ekleyebilir. Asıl zorluk, vektör aramayı üretim iş yüklerinin zaten güvendiği optimizer, yürütme motoru, güvenlik modeli ve sorgu işleme altyapısıyla bütünleştirmek. Azure SQL, vektörleri birinci sınıf bir SQL veri tipi olarak ele alarak anlamsal aramanın şu alanlardan faydalanmasını sağlıyor:

  • Maliyet tabanlı optimizasyon
  • Uyarlamalı yürütme
  • Güvenlik ve yönetişim
  • Transaksiyonel tutarlılık
  • Ölçekte ilişkisel işleme

Ortaya çıkan tablo, yalnızca “veritabanı içinde vektör arama” değil; SQL gibi davranan bir vektör arama. AI uygulamaları giderek canlı operasyonel veri üzerinde çalıştıkça bu farkın vektör indeksinin kendisinden daha belirleyici hale geldiği söylenebilir.

Nasıl başlanır?

Vektör desteğini ve iteratif filtrelemeyi denemek için iki yol öne çıkıyor. İlki yerel geliştirme: Azure SQL Developer, Azure SQL Database motorunu bir konteyner içinde makinenize getirir; yerel geliştirme ve CI için ücretsizdir, Azure aboneliği veya kredi kartı gerektirmez ve yerel prototipleme için doğal vektör yeteneklerini destekler. İkincisi bulut deneyimi: Azure SQL Database ücretsiz teklifi ile başlangıç mümkün. Kota ve kullanım koşullarının güncel ayrıntıları için resmi belgelere başvurmakta fayda var.

İlgili İçerikler

  • Azure SQL’de AI_GENERATE_EMBEDDINGS GA: T-SQL ile Vektör Devri
  • SQL Server Express’ten Azure SQL Free Tier’a Geçiş
  • azure-functions-skills: Azure Functions İçin Yapay Zekâ Çalışma Alanı

Kaynaklar ve İleri Okuma

  • devblogs.microsoft.com
  • devblogs.microsoft.com
  • devblogs.microsoft.com
  • Beyond Vector Indexes: Azure SQL Brings Optimizer Intelligence to Vector Search (Orijinal yazı)
  • DiskANN Vector Index Improvements — Azure SQL Dev Corner
  • Azure SQL Developer duyurusu
  • Azure SQL Database ücretsiz teklif dokümanı
  • DiskANN iyileştirmeleri örnek T-SQL
  • Project Akupara — Approximate Nearest Neighbor Search
  • Azure SQL’de DiskANN Vektör İndeksleri: Gerçekten Neler Değişti?
🤖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

GitHub Copilot Pro Denemeleri Neden Durduruldu?
GitHub Copilot Pro Denemeleri Neden Durduruldu?11 Nis 2026
Azure Developer CLI Sonunda Olmuş: Uzantılar, Foundry ve Pipeline Devrimi
Azure Developer CLI Sonunda Olmuş: Uzantılar, Foundry ve Pipeline Devrimi16 Mar 2026
npm Stage-Only Token ile Yayını Onaya Bağlayın
npm Stage-Only Token ile Yayını Onaya Bağlayın18 Eyl 2026
Kubernetes CVE Kayıt Düzeltmesi: Tarayıcılarınız Şaşıracak
Kubernetes CVE Kayıt Düzeltmesi: Tarayıcılarınız Şaşıracak20 Haz 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 SQL DiskANN İteratif Filtreleme optimizer vektör arama
Önceki yazı

Azure DevOps Artık GitHub Copilot Uygulamasında

Sonraki yazı

Azure App Service ile AI Hazır Uygulamalara Pratik Yol

İlginizi Çekebilir

GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
Aşkın KILIÇ 0

GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı

18/10/2026
Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
Aşkın KILIÇ 0

Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol

18/10/2026
Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
Aşkın KILIÇ 0

Visual Studio 2026: İlk Hatada Derlemeyi Durdurma

18/10/2026

3 comments

comments user
Ahmet Y. 31/08/2026 11:23

Vektör aramanın optimizer’a bu kadar entegre çalıştığını bilmiyordum, özellikle row-level security ile birlikte maliyet hesaplaması yapması ilginç. Acaba çok büyük tablolarda bu plan seçimi ne kadar tutarlı kalıyor? Bu arada şu yazınız da güzeldi: Ajan Maliyetini Düşürmenin Dört Yolu: Runtime Optimizasyonu — https://www.askinkilic.com.tr/ajan-maliyetini-dusurmenin-dort-yolu-runtime-optimizasyonu/

Yanıtla
comments user
Hakan G. 31/08/2026 22:09

Optimizer’ın vektör aramayı diğer filtreler ve join’lerle birlikte tek bir sorgu planında değerlendirmesi gerçekten önemli bir adım, çünkü pratikte vektör sorguları hiçbir zaman tek başına gelmiyor. Row-level security ile nasıl çalıştığını merak ediyorum, performans tarafında sıkıntı çıkıyor mu acaba?

Yanıtla
comments user
Oğuz L. 31/08/2026 22:44

Vektör aramanın optimizer ile bu kadar derin entegre çalıştığını bilmiyordum açıkçası. Row-level security ile birlikte çalışması özellikle kurumsal projelerde ciddi bir kolaylık sağlar, bunu denemek lazım.

Yanıtla

Yorum gönder Yanıtı iptal et

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • GitHub Copilot'ta Kaldırılan Modeller ve Geçiş Planı
    18/10/2026 GitHub Copilot’ta Kaldırılan Modeller ve Geçiş Planı
  • Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
    18/10/2026 Logitech MX Keypad ve GitHub Copilot: Ambient Kontrol
  • Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
    18/10/2026 Visual Studio 2026: İlk Hatada Derlemeyi Durdurma
  • Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
    18/10/2026 Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
  • GitHub Code Quality Lisans Kullanımını CSV ile Doğrulayın
    17/10/2026 GitHub Code Quality Lisans Kullanımını CSV ile Doğrulayın
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • 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 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 OpenAI azure sdk Azure SQL CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans public preview Pull Request RAG REST API SEO uyumlu 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ı 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Azure DevOps Artık GitHub Copi...
    Azure App Service ile AI Hazır... →
    📩

    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