MySQL ile SQL Server Arasındaki Fark

MySQL ile SQL Server Arasındaki Fark

Neredeyse tüm modern web uygulama ve veritabanları önemli bir rol oynar. Mevcut web gelişiminin dinamik doğası ve hatta temel uygulamalar bile bir tür veri depolama, geri alma ve düzenleme mekanizmasına ihtiyaç duyar (bu yüzden Hostinger’da seçkin ve kurumsal müşterilerimize sınırsız MySQL veritabanları sunuyoruz). Doğal olarak, veritabanlarıyla belirli İlişkisel Veritabanı Yönetim Sistemlerinin (RDBMS) popülaritesi hızla yükselmiştir.

Bu sistemlerden ikisi MySQL ve SQL Server’dır. Her ikisi de aynı işleve sahiptir ancak kendilerine özgü bazı kullanım alanları bulunuyor. Çalışmaları farklıdır ancak ikisi de SQL, Structured Query Language yani Yapısal Sorgulama Dilini baz alır. Bu yüzden, geliştiriciler MySQL ile SQL Server arasında çeşitli benzerliklere rastlayabilir örneğin veri depolamak için tablo kullanımı, primary ve foreign key referansları, ayrıca tekil ortam veya sunucuda çoklu veritabanları gibi.

MySQL ve SQL Server’a varolan en popüler RDBMS çözümleri demek yanlış olmaz ancak buna Oracle ve Postgres’in itirazı olabilir. SQL’den NoSQL’e ağır bir geçişe tanıklık ediyoruz ancak SQL hala dominant bir varlığa sahip. Bunun anlamı, şu an MySQL veya SQL Server öğrenmek oldukça iyi bir zaman.

Bu rehberde, MySQL ve SQL Server’ın ne olduğunu kısaca açıklayarak, ardından aralarındaki farkları ortaya koyup, sizin ihtiyaçlarınıza en uygunu hangisi olduğuna karar vermenize yardımcı olacağız.

MySQL vs SQL Server

MySQL Nedir?

90’lı yılların ortasında geliştirilen (daha sonra Oracle tarafından alınan) MySQL, bugünde geçerli olmak üzere ilk açık kaynak veritabanlarından birisidir. Bunun anlamı, MySQL’in bazı alternatifleri bulunuyor ancak bu çeşitler arasındaki farklılıklar çok büyük değil; dizin ve temel işlevleri birebir aynı.

Yeni işletmeler topluluğundaki popülerliği MySQL’in bir karakteristiği haline gelmiştir. Açık kaynak ve ücretsiz olduğundan, geliştiriciler hızlı şekilde MySQL kullanmaya başlayabiliyor ve nadiren ihtiyaçları olsa da kodunu düzenleyebiliyor. MySQL genel olarak bir Linux dağıtımı üzerinde Apache Web Sunucusu veya PHP ile birlikte kullanılıyor, LAMP (Linux, Apache, MySQL, PHP) söylemi bu sayede doğmuştur.

SQL Server Nedir?

Microsoft SQL Server olarak da bilinen, SQL Server, MySQL’den çok daha uzun bir süredir var. Microsoft, SQL Server’ı, güvenilir ve ölçeklendirilebilir RDBMS sözüyle 80’lerde geliştirdi. Aradan yıllar geçmesine rağmen, büyük ölçekli firmalar için ilk başvurulan platform olması sebebiyle, bu sözler SQL Server’ın çekirdek özellikleri olmaya devam ediyor.

SQL Server başlıca, MySQL için PHP’ye karşı .NET’i geliştirme dili olarak kullanan geliştiriciler için düşünülmüştür. Mantıklıdır çünkü ikiside Microsoft’un şemsiyesi altındadır.

MySQL ve SQL Server Arasındaki Kilit Farklılıklar

Şimdi bu sistemlerin ne olduğuna yönelik bir fikrimiz olduğuna göre, MySQL ile SQL Server arasındaki bazı farklılıklara göz atalım:

  • Ortam

Belirttiğimiz üzere, SQL Server en iyi .NET ile çalışmaktadır. Diğer yandan MySQL ise hemen hemen diğer tüm dillerle çalışabilir ancak başlıca PHP ile kullanılır. Şunu da belirtmekte fayda var, SQL Server önceden sadece Windows’da çalışıyordu fakat geçen yıl Microsoft SQL Server için Linux desteğini açıkladı. Yine de, Linux sürümü hala olgunlaşmış değil ve bu sebeple tavsiyemiz SQL Server kullanacaksanız Windows, MySQL tercih edecekseniz Linux’e geçiş yapmanız yönündedir.

  • Syntax

Çoğu kişi için bu iki sistem arasındaki en önemli farklılık. Dizin kurallarından birisine alışmış olmak sizin için en iyi sistemin hangisi olduğu kararını belirlemenizde önemli bir rol oynar. Hem MySQL hem de SQL Server SQL bazlı olsa da syntax farklılıkları es geçilmeyecek kadar değişiklik gösteriyor. Aşağıdaki örneğe göz atalım:

MySQL

SELECT age
FROM person
ORDER BY age ASC
LIMIT 1 OFFSET 2

Microsoft SQL Server

SELECT TOP 3 WITH TIES *
FROM person
ORDER BY age ASC

İki kod parçası da aynı sonucu elde ediyor – person adlı tablodan en genç ilk 3 girdiyi getiriyor. Ancak syntax’de devasa bir değişiklik bulunuyor. Tabi ki, syntax sübjektifdir, bu nedenle herhangi birini tavsiye edemiyoruz; hangisi sizin için uygunsa onu seçin. MySQL ve SQL Server arasındaki yürütsel değişikliklerin tam listesi için bu bağlantıyı ziyaret edebilirsiniz.

  • SQL Server bir RDBMS’den daha fazlasıdır

Sahipli yazılımların, açık kaynak yazılımlara karşı başlıca avantajı özel destek alıyor olmalarıdır. Bizim durumumuzda, avantaj daha da güçlüdür çünkü SQL Server’ın arkasında dünyadaki en büyük teknoloji şirketlerinden birisi bulunuyor. Microsoft SQL Server için veri analiz araçları dahil RDBMS’ler ile birlikte gelen çeşitli araçlar üretti. Aynı zamanda SQL Server Reporting Services adında bir rapor sunucusuyla birlikte bir de ETL aracı bulunuyor. Bu da dolayısıyla SQL Server’ı RDBMS’lerin İsviçre çakısı haline getiriyor. Benzer özellikleri MySQL’de de edinebilmeniz mümkün ancak üçüncü parti çözümler için tüm interneti taramanız gerekiyor ve bu da çoğu kişi için ideal değil.

  • Depolama motorları

MySQL ile SQL Server arasında bazen gözardı edilen bir diğer büyük fark ise veri depolama yöntemleridir. SQL Server, MySQL’in sunduğu çoklu depolama motorlarına karşın, Microsoft tarafından geliştirilen tekli depolama motoru kullanıyor. Bu da hız, güvenilirlik veya başka bir sebepten dolayı farklı tablolar için farklı motorlar kullanabildiklerinden dolayı geliştiricilere çok daha büyük esneklik sağlıyor. Her ne kadar biraz yavaş kalsa da, güvenilirliğinden dolayı popüler olan MySQL depolama motorlarından birisi InnoDB’dir. Bir diğeri ise MyISAM.

  • Sorgu İptali

Pek çok kişi bunu bilmez ancak MySQL ile SQL Server arasındaki ciddi bir diğer fark ise MySQL’in sorgu uygulaması esnasında iptal şansı vermemesidir. Bunun anlamı, bir komut uygulanmaya başlandığında geri alamayacağınız kadar büyük bir hasara sebep olmamasını ummaktan başka şansınız bulunmuyor. Diğer yandan SQL Server, uygulama esnasında iptal seçeneği sunuyor. Bu fark, nadiren uygulama esnasında iptal gerektiren script komutları uygulayan web tasarımcılara nazaran daha çok veritabanı yöneticileri için önem teşkil ediyor.

  • Güvenlik

MySQL ile SQL Server arasındaki güvenlik farklılıklarını karşılaştırırken yüzeyde bakılacak çok fazla bir şey yok. Her ikiside EC2 uyumlu, bunun anlamı hangisini seçerseniz seçin muhtemelen güvende olacaksınız. Bunun yanında Microsoft’un gölgesi burada kendini yine belli ediyor çünkü SQL Server sahipli, teknoloji harikası güvenlik özellikleriyle donatılmış. Microsoft Baseline Security Analyzer adındaki özel güvenlik aracı, SQL Server için güvenliğin arttırılmasını sağlıyor. Yani, güvenlik sizin için önemli bir öncelik ise, seçiminiz bu noktada belli oldu.

  • Masraf

SQL Server burada daha az çekici seçenek haline gelerek, MySQL biraz öne geçiyor. Microsoft SQL Server’da çoklu veritabanı çalıştırabilmek için lisans satın almanızı istiyor. Ücretsiz bir sürümü olsa da bu sürümün amacı sadece RDBMS’ye alışkanlık kazanmanız. Buna karşın, MySQL GNU General Public License kullanıyor ve bu sayede kullanımı tamamen ücretsiz. Ancak unutmayın, MySQL için yardıma veya desteğe ihtiyacınız olursa bunun için para ödemelisiniz.

  • Topluluk Desteği

Bu da bizi bir sonraki noktaya getiriyor. MySQL desteği için ödeme yapabilseniz de buna genellikle ihtiyaç olmuyor çünkü topluluğu devasa seviyede şekilde katkıda bulunarak destek sunuyor. Daha geniş bir topluluğun olduğu tarafta olmak sizi resmi destek isteme zahmetinden kurtarıyor, tek yapmanız gereken çözüm için internette arama yapmak.

  • IDE’ler

Her iki RDMBS’nin de farklı Integrated Development Environment (IDE), yani Tümleşik Geliştirme Ortam araçları bulunuyor. Bu araçlar geliştirme için bağlı birer ortam sunar ve size en uygununun hangisi olduğuna yakından dikkat göstermeniz gerekiyor. MySQL, Oracle’ın Enterprise Manager’ından güç alıyor. SQL Server ise Management Studio (SSMS) kullanıyor. Her ikisinin de artıları ve eksileri bulunduğundan eğer karar vermekte zorlanıyorsanız bu artı ve eksiler seçiminize etki edebilir.

Sonuç

RDMBS seçimi uygulama geliştirmeye yeni başlayanlar için önemli bir nokta. Sistemlerden birisini seçmiş kişiler daha sonraları nadiren diğerine geçiş yapıyor, bu sebeple sunulan farklılıkları dikkatli şekilde tartmanız ve size en uygununu seçmeniz gerekiyor.

Bu rehberde en yaygın olarak kullanılan iki RDMBS’yi, MySQL ve Microsoft’un SQL Server’ını inceledik. İkisi arasındaki bazı kilit farklılıkları belirterek tek bir tanesinin bile kararınızı nasıl etkileyebileceğini gösterdik.

Nihai olarak seçim sizin. Genel kabul görmüş bir kural olarak, eğer küçük ve orta ölçekli uygulamalar geliştirerek çoğunlukla PHP kullanıyorsanız tercihiniz MySQL olmalıdır. Diğer yandan eğer ilgi alanınız geniş ölçekli, güvenli, dirençli kurumsal uygulamalarsa, SQL Server sizin için daha uygun olacaktır.

Author
Yazar

Gürkan M.

Gürkan, Amerikan Kültürü ve Edebiyatı mezunu ve Hostinger’da pazarlama asistanı olarak içerik yönetimi, dijital pazarlama ve çevirilerden sorumlu. Küçük yaşta tanışıp o günden bu yana hayatının büyük bir parçası olan internette web geliştirme ve özel olarak WordPress konularıyla yakından ilgileniyor. Ayrıca, pervasız bir gamer.