SQL Server Nedir?
SQL Server Microsoft’un çıkarmış olduğu ilişkisel bir veritabanı yönetim sistemidir(RDBMS). “http://www.veritabani.gen.tr/” adresinde MSSQL sekmesinde SQL Server ile ilgili geniş bir makale serisini bulabilirsiniz.
1988 yılında Microsoft, Ashton-Tate ve Sybase’e katılarak 1 yıl sonra SQL Server’ın ilk sürümünü IBM OS/2 için çıkardı.
SQL Server, ilk olarak 4.21 versiyonu ile NT sistemleri desteklese de, NT sistemler için dizayn edilen ilk SQL Server versiyonu ise 6.0
Microsoft’un 1993 yılında Windows NT ‘yi çıkarmasıyla Sybase ve SQL Server yollarını ayırdı.
SQL Server 7.0 sürümünde Sybase engine’inde büyük değişiklikler yapıldı.
SQL Server 2000’de de engine’de büyük değişimler oldu. SQL Server 2005’te ise SQL Server engine’in Sybase’den kalan kodu tamamen yeniden yazılmış oldu.
SQL Server Sürümleri ve bu sürümlerde gelen yeni özellikler için “SQL Server Sürümleri ve Her Sürümde Gelen Yenilikler” isimli makaleyi kesinlikle okumanızı tavsiye ederim. Bu makalede her sürümde gelen yenilikleri çok detaylı bir şekilde bulabilirsiniz. Bu makale şu ana kadar yazdığım en güzel ve detaylı makale olabilir.
Aşağıdaki tabloda sql server sürümlerinin geçmişini bulabilirsiniz.
SQL Server Geçmişi
Versiyon |
Yıl |
SQL Server Sürümü |
Kod İsmi |
1.0 (OS/2) |
1989 |
SQL Server 1.0 (16-bit) |
Filipi |
1.1 (OS/2) |
1991 |
SQL Server 1.1 (16-bit) |
Pietro |
4.2A (OS/2) |
1992 |
SQL Server 4.2A (16-bit) |
|
4.2B (OS/2) |
1993 |
SQL Server 4.2B (16-bit) |
|
4.21a (WinNT) |
1993 |
SQL Server 4.21a |
SQLNT |
6.0 |
1995 |
SQL Server 6.0 |
SQL95 |
42861 |
1996 |
SQL Server 6.5 |
Hydra |
7.0 |
1998 |
SQL Server 7.0 |
Sphinx |
8.0 |
2000 |
SQL Server 2000 |
Shiloh |
8.0 |
2003 |
SQL Server 2000 64-bit Edition |
Liberty |
9.0 |
2005 |
SQL Server 2005 |
Yukon |
10.0 |
2008 |
SQL Server 2008 |
Katmai |
10.50 |
2010 |
SQL Server 2008 R2 |
Kilimanjaro (aka KJ) |
11.0 |
2012 |
SQL Server 2012 |
Denali |
12.0 |
2014 |
SQL Server 2014 |
Hekaton |
13.0 |
2016 |
SQL Server 2016 |
|
14.0 |
2017 |
SQL Server 2017 |
Helsinki |
Benim ilk kullandığım SQL Server sürümü SQL Server 2000. Onun öncesinde SQL Server’ın emekleme döneminde olduğunu söyleyebilirim. Hatta Microsoft ilk olarak SQL Server 2005 sürümü ile beraber ciddi anlamda diğer ilişkisel veritabanlarıyla rekabet etmeye başladı. Ama benim gördüğüm kadarıyla IT sektöründeki genel kanıya göre 2005 öncesindeki sürümlerde güçlü bir ilişkisel veritabanı olarak sayılmıyordu.
SQL Server kötü imajını 2005 ile beraber düzeltmeye başlasa da tam olarak bu yıllar içersinde bu kötü imajı yıktığını söyleyemeyiz. Benim fikrime göre SQL Server 2008 ile beraber artık gerçekten ciddi anlamda diğer ilişkisel veritabanı sistemleri ile rekabet etmeye başladı.
SQL Server 2012 ile de Always On’u bize tanıtmasıyla artık küçük ve orta ölçekli sistemlerin vazgeçilmezi ve büyük sistemlerde de güzel bir alternatif olduğunu düşünüyorum. Tabi SQL Server 2008 ile de büyük sistemlerde kullanılıyordu fakat bence SQL tam anlamıyla kendini 2012’de buldu.
SQL Server ve Diğer İlişkisel Veritabanı Yönetim Sistemleri
Makalenin bundan sonraki kısmında kendi tecrübelerimle ilişkisel veritabanının ne olduğundan ve SQL Server’ın diğer ilişkisel veritabanlarına göre nerede durduğundan bahsedeceğim.
İlişkisel veritabanı, verilerin tablo yapısında tutulduğu ve bu tabloların bazı anahtarlar ile birbiri ile bağlantılı yapıda olduğu bir veritabanı modelidir. Bu anahtarlar yardımı ile birbirinden farklı tabloları birbirleri ile ilişkilendirerek büyük verileri parçalara bölebiliriz. Bu konunun detaylarını “Normalizasyon Kavramı” isimli makalede bulabilirsiniz.
İlişkisel veritabanı sistemleri genel olarak kurumsal uygulamalarda, web uygulamalarında, masa üstü uygulamalarda kullanılırlar. Bilinen en popüler ilişkisel veritabanı sistemlerini(RDBMS) aşağıdaki gibi sıralayabiliriz.
- Oracle
- SQL Server
- PostgreSQL
- DB2
- MySQL
Makalenin bu kısmından sonra söyleyeceklerim tamamen kendi fikirlerimdir. Objektif olduğuna inanan 10 yıl tecrübeye sahip bir SQL Server veritabanı yöneticisinin özgür düşüncüleri diyebilirsiniz. 🙂
Çalıştığım kurumlarda genellikle Oracle ve SQL Server bulunuyordu. Bir çok kurumda da genellikle sistemler gördüğüm kadarıyla bu şekilde.
- Oracle muhtemelen veritabanı yönetim sistemlerinin en iyisi. Benim en beğendiğim özellikleri ASM Teknolojisi, RAC yapısı, FlashBack Teknolojisi, Online Resize işlemleri. Bu konularla ilgili makalelere sitemizdeki ORACLE bölümünden ulaşabilirsiniz. Spesifik arama yapmak için de Arama kısmını kullanabilirsiniz.
- SQL Server: Türkiye’de var olan mevcut veritabanı ihtiyacının en az %99’unu performanslı bir şekilde çalıştırabilecek çok güçlü bir veritabanı yönetim sistemidir. Bunu söylememin sebebi SQL Server’ın lisans maliyetinin Oracle’a göre bir hayli uygun olması. Daha ucuz, ihtiyacınızı karşılayabilecek kadar iyi ve güçlü bir support’u olan bir veritabanı yönetim sistemi olsun diyorsanız SQL Server’ı tercih edebilirsiniz.
- PostgreSQL: Çoğu PostgreSQL uzmanı fanatiktir. Genellikle PostgreSQL’i ORACLE ile kıyaslarlar ve PostgreSQL’in Oracle’dan çok daha iyi olduğunu düşünürler. Hatta bir süre bu insanlarla konuşursanız sizde öyle düşünebilirsiniz.
Ben büyük sistemlerde PostgreSQL’i kullanmadım ama kullanan sistemleri araştırdım ve bu sistemin yöneticileri ile bir çok kez konuşup bilgi alış verişinde bulundum. Benim fikrime göre PostgreSQL’de SQL Server gibi Türkiyedeki ihtiyacın büyük bir bölümünü karşılayabilecek güçte bir veritabanı yönetim sistemi.
En büyük avantajı lisans maliyetinin olmaması. En büyük dezavantajı ise Oracle ve SQL Server’ın sahip olduğu gibi bir support mekanizmasının ve yeterli sayıda veritabanı uzmanının olmaması.
Sitemizin PostgreSQL kısmında ilgili makaleleri bulabilirsiniz.
- DB2: Bu veritabanı yönetim sistemi ile de hiç çalışmadım. Sadece bir bankacılık sisteminde yapılan POC çalışmasında çok performanslı bir şekilde çalıştığına şahit oldum. Ayrıca dünya çapında bir çok kurum da büyük sistemlerin DB2 ile çalıştığını size söyleyebilirim.
- MySQL: En çok kullanılan veritabanı yönetim sistemleri arasında dünya çapında ilk sıralarda yer alıyor. Ama genellikle küçük sistemlerde yoğun olarak kullanıldığını gördüm.
Aşağıdaki site ilişkisel veritabanların kullanım oranları hakkında belki bir fikir verebilir.
https://db-engines.com/en/ranking