SQL Server ve Oracle Arasındaki Farklar
İşletmelerin veriler olmadan çalışamayacağını hepimiz biliyoruz. Bu yüzden veritabanlarının önemi her geçen gün artmaktadır. Microsoft SQL Server ve ORACLE Database en popüler ve en yaygın kullanılan iki ilişkisel veritabanı yönetim sistemidir (RDBMS) (Relational Database Management System) Her ikisi de veri yapılarını yönetmek için SQL (Structured Query Language) dilini kullanmalarına rağmen arka plan işlemlerinde farklılıklar vardır.
Kullanılan Dil
İlk olarak Microsoft SQL Server Transact SQL veya T-SQL'i kullanmaktayken, Oracle ise Prosedür dili olan PL/SQL 'i kullanmaktadır. İkisi arasındaki temel fark, değişkenleri, saklı prosedürleri ve fonksiyonları nasıl ele aldıklarıdır. PL/SQL daha karmaşık ve daha güçlü olduğu söylenebilir. T-SQL ise daha basit ve kullanımı daha kolaydır.
İşlem Mantığı
İki sistem arasındaki bir diğer fark ise Oracle'daki PL/SQL, işlemleri MS SQL Server'da yapılamayan paketler halinde de gruplandırabilir. Bu konuyu biraz açacak olursak, MS SQL Server bir kayıt kümesinin tümünü aynı anda güncellenmesi gerekiyorsa, varsayılan olarak SQL Server her komutu ayrı ayrı yürütür ve herhangi bir hatayla karşılaşılırsa değişiklik yapmak daha zor olacaktır. Oracle ise bunları gruplandırdığından hata oluşması durumunda işlemi geri alması daha kolay olacaktır..
İşletim Sistemleri Uyumluluğu
Oracle ve SQL Server arasındaki bir diğer fark işletim sistemlerinde çalışma durumudur. Oracle, Windows, Linux, AIX, Solaris, OS X gibi birçok işletim sistemi tarafından desteklenmektedir. SQL Server ise Windows ve Linux tarafından desteklenmektedir.
Veritabanı Nesneleri
SQL Server, tablolar, prosedürler, viewlar gibi tüm nesneleri veritabanı adlarına göre düzenlemektedir. Kullanıcılar, belirli bir veritabanına ve nesnelerine erişim verilen bir giriş bilgisine atanır. Ayrıca, SQL Server'da her veritabanı sunucuda özel, paylaşılmayan bir disk dosyasına sahiptir. Oracle'da, tüm veritabanı nesneleri, veritabanı nesneleri alt kümesi olan şemalar tarafından gruplandırılır ve tüm veritabanı nesneleri, tüm şemalar ve kullanıcılar arasında paylaşılır. Her ne kadar paylaşılsa da, her kullanıcı roller ve izinler aracılığıyla belirli şema ve tablolarla sınırlandırılabilir.
Bellek Yönetimi
MS SQL Server, genel bir bellek yönetimini kullanır. Bu durum, sistemin daha iyi performans için sıralama veya önbelleğe alma ayarlarını DBA (Database Administrator - Veritabanı Yöneticisi )tarafından değiştirilemeyeceği anlamına gelir. Böylece insandan kaynaklı hataların önüne geçilmiş olunur. Oracle'da ise belleğin DBA'ler tarafından boyutlandırılmasına izin verilir. Belleğin doğru boyutlandırılması ve etkili kullanımı, veritabanı performansını büyük ölçüde artırsa da, insan faktörü devrede olduğu için yanlış kullanıma da açıktır.
Arayüz ve Kaynaklar
MS SQL arayüzleri daha kullanıcı dostudur. Sistem otomatik olarak istatistiksel veriler ve kullanıcının işine yaraması için kendi kendine ayarlama yapabilir. Ayrıca, internette kaynakların çokluğu yüzünden MS SQL Server'ı öğrenmek daha kolaydır. Oracle ise arayüz bakımından MS SQL 'den biraz daha karmaşıktır ve internet üzerinden kaynak bulmak bazen güç olabilir.