Query Nedir? Tanımı, Türleri ve Veritabanında Nasıl Çalışır?

Query, veritabanına yöneltilen veri istemi veya komutudur; SQL, NoSQL gibi dillerde yazılır ve belirli bilgileri bulmak, eklemek, düzenlemek veya silmek amacıyla kullanılır. Arama motorlarında kullanıcının yazdığı arama cümlesi de query olarak adlandırılır. Sistem, query'i işleyerek en uygun sonuçları döndürür.

5 dk okuma
Query

Query (sorgu), bir veritabanına veya bilgi sistemine yöneltilen ve belirli veriler talep eden yapılandırılmış bir komuttur. İster bir şirketin müşteri veritabanından bilgi çekmek, ister Google'da metin aramak istenmesi olsun, arka planda işletilen teknik mekanizma aynıdır: istenen bilgiye erişmek. Query'ler bilgisayar sistemlerinin omurgasıdır ve her gün milyarlar gerçekleştirilir.

Query Nedir ve Nasıl Çalışır?

Query kelimesi İngilizce "sorgu" anlamına gelir. Teknoloji bağlamında, query bir istemci (kullanıcı) ile sunucu (veritabanı veya hizmet) arasındaki iletişim yöntemidir. Kullanıcı, neyin gerekli olduğunu belirten bir komut gönderir; sistem bunu işler ve sonuç döndürür.

Örneğin, bir e-ticaret sitesinde "kırmızı ayakkabı" araştırdığınızda, arama motoru milyonlarca ürün içinden size yalnızca bu kritere uygun olanları filtreleyip gösterir. Perde arkasında bu bir query'dir.

Query'nin Türleri

Query'ler kullanım alanı ve işlevi başında farklı kategorilere ayrılır:

Query Türü Açıklama Örnek Kullanım
SELECT Query Veritabanından veri çekmek için kullanılır. Mevcut veri değişmez. Tüm müşteri isimlerini listele
INSERT Query Veritabanına yeni veri eklemek için kullanılır. Yeni bir müşteri kaydı oluştur
UPDATE Query Mevcut verileri güncellemeye yarar. Müşterinin telefon numarasını değiştir
DELETE Query Veritabanından veri silmeyi sağlar. İnaktif müşteri kaydını sil
Web Search Query Arama motorlarına yöneltilen kullanıcı araması "Ankara'da en iyi kahveci" Google araması

Query'ler Nasıl İşlenir?

Bir query işlemi aşağıdaki adımları izler:

  • Alım: Sistem kullanıcının komutunu alır.
  • Ayrıştırma (Parsing): Komut sözdizimi kontrol edilir.
  • Doğrulama: Kullanıcının bu işlemi yapma yetkisi olup olmadığı kontrol edilir.
  • Optimizasyon: Sistem en hızlı şekilde işleyecek rotayı belirler.
  • Yürütme: Komut veritabanına karşı çalıştırılır.
  • Sonuç Döndürme: Bulgular kullanıcıya iletilir.

Query'lerin Avantajları

  • Hız: Milyarlarca satır arasından saniyede istenen veriyi bulur.
  • Hassasiyet: Spesifik filtreleme ile tam sonuç verir.
  • Otomasyon: Tekrarlayan görevleri otomatikleştirir.
  • Güvenlik: Yetki kontrolü ile veri korunur.
  • Ölçeklenebilirlik: Milyonlarca kaydı etkili şekilde yönetir.

Query'lerin Dezavantajları

  • Karmaşıklık: Karışık sorguları yazmak ve hata ayıklamak zor olabilir.
  • Performans Riski: Kötü yazılmış bir query sistem kaynağını tüketebilir.
  • Öğrenme Eğrisi: SQL ve veritabanı bilgisi gerektirir.
  • Veri Tutarlılığı: Eş zamanlı sorguların çakışması sorun yaratabilir.

Query Nerede Kullanılır?

Veritabanı Yönetim Sistemleri: SQL Server, MySQL, PostgreSQL gibi sistemlerde veri işlemleri query ile yapılır.

Arama Motorları: Google, Bing, DuckDuckGo'da kullanıcı aramaları query'dir ve milyonları kaynağında listelenmiş sayfalar filtrelenir.

E-Ticaret Uygulamaları: Ürün filtreleme, sepete ekleme, fiyat karşılaştırması gibi işlemler query tabanlıdır.

Sosyal Medya Platformları: Kullanıcı profiline özel içerik gösterimi, arkadaş önerileri, trendler query'ler üzerinden belirlenip sunulur.

İş Zekası (BI) Araçları: Şirket verileri analiz edilirken query'ler kullanılarak raporlar oluşturulur.

API'ler: Yazılımlar arasında veri alışverişi genellikle query'ler aracılığı ile yapılır.

Query Örnekleri

Basit SELECT Query:

SELECT ad, soyad FROM musteriler WHERE sehir = 'Istanbul';

Bu sorgu müşteriler tablosundan İstanbul'daki kişilerin adlarını listeler.

Arama Motoru Query'si:

"En ucuz laptop 2024" veya "Ankara'da elektrikçi" gibi doğal dil sorguları.

Web API Query'si:

https://api.example.com/users?id=123&format=json

Bu URL tabanlı query, id'si 123 olan kullanıcının verisini JSON biçiminde döndürür.

SQL vs NoSQL Query'ler

Özellik SQL Query NoSQL Query
Yapı Yapılandırılmış, tablo tabanlı Esnek, belge veya anahtar-değer tabanlı
Dil SQL standarı MongoDB, Cassandra vb. özel sözdizimi
Karmaşıklık Joins ve alt sorgular ile ilişkili veri sorgular Daha basit, fakat büyük veri için güçlü
Hız Orta-Yüksek (yapılandırılmış veride) Yüksek (büyük ölçekli veri)

Query Optimizasyonu

Sistem yöneticileri ve yazılımcılar query performansını artırmak için çeşitli teknikler kullanır:

  • İndeksleme: Sık aranan kolonlar hızlandırılır.
  • Sorgu Planlama: Veritabanı engine sorguyu en hızlı yoldan çalıştırır.
  • Cache Kullanımı: Tekrarlayan sorguların sonuçları bellekte tutulur.
  • Saklı Prosedürler: Önceden derlenmiş query'ler daha hızlı çalışır.
  • Bölümlendirme: Büyük tablolar parçalara ayrılır.

Query ile Search Query arasında fark var mı?+
Teknik olarak her ikisi de sorgu türüdür, ancak search query (arama sorgusu) genellikle arama motorlarında kullanıcı tarafından yazılan doğal dil ifadeleridir; database query ise veri tabanında veri işlemi yapmak için yazılan yapılandırılmış komuttur. Search query daha esnek, database query daha kesin çalışır.
SQL query yazmak kolay mı?+
Basit SELECT sorguları öğrenmesi kolaydır, fakat JOIN'ler, alt sorgular ve kompleks filtreleme biraz zamanla öğrenilir. Pratik ve referans dokümanlarla herkes SQL yazabilir. Önemli olan kötü yazılmış sorguların sistemi yavaşlatabileceğini bilmektir.
Google'da aradığım kelimeler de query midir?+
Evet. Google'da yazdığınız her arama terimi bir search query'dir. Google bu query'i işler, dizinlenmiş milyarlar sayfası içinde eşleştirme yapar ve size en uygun sonuçları gösterir.
Query hata verirse ne olur?+
Sözdizimi hatası, yetki sorunu veya tablo adı yanlışlığı gibi hatalar sistem tarafından yakalanır. Veritabanı hata mesajı döndürür ve işlem tamamlanmaz. İyi bir hata mesajı yazılımcıyı sorunu çözmek konusunda yönlendirir.
Mobil uygulamalar da query kullanır mı?+
Evet. Mobil uygulamalar sunucuda depolanan verilere erişmek için API'ler aracılığı ile query gönderiyor. Örneğin Instagram'da feed yüklemek, mesaj almak ve fotoğraf filtrelemek hepsi backend query'leriyle gerçekleşir.

Q harfindeki diğer terimler