


Bir uygulama ne kadar iyi tasarlanmış olursa olsun, verisini doğru şekilde saklayamıyor, çağıramıyor ve yönetemiyorsa ayakta kalamaz. İşte bu noktada veritabanı dilleri devreye girer.
Ama veritabanı dilleri yalnızca “veri çekmek” için kullanılan teknik araçlar değildir; bir sistemin nasıl düşündüğünü ve nasıl davrandığını belirleyen temel unsurlardır.
Bu yazıda veritabanı dillerini; ezber tanımlar, kopya karşılaştırmalar ve klasik tablolar yerine, mantık, mimari bakış ve gerçek kullanım senaryoları üzerinden ele alıyoruz.
Veritabanı dili, bir sistemin veriye şunu söyleme biçimidir:
“Bunu bana getir”
“Bunu değiştir”
“Bunu sakla”
“Bunlar arasında ilişki kur”
“Bunu kimler görebilir?”
Yani veritabanı dili, veriye verilen talimat setidir.
Bu talimatların nasıl yazıldığı, sistemin hızını, güvenliğini ve ölçeklenebilirliğini doğrudan etkiler.
En sık yapılan hata şudur:
“Veritabanı dili = SQL”
Gerçekte veritabanı dilleri, veriye bakış açısına göre ayrılır.
Bu diller:
Veriyi düzenli sever
Kuralları baştan koyar
İlişkileri net tanımlar
Bu yaklaşımda veri:
“Önce düzen, sonra hız”
mantığıyla yönetilir.
Bu tarafta ise:
Veri değişkendir
Yapı zamanla evrilir
Hız ve ölçek önceliklidir
Burada veri:
“Önce hız, sonra düzen”
anlayışıyla ele alınır.
Bu iki yaklaşım arasında doğru–yanlış değil, uygun–uygunsuz farkı vardır.
Veritabanı dili seçimi yalnızca geliştiriciyi değil, tüm ürünü etkiler.
Yanlış sorgu yapısı:
En güçlü sunucuyu bile yavaşlatır
Trafik arttıkça sistemi kilitler
Doğru dil + doğru sorgu:
Daha az kaynak
Daha hızlı cevap
Daha stabil yapı
demektir.
Veritabanı dili:
Yetkilendirme
Veri erişimi
Hassas bilgilerin korunması
konularında doğrudan rol oynar.
Yanlış kullanılan sorgular:
Veri sızıntılarına
Yetkisiz erişimlere
Sessiz güvenlik açıklarına
neden olabilir.
Çoğu projede seçim şu şekilde yapılır:
“Herkes bunu kullanıyor”
“Kolay olduğu söyleniyor”
“Daha önce bunda yazmıştık”
Oysa veritabanı dili seçimi şu sorularla yapılmalıdır:
Veri ilişkili mi, dağınık mı?
Okuma mı fazla, yazma mı?
Gerçek zamanlı mı?
Raporlama yoğun mu?
Trafik öngörüsü nedir?
Bu sorular sorulmadan yapılan her seçim, ileride performans borcu olarak geri döner.
Yanlış seçim genelde sessiz başlar:
Başta her şey hızlıdır
Trafik artar
Veri büyür
Sorgular karmaşıklaşır
Sonra şunlar olur:
Sayfalar geç açılır
Sunucu maliyeti artar
Geliştirme yavaşlar
“Bunu baştan yazalım” cümlesi kurulur
Ve bu cümle, en pahalı cümledir.
Modern sistemlerde artık tek bir veritabanı diliyle her şeyi çözmek beklenmez.
Gerçek hayatta:
Ana veriler için bir yapı
Hızlı erişim için başka bir yapı
Geçici veriler için farklı bir yapı
kullanılır.
Bu yaklaşım:
Sistemi rahatlatır
Performansı artırır
Bakımı kolaylaştırır
Veritabanı dili burada bir araçtır, amaç değil.
İş dünyası için veritabanı dili:
“Çalışıyor mu?” sorusundan çok
“Büyüyebilir mi?” sorusunun cevabıdır
Yanlış dil:
Büyümeyi yavaşlatır
Maliyeti artırır
Rekabet gücünü düşürür
Doğru dil ise:
Sessizce işini yapar
Sorun çıkarmadan ölçeklenir
Ürünü taşır
Gelecek:
Tek bir veritabanı dili etrafında değil
Doğru yerde doğru dil etrafında
şekillenecek.
Daha akıllı sorgular, otomatik optimizasyonlar ve hibrit mimarilerle veritabanı dilleri:
Daha görünmez
Ama daha kritik
bir role sahip olacak.
Kod değiştirilebilir.
Arayüz yenilenebilir.
Sunucu yükseltilebilir.
Ama yanlış seçilmiş veritabanı dili, sistemin karakterini baştan yanlış kurar.
İyi bir sistem:
Veritabanı dilini bağırarak değil
Sessizce ve doğru şekilde kullanır
Gerçek performans artışı, işte tam burada başlar.