Tüm Yazılar

Veritabanı Nedir? MySQL, PostgreSQL, SQLite ve MongoDB Karşılaştırması

Tayhost Ekibi7 dk okuma

Veritabanı nedir, ne işe yarar? İlişkisel ve NoSQL farkı; MySQL, PostgreSQL, SQLite ve MongoDB karşılaştırması, sunucuda veritabanı barındırma ve güvenlik.

Kısa cevap: Veritabanı, verilerin düzenli, hızlı erişilebilir ve güvenli şekilde saklandığı sistemdir. Bir e-ticaret sitesindeki ürünler, siparişler ve müşteri hesapları; bir blogdaki yazılar ve yorumlar hep bir veritabanında tutulur. Veritabanlarını yöneten yazılımlara VTYS / DBMS (Veritabanı Yönetim Sistemi) denir; MySQL, PostgreSQL, SQLite ve MongoDB en bilinenleridir.

Veritabanı Türleri

İlişkisel (SQL) veritabanları

Veriler tablolarda (satır ve sütun) tutulur; tablolar arasında ilişkiler kurulur. Sorgular SQL diliyle yazılır:

SELECT ad, email FROM musteriler WHERE sehir = 'İstanbul';

Örnekler: MySQL, MariaDB, PostgreSQL, SQLite.

NoSQL veritabanları

Esnek yapılar kullanır: belge (JSON benzeri), anahtar-değer, grafik vb. Şeması sık değişen veya çok büyük ölçekte dağıtık çalışması gereken uygulamalarda tercih edilir. Örnekler: MongoDB (belge), Redis (anahtar-değer, önbellek).

MySQL, PostgreSQL, SQLite ve MongoDB Karşılaştırması

MySQL / MariaDB PostgreSQL SQLite MongoDB
Tür İlişkisel İlişkisel (gelişmiş) İlişkisel, tek dosya Belge tabanlı NoSQL
Güçlü yanı Yaygınlık, WordPress/WooCommerce Veri bütünlüğü, gelişmiş özellikler, JSON desteği Kurulum gerektirmez Esnek şema
Tipik kullanım Web siteleri, CMS'ler SaaS, finans, analitik, modern uygulamalar Mobil, masaüstü, küçük uygulamalar Hızla değişen veri yapıları
Sunucu gerekir mi? Evet Evet Hayır (dosya) Evet

Hangisini seçmeliyim? WordPress ve benzeri CMS'ler için MySQL/MariaDB; yeni bir uygulama geliştiriyorsanız çoğu durumda PostgreSQL; tek kullanıcılı veya küçük uygulamalar için SQLite iyi bir başlangıçtır.

Veritabanını Nerede Barındırmalı?

Seçenek Artıları Eksileri
Uygulamayla aynı sunucu Basit, düşük gecikme, ek maliyet yok Kaynaklar paylaşılır; tek hata noktası
Ayrı veritabanı sunucusu Performans ve güvenlik yalıtımı Ek sunucu ve yönetim
Yönetilen veritabanı hizmeti Yedek, güncelleme, ölçekleme hazır Daha yüksek maliyet

Küçük ve orta ölçekli projelerin çoğu için uygulamayla aynı VPS üzerinde çalışan bir veritabanı yeterlidir; önemli olan NVMe disk, yeterli RAM ve düzenli yedektir.

Ubuntu'ya MySQL (MariaDB) veya PostgreSQL Kurulumu

# MariaDB (MySQL uyumlu)
apt install -y mariadb-server
mysql_secure_installation

# PostgreSQL
apt install -y postgresql
sudo -u postgres psql

Alternatif olarak veritabanını Docker konteyneri olarak da çalıştırabilirsiniz.

Veritabanı Güvenliği

  • Portu internete açmayın: MySQL (3306) ve PostgreSQL (5432) yalnızca yerel ağdan erişilebilir olmalı (bkz. Firewall Nedir?). Uzaktan yönetim için SSH tüneli kullanın.
  • Her uygulamaya ayrı kullanıcı ve yalnızca gerekli yetkiler verin; uygulamayı root veritabanı kullanıcısıyla çalıştırmayın.
  • Güçlü şifreler ve güncel sürümler kullanın.
  • Düzenli yedek: mysqldump / pg_dump ile günlük yedek alın ve başka bir konumda saklayın (bkz. Yedekleme Nedir?).
  • Uygulama kodunda parametreli sorgular kullanarak SQL enjeksiyonunu önleyin.

Performans İpuçları

  • Sık sorgulanan sütunlara indeks ekleyin.
  • Yavaş sorguları loglayıp inceleyin (slow_query_log, pg_stat_statements).
  • Veritabanına yeterli RAM ayırın; çalışan veri kümesi bellekte kalmalıdır.
  • Sık okunan verileri Redis ile önbelleğe alın.

Sıkça Sorulan Sorular

Veritabanı nedir?

Veritabanı, verilerin düzenli, hızlı erişilebilir ve güvenli şekilde saklandığı sistemdir. Web sitelerindeki ürünler, siparişler, kullanıcılar ve içerikler veritabanında tutulur.

MySQL ile PostgreSQL arasındaki fark nedir?

İkisi de ilişkisel veritabanıdır. MySQL yaygınlığı ve WordPress gibi CMS'lerle uyumu ile öne çıkar; PostgreSQL ise veri bütünlüğü, gelişmiş sorgu özellikleri ve JSON desteğiyle modern uygulamalarda tercih edilir.

SQL nedir?

SQL (Structured Query Language), ilişkisel veritabanlarında veri sorgulamak, eklemek, güncellemek ve silmek için kullanılan standart dildir.

MongoDB nedir?

MongoDB, verileri JSON benzeri belgeler hâlinde saklayan belge tabanlı bir NoSQL veritabanıdır. Şeması sık değişen uygulamalarda esneklik sağlar.

Veritabanı portu dışarıya açılmalı mı?

Hayır. MySQL (3306) veya PostgreSQL (5432) portları internete açılmamalı; veritabanına yalnızca yerel ağdan veya SSH tüneli üzerinden erişilmelidir.

Veritabanınız İçin Hızlı NVMe Sunucu

NVMe SSD, size ayrılmış RAM, root erişimi ve snapshot. TL ile ödeme, Türkçe destek. En uygun paket: aylık ₺709 (KDV dahil).