Vector Database Nedir? Vektör Veritabanları Nasıl Çalışır?

Intermediate

Vector Database Nedir? Vektör Veritabanları Nasıl Çalışır?

  • WMstudi
  • 4 dk okuma
  • 722 kelime
Difficulty level
Intermediate
What readers will learn
Bu rehberi tamamladığınızda;

Vector Database kavramını
Klasik veritabanlarından hangi yönleriyle ayrıldığını
Embedding ile ilişkisini
Similarity Search mantığını
Cosine Similarity'nin nasıl çalıştığını
Neden özel indeksleme algoritmalarına ihtiyaç duyulduğunu
Vector Database teknolojisinin RAG sistemlerindeki rolünü

öğrenmiş olacaksınız.

Vector Database Nedir.webp

30 Saniyelik Özet​

Büyük dil modelleri (LLM) yalnızca eğitim sırasında öğrendikleri bilgilerle cevap üretir. Ancak gerçek dünyadaki uygulamalar; şirket dokümanları, teknik belgeler, müşteri kayıtları veya sürekli güncellenen veri kaynakları üzerinde çalışmak zorundadır.

Bu noktada Vector Database (Vektör Veritabanı) devreye girer.

Vector Database; metinleri, belgeleri veya diğer içerikleri temsil eden embedding'leri depolayan ve milyonlarca vektör arasından anlam bakımından en benzer sonuçları milisaniyeler içinde bulabilen özel bir veritabanı türüdür. Günümüzde RAG sistemlerinden semantik aramaya, öneri motorlarından yapay zekâ ajanlarına kadar birçok modern uygulamanın temel bileşenlerinden biridir.

Bilmeniz Gereken

Vector Database, kelimeleri değil anlamı arar.
Kullanıcının yazdığı cümle ile veri kaynağındaki içerik aynı kelimeleri kullanmasa bile benzer anlam taşıyorsa doğru sonuçlar bulunabilir.


Vector Database Neden Ortaya Çıktı?​

Yıllardır kullandığımız ilişkisel veritabanları (MySQL, PostgreSQL, SQL Server vb.) belirli kurallara göre yapılandırılmış verileri saklamak ve sorgulamak için geliştirilmiştir. Bu sistemler; kullanıcı bilgileri, sipariş kayıtları, ürün listeleri veya finansal veriler gibi kesin eşleşme gerektiren işlemlerde oldukça başarılıdır.
Ancak yapay zekâ uygulamaları farklı bir problemle karşı karşıyadır.
Bir kullanıcı arama kutusuna şu ifadeyi yazabilir:
Docker log dosyaları neden sürekli büyüyor?
Veri tabanındaki makalenin başlığı ise şu olabilir:

Docker Log Rotation Nasıl Yapılır?

Bu iki ifade aynı kelimeleri içermese de aynı problemi anlatmaktadır.

Klasik bir SQL sorgusu yalnızca kelime veya sütun eşleşmelerine odaklanır. Anlamı değerlendiremez. Yapay zekâ uygulamalarında ise önemli olan kelimelerin birebir aynı olması değil, aynı kavramı ifade edip etmemesidir.

İşte Vector Database teknolojisi tam olarak bu ihtiyacı karşılamak için geliştirilmiştir.

Vector Database Nedir?​

Vector Database, embedding modelleri tarafından üretilen sayısal vektörleri depolayan ve bu vektörler üzerinde yüksek performanslı benzerlik aramaları gerçekleştiren özel bir veritabanıdır.

Basit bir ifadeyle;
  • Embedding modeli metni sayılara dönüştürür.
  • Vector Database bu sayıları saklar.
  • Arama sırasında en benzer vektörleri bulur.
  • Bulunan sonuçlar yapay zekâ modeline gönderilir.
Dolayısıyla Vector Database, yalnızca bir depolama sistemi değil; aynı zamanda hızlı ve ölçeklenebilir benzerlik aramaları yapabilen gelişmiş bir arama motorudur.

Klasik Veritabanı ile Vector Database Arasındaki Fark​

Bir SQL veritabanında sorgular belirli alanlar üzerinden çalışır.

Örneğin;

Kod:
SELECT *
FROM articles
WHERE title = 'Docker'

Bu sorgu yalnızca başlığı tam olarak "Docker" olan kayıtları döndürür.
Ancak kullanıcı şu ifadeyi yazarsa:

Container günlük dosyaları çok büyüyor.
Veritabanındaki makalenin başlığı:

Docker Log Rotation Nasıl Yapılır?

ise klasik SQL sistemi bu iki içerik arasında ilişki kuramaz.
Çünkü kelimeler farklıdır.
Vector Database ise her iki metni embedding modelinden geçirerek anlamlarını karşılaştırır. Böylece kullanılan kelimeler değişse bile aynı konuyu anlatan içerikleri bulabilir.

Bu yaklaşım, Semantic Search (Anlamsal Arama) olarak adlandırılır ve modern yapay zekâ uygulamalarının temelini oluşturur.

Klasik VeritabanıVector Database
Anahtar kelime ile arama yaparAnlama göre arama yapar
Exact Match kullanırSimilarity Search kullanır
Yapısal veriler için idealdirEmbedding verileri için idealdir
B-Tree, Hash gibi indeksler kullanırVektör indeksleri kullanır
SQL sorguları ile çalışırBenzerlik hesaplamaları ile çalışır

Embedding Tek Başına Neden Yeterli Değildir?​

Bir önceki makalemizde, embedding modellerinin metinleri çok boyutlu sayısal vektörlere dönüştürdüğünü öğrenmiştik.
Örneğin bir belge şu şekilde temsil edilebilir:
[0.24, -0.81, 0.17, 0.92, ...]
Bu yapı, bilgisayarın metnin anlamını matematiksel olarak temsil etmesini sağlar.
Ancak burada yeni bir problem ortaya çıkar.
Bir şirketin bilgi tabanında;
  • 500 bin teknik doküman,
  • 2 milyon müşteri kaydı,
  • yüz binlerce destek talebi,
  • binlerce ürün açıklaması
olduğunu düşünelim.
Kullanıcı yeni bir soru sorduğunda sistemin bu milyonlarca embedding arasından en ilgili birkaç tanesini bulması gerekir.
Bütün vektörleri tek tek karşılaştırmak teorik olarak mümkündür. Ancak veri miktarı büyüdükçe bu yöntem hem yavaşlar hem de yüksek işlem maliyetine neden olur.
İşte Vector Database sistemleri bu problemi çözmek için geliştirilmiştir.

Bilmeniz Gereken

Embedding üretmek yalnızca ilk adımdır.
Gerçek zorluk, milyonlarca vektör arasından en ilgili sonuçları mümkün olan en kısa sürede bulabilmektir.


Similarity Search Nedir?​

Vector Database'in temel görevi Similarity Search yapmaktır.
Similarity Search, iki metnin aynı kelimeleri kullanıp kullanmadığını değil, aynı anlamı taşıyıp taşımadığını ölçmeye çalışır.
Örneğin kullanıcı şu sorguyu yazsın:
Docker günlük dosyaları neden büyüyor?
Veritabanında ise şu makaleler bulunsun:
  • Docker Log Rotation Nasıl Yapılır
  • Linux Disk Kullanımı
  • CSS Flexbox Rehberi
  • XenForo Cache Optimizasyonu
Bir anahtar kelime arama sistemi yalnızca ortak kelimeleri değerlendirir.
Vector Database ise embedding'leri karşılaştırarak ilk makalenin diğerlerine göre çok daha yüksek anlamsal benzerlik taşıdığını belirler ve onu en üst sırada döndürür.
Bu yaklaşım sayesinde kullanıcı, tam olarak doğru kelimeleri yazmasa bile doğru bilgiye ulaşabilir.

Similarity Search Nasıl Çalışır?​

Temel süreç oldukça basittir.
Rich (BB code):
Kullanıcı Sorusu
│
▼
Embedding Modeli
│
▼
Sorgu Vektörü
│
▼
Vector Database
│
▼
En Benzer Belgeler
│
▼
LLM
│
▼
Doğru ve Bağlama Uygun Yanıt
Bu akış, günümüzde kullanılan RAG (Retrieval-Augmented Generation) mimarisinin temelini oluşturur.

Cosine Similarity Nedir?​

Similarity Search sırasında en yaygın kullanılan yöntemlerden biri Cosine Similarity'dir.
Bu yöntem, iki vektör arasındaki açıyı hesaplayarak benzerlik oranını belirler.
Sonuç değeri 1'e yaklaştıkça iki içerik birbirine daha çok benzer.
Örneğin;

İçerikBenzerlik
Docker Log Rotation0.98
Container Log Yönetimi0.95
Linux Disk Temizleme0.73
CSS Grid Rehberi0.09

Bu örnekte ilk iki içerik farklı kelimeler kullansa da aynı problemi anlattıkları için yüksek benzerlik puanı almıştır.

Bilmeniz Gereken

Cosine Similarity tek benzerlik yöntemi değildir. Bazı sistemler Euclidean Distance veya Dot Product gibi farklı matematiksel yöntemler de kullanabilir. Hangi yöntemin tercih edileceği kullanılan embedding modeli ve uygulamanın ihtiyaçlarına göre değişebilir.

Bölüm Sonu​

Bu bölümde, Vector Database kavramının neden ortaya çıktığını, klasik veritabanlarından hangi yönleriyle ayrıldığını ve embedding verileriyle nasıl çalıştığını inceledik.

Bir sonraki bölümde ise işin performans tarafına geçeceğiz. Milyonlarca vektör arasında milisaniyeler içinde arama yapılmasını sağlayan Approximate Nearest Neighbor (ANN) algoritmalarını, HNSW indekslerini ve modern Vector Database sistemlerinin yüksek hızını mümkün kılan teknikleri ayrıntılı olarak ele alacağız.
 
Bu makalede öğrenecekleriniz
  • Bu rehberi tamamladığınızda;
  • Vector Database kavramını
  • Klasik veritabanlarından hangi yönleriyle ayrıldığını
  • Embedding ile ilişkisini
  • Similarity Search mantığını
  • Cosine Similarity'nin nasıl çalıştığını
  • Neden özel indeksleme algoritmalarına ihtiyaç duyulduğunu
  • Vector Database teknolojisinin RAG sistemlerindeki rolünü
  • öğrenmiş olacaksınız.
Bu makaleyi puanla
Henüz puanlama yok
Paylaş
X in f
Geri
Üst Alt