Bilmek istediğin her şeye ulaş

PostgreSQL'nin MySQL'e göre dezavantajları ve avantajları nelerdir?

  1. Oracle MySQL'i satın aldı, gelişimi 'artık geliştirilmiyor' denebilecek kadar yavaş. Oysa Postgres halen özgür bir yazılım.
  2. PostgreSQL'de depolama motoru seçme diye birşey yoktur, tek motor vardır. MySQL'de ise seçtiğiniz depolama motoru veritabanının yeteneklerini belirler/kısıtlar.
  3. MySQL upsert mantığını uzun süredir destekliyor, Postgres'e ise yakın zamanda geldi.
  4. Her ikisi de çoklama (replication), parçalama (sharding) destekler.
  5. Performans olarak karşılaştırmak istersek. Etrafta çok sayıda karşılaştırma var. ayrıca Postgres'in bazı konularda daha yavaş olduğunu düşünenler var (kulaktan kulağa yayılan bir yanlış). Fakat ne karşılaştırma testleri, ne de kulaktan dolma bilgisiz yaklaşımlar gerçeği yansıtmıyor. Biri diğerinden daha hızlı diye birşey yok. Kim kesin konuşursa yanlış biliyordur, emin olabilirsin.
  6. MySQL'i kurup yapılandırmak ve yönetmenin daha kolay olduğu yönünde bir kanı vardır. Postgres ise biraz daha emek ister denir. Oysa ne yapmak istediğini ve Google kullanmayı biliyorsan ikisinde de kurup yapılandırmak ve yönetmek aynı derecede kolaydır.
  7. MySQL karmaşık sorgular için çoğu zaman geçici tablolar oluşturarak çalışır.
  8. Postgres MySQL'in desteklemediği bazı veri yapılarını destekler. Konum, dizi (array), JSON gibi.
  9. Postgres'de INSERT/UPDATE sorgusunun sonucunda değişen veriyi almak MySQL'den daha kolaydır. MySQL'de last_insert_id() çağrısı gerekir. Postgres'de ise INSERT sorgusunun sonuna RETURNING * (veya hangi alanları istiyorsan: 'id, ordr') yazmak yeterlidir. UPDATE sorgusu bir anda UPDATE/SELECT sorgusuna dönüşür.
  10. Arkada, kod tarafındaki farklarından bahsetmiyorum, ama özde çalışma mantıkları arasında farklar var.

Eğer bu soruyu ikisi arasında bir karar vermek için soruyorsan, şu iki soruya vereceğin cevaba göre hareket et:
  1. ORM kullanacak mısın? O zaman hangisini tercih ettiğin çok önemli değil.
  2. Hangisini daha iyi biliyorsun? Onu tercih edersen daha hızlı çalışabilirsin.
  3. Daha az bildiğini öğrenmek istiyor musun, şartlar buna uygun mu? Öyleyse, daha az bildiğini tercih et. (Proje hemen bitmeli ve ORM kullanmayacağız: daha iyi bildiğini tercih et. ORM kullanacağız: pek farketmez. Proje çok acil değil, öğrenmek istiyorum: daha az bildiğini tercih et.)
  • Paylaş
Açık kaynak yazılımların avantajları neyse odur PostgreSQL içinde. Kullanmasını bilen için herzaman açık kaynak en güzelidir uzun vadeli düşünüldüğünde.
  • Paylaş
  • Daha az yaygın (Her yerde hazır olarak karşınıza çıkmayabilir, sunucu için ek konfigürasyon yapmanız gerekebilir vs. vs.)
  • Daha yavaş (Her işlemde olmasada büyük veriler işlerken daha yavaş olduğunu duydum)
  • İleride replikasyon ihtiyacınız olursa MySQL bu işte daha iyi olacaktır.
  • Daha az kaynak (MySQL için çok daha fazla örnek ve dökümantasyona rahatlıkla ulaşabilirsiniz, fakat bu Postgresql için kaynak yok demek değil yeterince var.)
Veritabanındaki işlemleriniz sadece ekle, güncelle, getir, sil ise hangisini kullandığınızın çok bir önemi yok. Performans, güvenlik ve kaynak önemli. Daha ileri seviyede veritabanı kullanacaksanız diğer alternatifleri de gözden geçirip (Oracle, MsSql vb.) ihtiyaçlarınız en iyi karşılayanı seçmek daha iyi bir yol olabilir.
  • Paylaş
1

Necmettin Begiter, MSSQL ne zaman Mysql ve Postgres'den ileri alternatif oldu, yapmayın lütfen. Ayrıca Postgres'in 'büyük veriler işlerken daha yavaş' olduğunu kim söylediyse kısıtlı bilgisiyle bir yorumda bulunmuş. Yok öyle birşey. Replikasyon da Postgres ile bütünleşik gelir. Maalesef yanıtınız yanlışlarla dolu.

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

115 Görüntülenme5 Takipçi3 Yanıt