Uzmanlık

MySQL ve MariaDB Uzmanı

MySQL ve MariaDB, web uygulamalarının en yaygın veritabanı ailesi. Yıllardır Laravel ve PHP tabanlı sistemlerden yüksek trafikli kurulumlara kadar bu platformlarda şema tasarımı, performans iyileştirme, replikasyon ve yedekleme yapıyorum. Doğru ayarlanmış bir MySQL, küçük sunucularda bile uzun süre yeterli olur.

MySQL ve MariaDB uzmanı ne iş yapar?

MySQL/MariaDB sistemlerinde sorunların büyük bölümü yanlış şema, eksik indeks veya uygulama kaynaklı gereksiz sorgulardan çıkar; sunucu ayarları ise çoğu zaman ikinci sıradadır. Bir uzman önce verinin nasıl kullanıldığını anlar, sonra indeksleri ve sorguları düzenler; en sonunda tampon bellek, bağlantı ve disk ayarlarını ihtiyaca göre şekillendirir.

  • Şema: Doğru veri tipleri, birincil ve yabancı anahtarlar, tutarlı karakter seti ve harmanlama.
  • Sorgular: Çalışma planı incelemesi, gereksiz taramaların kaldırılması, sayfalama ve raporlama yükünün ayrılması.
  • Sunucu: InnoDB tampon belleği, bağlantı havuzu, geçici tablo ve log ayarları.
  • Operasyon: Yedekleme, replikasyon, izleme ve yükseltme planı.

Performans iyileştirme

Yavaş sorgular ölçülerek başlanır. EXPLAIN çıktısı, indeks kullanımı ve taranan satır sayısı incelenir. Sık yapılan hatalar:

  • Bileşik indekslerde sütun sırasının yanlış olması.
  • Fonksiyon içeren koşullar nedeniyle indeksin kullanılamaması.
  • Uygulama tarafında sayfalanmadan tüm verinin çekilmesi.
  • Aynı veriyi tekrar tekrar sorgulayan N+1 desenleri.

Düzeltme sonrası ölçüm tekrarlanır; böylece kazanç somut olarak gösterilir. Bazı durumlarda önbellekleme veya okuma/yazma ayrımı, ayar değişikliğinden daha büyük fark yaratır.

Replikasyon ve yük dağıtımı

Okuma trafiği arttığında replika kullanmak mantıklı olabilir; ancak replikasyon gecikmesi, uygulamanın hangi sorguları replikadan okuyacağı ve tutarlılık beklentisi iyi planlanmalı. Yazma trafiği için tek sunucu yeterli değilse farklı mimariler değerlendirilir. Amaç gereksiz karmaşıklık değil, ölçülen darboğazı çözmek.

Yedekleme ve geri dönüş

Mantıksal yedekler taşınabilirlik sağlar, fiziksel yedekler büyük veri hacimlerinde daha hızlıdır. İkisini birlikte kullanmak çoğu senaryoda doğru denge. Yedeklerin ayrı konumda tutulması, şifrelenmesi ve düzenli geri yükleme testi yapılması şart. Ayrıca yükseltme öncesi sürüm uyumluluğu ve geri dönüş planı yazılı olmalı.

Güvenlik

Uygulama kullanıcısına yalnızca gereken yetkiler verilir; kök hesap uzaktan erişime kapatılır. Ağ erişimi kısıtlanır, bağlantılar şifrelenir ve hassas veriler için saklama politikası belirlenir. Bu temel adımlar, sonradan müdahale gerektiren birçok sorunu baştan önler.

Geçiş ve modernizasyon

Eski sürümden yeni sürüme, MariaDB'den MySQL'e veya başka bir veritabanından MySQL'e geçişte karakter seti, tarih davranışı ve SQL uyumluluğu test edilmeden canlıya çıkılmamalı. Geçiş planı; kopyalama, doğrulama, kısa kesinti ve geri dönüş adımlarını içerir.

Sık sorulan sorular

MySQL mi MariaDB mi?

İkisi büyük ölçüde uyumlu. Seçim mevcut altyapı, barındırma desteği ve kullanılan özelliklere göre yapılır. Yeni kurulumda ikisi de olgun seçenekler; kritik farklar sürüm ve eklenti desteğinde çıkar.

InnoDB tampon belleği ne olmalı?

Sunucunun toplam belleği, diğer servisler ve veri hacmine göre değişir. Tek bir sihirli sayı yok; ölçüm ve izleme ile ayarlanmalı. Aşırı büyük ayar, işletim sistemini ve diğer süreçleri sıkıştırabilir.

Replikasyon gecikmesi sorun olur mu?

Okuma replikadan yapılıyorsa kısa bir gecikme bile kullanıcıya eski veri gösterebilir. Kritik okumaları ana sunucudan yapmak veya tutarlılık gerektiren akışları ayırmak gerekir.

Yavaş sorguları nasıl buluyorsunuz?

Yavaş sorgu logu, çalışma planı ve gerçek veri hacmi birlikte incelenir. Uygulama tarafında hangi isteğin hangi sorguları ürettiği de takip edilir; sorun çoğu zaman tek sorguda değil, sorgu sayısındadır.

Büyük tablolar için ne yapılabilir?

İndeks ve sorgu düzeni düzeltildikten sonra arşivleme, partitioning veya özet tablolar değerlendirilir. Her seçeneğin uygulama üzerindeki etkisi ölçülmeden uygulanmaz.

Mevcut MySQL sunucum yavaş, iyileştirir misiniz?

Evet. Sunucu ayarları, şema, indeksler ve uygulama sorguları birlikte incelenir. Önce ölçüm alınır, ardından en yüksek kazancı sağlayacak adımlar sırayla uygulanır.