Kısa cevap: Bir veritabanı sunucusunda en kritik kaynak RAM'dir; ideal olan, sık kullanılan verinin (working set) belleğe sığmasıdır. Küçük bir veritabanı için 2 vCPU ve 4 GB RAM, orta ölçek için 4 vCPU ve 16 GB RAM, büyük veritabanları için 8 vCPU ve 32 GB RAM ve üzeri önerilir. NVMe disk ise yüksek giriş/çıkış (I/O) için şarttır.

MySQL, MariaDB veya PostgreSQL çalıştıran bir veritabanı sunucusu, web sunucusundan farklı önceliklere sahiptir. Burada belirleyici olan sayfa trafiği değil, veri boyutu, sorgu karmaşıklığı ve eş zamanlı bağlantı sayısıdır. Bu rehberde veritabanı sunucusu için gerçekçi kaynak planlamasını ve neden RAM ile NVMe'nin öne çıktığını açıklıyoruz.

Veri boyutuna göre önerilen kaynaklar

Aşağıdaki tablo, veritabanının aktif olarak kullanılan kısmının belleğe sığması hedefiyle hazırlanmıştır.

Veritabanı boyutu / yük vCPU RAM NVMe Disk Önerilen barındırma
Küçük (birkaç GB, düşük eş zamanlılık)24 GB40-80 GBGiriş VDS
Orta (5-30 GB veri)416 GB120-160 GBGüçlü VDS
Büyük (30-100 GB veri)832 GB240-320 GBDedicated sunucu
Çok büyük / yüksek eş zamanlılık16+64 GB+640 GB+ NVMeDedicated (özel yapılandırma)

Hızlı bir tahmin için sunucu gereksinim hesaplayıcımızı kullanabilir, aylık veri büyümesi için bant genişliği hesaplayıcımıza bakabilirsin.

Neden RAM veritabanında bu kadar belirleyici?

MySQL/MariaDB'de InnoDB buffer pool, PostgreSQL'de ise shared_buffers ve işletim sistemi önbelleği, sık okunan veriyi bellekte tutar. Veri bellekten okunduğunda sorgular milisaniyeler içinde döner; diske gitmek gerektiğinde ise gecikme kat kat artar. İdeal senaryoda aktif veri seti RAM'e sığar. Adanmış bir veritabanı sunucusunda buffer pool genellikle toplam RAM'in yaklaşık %70-80'ine ayarlanır. Bu yüzden veritabanı sunucusunda RAM, CPU'dan bile önce gelir.

NVMe disk ve I/O

Veritabanı, çok sayıda küçük rastgele okuma/yazma yapar. NVMe disk, klasik SSD'ye göre çok daha yüksek IOPS sunar; özellikle yazma yoğun (transaction ağırlıklı) sistemlerde fark belirgindir. Yavaş disk, en güçlü CPU'yu bile bekletir. Bu nedenle veritabanı sunucusunda NVMe neredeyse zorunludur.

Sunucu konumu ve gecikme

Uygulama sunucun ile veritabanı sunucun arasındaki gecikme, her sorguda toplanır. İkisini de aynı Türkiye lokasyonunda tutmak, uygulama hızını doğrudan artırır. Lokasyon farkının gerçek etkisini Türkiye Sunucu Gecikme Raporu yazımızda ölçümledik.

Veritabanı için hangi Vulut çözümü?

Orta ölçekli veritabanları için yüksek RAM'li Vulut Ryzen VDS sunucuları uygundur. Büyük, yüksek eş zamanlılıklı veya özel yapılandırma gerektiren veritabanları için dedicated sunucular tam izolasyon ve maksimum I/O sağlar. Tümü NVMe diskli ve İstanbul Başakşehir lokasyonludur.

Sık Sorulan Sorular

Veritabanı sunucusu için ne kadar RAM gerekir?

İdeal olan, aktif veri setinin belleğe sığmasıdır. Küçük veritabanları 4 GB ile çalışır; orta ölçek için 16 GB, büyük veritabanları için 32 GB ve üzeri önerilir.

MySQL mi PostgreSQL mi daha çok kaynak ister?

İkisi de benzer prensiplerle çalışır ve doğru yapılandırıldığında kaynak ihtiyaçları yakındır. Belirleyici olan motor seçimi değil; veri boyutu, indeks tasarımı ve sorgu yüküdür.

Veritabanını uygulamadan ayrı sunucuya koymalı mıyım?

Küçük projelerde tek sunucu yeterlidir. Trafik ve veri büyüdükçe veritabanını ayrı bir sunucuya taşımak, kaynak çakışmasını önler ve ölçeklenmeyi kolaylaştırır.

Veritabanı için NVMe şart mı?

Pratik olarak evet. Veritabanı yoğun rastgele I/O yapar; NVMe disk, sorgu ve yazma performansını klasik disklere göre kat kat artırır.