İÇİNDEKİLER
- •Kurumsal verinizi yapay zekâya güvenle bağlayın
- •Kısaca: SQL Server ve Azure SQL’de Vektör Desteği
- •Temel Kavramlar
- •Örnek: Vektör Saklama ve Benzerlik Araması
- •Mimari Karar 1: Azure SQL mi, PostgreSQL pgvector mı?
- •Mimari Karar 2: Ne Zaman Ayrı Bir Vektör Veritabanı Gerekir?
- •Mimari Karar 3: Hibrit Arama
- •Embedding Maliyeti ve Depolama
- •KVKK: Hangi Veriler Vektörleştirilmemeli?
- •Aryasoft ile Kurumsal RAG Mimarisi
- •Sıkça Sorulan Sorular
- •Kaynaklar
- •RAG uygulamalarınız için doğru veri mimarisi
Azure SQL ve SQL Server 2025, vektör aramayı veritabanının içine taşıyor: VECTOR veri tipiyle embedding’ler iş verisinin yanında saklanabiliyor, VECTOR_DISTANCE fonksiyonuyla benzerlik araması yapılabiliyor ve DiskANN tabanlı vektör indeksleriyle büyük veri setlerinde yaklaşık arama hızlandırılabiliyor. Bu, kurumsal RAG (Retrieval-Augmented Generation) uygulamalarında ayrı bir vektör veritabanına ihtiyaç duymadan başlamayı mümkün kılıyor. Ancak mimari karar yalnızca veri tipiyle verilmez: ölçek, hibrit arama, embedding maliyeti ve kişisel verilerin korunması birlikte düşünülmelidir.
Bu rehber, kurumsal verileri yapay zekâ uygulamalarına bağlamak isteyen mimarlar, yazılım ekipleri ve veri platformu yöneticileri için hazırlandı. Kod örneklerini SQL Server 2025 üzerinde test ettik.
Kurumsal verinizi yapay zekâya güvenle bağlayın
Aryasoft, RAG uygulamalarınız için veritabanı mimarisini tasarlar; vektör aramayı, erişim kontrolünü ve kişisel verilerin korunmasını ilk günden birlikte kurgular.
Kısaca: SQL Server ve Azure SQL’de Vektör Desteği
| Özellik | SQL Server 2025 | Azure SQL Database | Azure SQL Managed Instance |
|---|---|---|---|
| VECTOR veri tipi ve vektör fonksiyonları | Genel kullanımda | Genel kullanımda | Genel kullanımda |
| Vektör indeksi (DiskANN) | Önizleme | Genel kullanımda | “Always-up-to-date” güncelleme politikasında genel kullanımda; “SQL Server 2025” politikasında önizleme |
Durumlar Kasım 2026 itibarıyla Microsoft dokümantasyonuna göredir; önizleme özellikleri üretimde kullanılmadan önce güncel durumu kontrol edin.
Temel Kavramlar
| Kavram | Anlamı |
|---|---|
| Embedding | Bir metnin veya görselin anlamını temsil eden sayı dizisi (vektör). Bir embedding modeliyle üretilir. |
| Vektör araması | Sorgu vektörüne en yakın vektörleri, yani anlamca en benzer içerikleri bulmak |
| Kesin arama (kNN) | Tüm vektörlerle mesafe hesaplanır; sonuç kesindir ama büyük veri setlerinde maliyetlidir. |
| Yaklaşık arama (ANN) | Bir vektör indeksiyle çok daha hızlı, küçük bir doğruluk kaybıyla arama |
| RAG | Kullanıcının sorusuna en ilgili kurumsal içeriği bulup dil modeline bağlam olarak vermek |
Örnek: Vektör Saklama ve Benzerlik Araması
Aşağıdaki örnek, kavramı göstermek için üç boyutlu vektörler kullanıyor. Gerçek uygulamalarda embedding modelleri genellikle yüzlerce veya binlerce boyutlu vektörler üretir.
CREATE TABLE dbo.Documents (
Id int IDENTITY PRIMARY KEY,
Title nvarchar(200) NOT NULL,
Embedding vector(3) NOT NULL
);
INSERT INTO dbo.Documents (Title, Embedding) VALUES
(N'Yedekleme politikası', '[0.9, 0.1, 0.0]'),
(N'Geri yükleme testi', '[0.8, 0.2, 0.1]'),
(N'Satış raporu', '[0.0, 0.1, 0.9]');
DECLARE @q vector(3) = '[0.85, 0.15, 0.05]';
SELECT TOP (2) Title,
VECTOR_DISTANCE('cosine', @q, Embedding) AS distance
FROM dbo.Documents
ORDER BY distance;
-- Yedekleme politikası and Geri yükleme testi come first
Microsoft, arama yapılacak vektör sayısı 50.000’in altındaysa kesin aramayı (VECTOR_DISTANCE ile) önerir. Tablo çok daha fazla satır içerebilir; önemli olan, WHERE koşullarıyla aramaya giren vektör sayısının bu sınırın altında kalmasıdır. Daha büyük veri setlerinde vektör indeksi (CREATE VECTOR INDEX) ve VECTOR_SEARCH fonksiyonu ile yaklaşık arama kullanılır.
Uyarı
Microsoft dokümantasyonuna göre SQL Server 2025’teki önizleme sürümünde vektör indeksi bulunan tablo salt okunur hale gelir. Sürekli güncellenen veriler için bu kısıtı mimari tasarımda hesaba katın veya kesin aramayı filtrelerle sınırlandırın.
Mimari Karar 1: Azure SQL mi, PostgreSQL pgvector mı?
| Kriter | Azure SQL / SQL Server 2025 | PostgreSQL + pgvector |
|---|---|---|
| Mevcut ekosistem | Veriniz zaten SQL Server’da ve ekip T-SQL biliyor. | Veriniz PostgreSQL’de veya açık kaynak bir yığın tercih ediliyor. |
| Vektör indeksi | DiskANN; Azure SQL Database’de genel kullanımda | HNSW ve IVFFlat; olgun ve yaygın kullanılan eklenti |
| Lisans | SQL Server lisansı veya Azure SQL hizmet bedeli | Lisans bedeli yok; işletim ve destek maliyeti |
| Platformlar | Kendi sunucunuz (SQL Server 2025) ve Azure | Kendi sunucunuz ve Azure, AWS, Google Cloud’daki yönetilen PostgreSQL servisleri |
| Güvenlik özellikleri | Row-Level Security, Dynamic Data Masking, Always Encrypted, audit | Row-Level Security, kolon yetkileri, pgAudit |
Kural olarak, verinin zaten durduğu platformda başlamak en az riskli seçimdir: embedding’leri ayrı bir sisteme kopyalamak, senkronizasyon, yetki yönetimi ve tutarlılık sorunları getirir. PostgreSQL tarafını PostgreSQL Nedir? yazımızda ele aldık.
Mimari Karar 2: Ne Zaman Ayrı Bir Vektör Veritabanı Gerekir?
İlişkisel veritabanındaki vektör desteği çoğu kurumsal RAG senaryosu için yeterlidir. Ayrı bir vektör veritabanı şu durumlarda değerlendirilmelidir:
- Vektör sayısı yüz milyonlar seviyesine çıkıyorsa ve arama yükü çok yüksekse.
- Vektör aramasına özgü gelişmiş özelliklere (çok vektörlü arama, özel sıralama yöntemleri) ihtiyaç varsa.
- Vektör araması, iş veritabanının performansını etkileyecek kadar yoğunsa.
Ayrı bir sistem, yetki modelinin ve verinin iki yerde yönetilmesi demektir. Bu yükü almadan önce ilişkisel veritabanının sınırlarına gerçekten ulaşıldığını ölçün.
Mimari Karar 3: Hibrit Arama
Vektör araması anlamca benzer içeriği bulur; ancak ürün kodu, sözleşme numarası veya özel isim gibi tam eşleşme gerektiren aramalarda zayıf kalabilir. Hibrit arama, tam metin araması ile vektör aramasının sonuçlarını birleştirir:
| Arama türü | Güçlü olduğu yer | Zayıf olduğu yer |
|---|---|---|
| Tam metin araması | Kodlar, numaralar, özel terimler, tam eşleşmeler | Eş anlamlılar, farklı ifade edilmiş sorular |
| Vektör araması | Anlam benzerliği, doğal dilde sorular | Kesin terimler ve kodlar |
| Hibrit | İkisinin sonuçlarını birleştirerek daha isabetli bağlam | Daha karmaşık sorgu ve ayar |
SQL Server’da tam metin araması ve vektör araması aynı veritabanında çalışabildiği için hibrit arama, verinin ayrı sistemlere dağıtılmasını gerektirmez. İki sonuç listesi genellikle sıralamaya dayalı bir birleştirme yöntemiyle (örneğin Reciprocal Rank Fusion) tek bir listeye dönüştürülür.
Embedding Maliyeti ve Depolama
| Kalem | Nasıl hesaplanır? |
|---|---|
| İlk embedding üretimi | Toplam metin miktarı (token) × embedding modelinin birim fiyatı |
| Güncellemeler | Değişen veya eklenen içeriğin düzenli olarak yeniden işlenmesi |
| Model değişikliği | Embedding modeli değiştiğinde tüm vektörlerin yeniden üretilmesi gerekir; farklı modellerin vektörleri karşılaştırılamaz. |
| Depolama | Her boyut 4 bayt; örneğin 1536 boyutlu bir vektör yaklaşık 6 KB yer kaplar. |
| Sorgu | Her kullanıcı sorusu için de bir embedding üretilir. |
İpucu
Metni parçalara (chunk) ayırırken çok küçük parçalar bağlamı kaybeder, çok büyük parçalar ise ilgisiz içeriği de dil modeline taşır ve maliyeti artırır. Parça boyutunu ve örtüşme miktarını gerçek sorularla test ederek belirleyin.
KVKK: Hangi Veriler Vektörleştirilmemeli?
Embedding’ler, kaynak metnin anlamını taşır; kişisel veri içeren bir metnin embedding’i de kişisel veriyle ilişkilidir. RAG sistemleri ayrıca bulunan içeriği bir dil modeline gönderir. Bu nedenle:
- Gerekmeyen kişisel veriyi dışarıda bırakın: T.C. kimlik numarası, iletişim bilgileri ve sağlık verisi gibi özel nitelikli kişisel veriler, yanıt üretmek için gerekli değilse vektörleştirilecek içerikten çıkarılmalı veya maskelenmelidir.
- Erişim kontrolünü aramaya taşıyın: Kullanıcı yalnızca yetkisi olan belgelerin parçalarını görmelidir. Row-Level Security gibi mekanizmalar vektör aramasına da uygulanmalıdır; aksi halde RAG, yetki sınırlarını aşan bir sızıntı kanalına dönüşür.
- Model servisinin konumunu değerlendirin: Dil modeli ve embedding servisi yurt dışındaysa, gönderilen bağlam yurt dışına aktarım kapsamında değerlendirilebilir.
- Kayıt tutun: Hangi kullanıcının hangi soruyla hangi içeriğe eriştiği denetlenebilir olmalıdır.
Sahada karşılaştığımız bir örnek: maskelenmemiş verilerle beslenen bir RAG uygulaması, kullanıcılara normalde göremeyecekleri bilgileri yanıt içinde gösterebiliyordu. Bu tür riskleri veri yönetişimi yazımızda, Azure SQL’deki güvenlik kontrollerini Azure SQL KVKK rehberimizde anlattık.
Aryasoft ile Kurumsal RAG Mimarisi
Aryasoft, RAG uygulamalarınız için veritabanı katmanını tasarlar: verinin nerede duracağı, vektör aramasının nasıl yapılacağı, erişim kontrolünün aramaya nasıl taşınacağı ve kişisel verilerin nasıl korunacağı. SQL Server, Azure SQL ve PostgreSQL deneyimimizle, mevcut veri platformunuzdan en az değişiklikle başlayan bir mimari öneririz. Platform seçimini ayrıntılı ele aldığımız RAG için veritabanı seçimi yazımıza ve veri analitiği ve yapay zekâ hizmetlerimize göz atabilirsiniz.
Sıkça Sorulan Sorular
Kaynaklar
Bu rehberdeki teknik bilgiler Kasım 2026’da aşağıdaki resmi dokümantasyonla karşılaştırıldı.
- Microsoft Learn: Vector Search and Vector Index
- Microsoft Learn: Vector data type
- Microsoft Learn: VECTOR_DISTANCE
- Microsoft Learn: CREATE VECTOR INDEX
- Microsoft Learn: VECTOR_SEARCH
- pgvector
Veri ve Yapay Zekâ
RAG uygulamalarınız için doğru veri mimarisi
Aryasoft vektör aramayı, erişim kontrolünü ve kişisel verilerin korunmasını mevcut veri platformunuz üzerinde birlikte kurgular.