2005’in Kasımında release edilmiş olan SQL Server 2005, Microsoft’un tıpkı SQL Server 2000’de olduğu gibi veri tabanı dünyasında attığı önemli bir adım olmuştur. Bu yeni versiyon,
alanlarında daha gelişmiş özellikler sunmaktır. Bu özellikleri, SQL Server’in resmi sitesinden(https://www.microsoft.com/sql) derlemeye çalışacağız.
Süreklilik ve Yönetilebilirlik(Availability and Manageability)
SQL Server 2005, gerek veri tabanı yönetim ve programlama özellikleriyle gerekse kurumsal analiz servisleriyle veri tabanını kolay yönetebilmemizi sağlamıştır. Bu amaçla daha önceki versiyonlarda bulunan Enterprise Manager yerine Management Studio arayüzü geliştirilmiştir. Bu yeni program aracılığıyla Integration Services, Analysis Services, Reporting Services, Notification Services, SQL Server Mobile Edition gibi servisleri ve farklı veri tabanı sunucuları tek ekranda yönetilebilmektedir. Sistem yöneticileri bu konsol üzerinde sunuculara bağlanma, sunucuları yürütme, veri tabanı ve nesnelerini görme-yönetme, sisteminin durumunu izleme işlemlerini yapabilmekte aynı şekilde veri tabanı uygulamacıları da script geliştirmeyi, veri tabanı programlamayı aynı ekranda bulunan Query Analyzer aracında yürütebilmektedir.
Bu yeni versiyonla birlikte uygulama geliştiricileri, veri tabanı programlamalarını kolaylaştırmak amacıyla daha önceki versiyonlarda kullanılan Distributed Management Objects (DMO) nesnesinden daha güvenli ve yetenekli SQL Management Objects (SMO) nesne yapısı sunulmaktadır. Management Studio konsolunun alt yapısında da bulunan bu nesneler, bir .NET Framework assembly’si olarak geliştirilmiştir. Bu aracı kullanarak T-SQL script geliştirilebilir, database yönetim işlemleri yapılabilir, SQL server agent elemanları yönetilebilir.
Bir veri tabanının kurumsal işlevini gösteren en önemli özelliği, sürekli erişilebilir olmasıdır. Availability anlamında SQL server 2005’in sunduğu, database mirroring, failover clustering, database snapshot ve online veri tabanı operasyonları(replication) desteğiyle sunucunun erken ve hızlı down olması zaafiyetini azaltmış durumda.
Database Mirroring
SQL Server 2005’in yüksek erişilebilirlik çözümleri arasında önemli bir yere sahip olan Database Mirroring(Veritabanı Aynalama) yönteminin en etkili özelliği çok hızlı failover yaparak veri kaybını en aza indirgemesi ve failover sonrasında otomatik senkronizasyon yapabilmesidir. Clustering yöntemine oranla ikinci sunucudan geri dönme işlemini daha hızlı ve kısa sürede yapabilen Database Mirroring yöntemi SQL Server 2005’in Standart veya Enterprise sürümlerini ve service pack 1’i gerektirmektedir. Bu mimaride principal(birincil) olarak tanımlanan kaynak veritabanından tüm transactionlar anlık olarak mirror(kopya-yedek) rolündeki ikincil sunucuya aktarılır. Ayrıca bu iki sunucunun çalışıyor olduğunu garanti etmek(pingleyerek) ve birincil sunucu down olduğu zaman failover(ikinci sistemin otomatik olarak devreye girmesi) durumunu gerçekleştirip yedek sunucuyu devreye sokmak için üçüncü bir sunucu(witness server) kurulur. Bir anlamda asıl ve yedek sunucular için tanıklık yapan bu sunucu, zorunlu olmayıp opsiyonel olarak kurulur. Database Mirroring yöntemi maliyeti düşük ve hemen kurulabilen bir mimariye sahiptir. Ayrıca High-Availability (Yüksek Erişilebilirlik), High-Protection (Yüksek Koruma) ve High-Performance (Yüksek Performans) modeleri bulunur.
Bu konuda SQL Server 2005 ile birlikte gelen ve ADO.NET 2.0 ile desteklenen bir özellik te “transparent failover for data mirroring” konusudur. Eğer bir birincil SQL Server herhangi bir nedenden dolayı servis veremez duruma gelirse, işlemler yedek serverlara otomatik olarak aktarılır ve istemciler çalışılan sunucunun değiştiğinin farkına varmazlar.
Failover Clustering
Windows Clustering Services(MSCS) altyapısını kullanan bu yöntemde devamlılığın sağlanması için kümeleme işlemi yapılır. Kurumsal uygulamalarda yüksek bütçelerle gerçekleştirilen bu mimari bir veya daha fazla virtual server(sanal sunucu) ile oluşturulur. Erişilebilirlik, birden çok düğüm noktası ile sağlanır. Ana sunucu veya sanal sunuculardan birinin devre dışı olması durumunda diğer sanal sunuculara otomatik olarak geçiş yapılır. Algoritma olarak “Microsoft Clustering Algorithm” kullanılır.
SQL Server 2005 ile birlikte birden çok clustering senaryosunu desteklenir(Aktif/Pasif, Aktif/Aktif, Birden çok Aktif, N+1, N+I)
Active/Passive Clustering
Bu senaryoda yalnızca bir SQL sunucusu aktiftir. Bu sunucu düştüğü zaman diğer pasif sunuculardan biri devreye girer. Burada anlık olarak sadece bir SQL sunucusu aktif olduğu için tek lisans ödenir. Ve bütün işlemler bu sunucu üzerinde gerçekleştirilir. İkinci sunucu dinlenmede olur
Active/Active Clustering
Bu modelde birden fazla sunucu aktif olur. Bu düzenleme daha çok performansı artırmak veya iki sunucu oluşturup bunları farklı amaç için kullanmak için tercih edilir. Örneğin bir sunucu normal canlı sistem diğeri de rapor sistemi için tercih edilebilir.
SQL Server 2005’te failover clustering mimarisi, Analysis Services, Notification Services ve SQL Server Replication bileşenlerini de kapsayacak şekilde genişletildi.
Database Snapshots
Database Snapshot, bir veritabanının, salt okunur görünümünü temsil eder. SQL Server 2005 ile birlikte veritabanlarının anlık, salt okunur görünümlerini oluşturma imkanı elde ettik. Bir veritabanının snapshot’ını oluşturduğumuda başlangıçta snapshot herhangi bir data içermez. Sadece asıl veritabanının önizlemesi görevini görür. Asıl veritabanında değişiklik yapıldığı zaman değişen kayıt snapshot’a atılır. Bu aşamada snapshot’tan bir istekte bulunduğumuz zaman sorguladığımız alan, snapshot’ta varsa(ki orijinal veritabanında değişiklik yapılmış demektir) isteğimizin yanıtı snapshot’tan gelinir eğer snapshot’ta yoksa orijinal veritabanına yönlendiriliriz ve verileri oradan alırız. Sonuç olarak veritabanı snapshotları veritabanı kopyasından farklı olup sadece veritabanında değişiklik yapılan alanlar kadar alana ihtiyaç duyar. Bu da tüm veritabanının kopyasını almaktan daha mantıklı bir durumdur. Ayrıca yanlışlıkla değişmiş bir verinin önceki hali, hızlı ve kolay bir şekilde snapshot’tan alınabilir.
SQL Server 2005’in sunduğu bu modelleri kullanarak kullanıcı ve müşterilerimize kesintisiz bir erişim sağlamaka imkanı elde edebiliriz.
Fast Recovery
Hızlı geri alım olarak tanımlanabilecek bu özellik, SQL Server 2005 ile birlikte veritabanı yöneticilerine ciddi zaman kazandırmış, kullanıcılara da sürekli kullanılabilirlik sağlamıştır. SQL Server’in önceki sürümlerinde kullanıcılar, herhangi bir nedenden dolayı transaction roll-back işlemi esnasında bekletilmekteydi. SQL Server 2005 ile birlikte kullanıcılar, recover işlemi sürmekte olan bir veritabanına beklemeden bağlanabilmektedir.
Dedicated Administrator Connection
Bu yeni yönetici bağlantı özelliği sayesinde herhangi bir nedenden dolayı yanıt vermeyen ya da kullanılamaz duruma gelmiş server’lara bağlanmayı sağlar böylece sunucunun işlemleri neden gerçekleştiremediği öğrenilmiş olur ve ilgili bakım yapılır. Bu özel bağlantı SQLCMD aracı veya SQL Server Management ile gerçekleştirilir.
Online Operations (Index Operations and Restore)
SQL Server 2005’in etkileyici bir özelliği olarak indexleri çevrimiçi bağlantı sırasında, kullanıcıları bekletmeden, kilitlemeden yaratabiliyor, tekrar oluşturabiliyor veya silebiliyor olmasıdır. Aynı şekilde restore işlemini de kullanıcıları rahatsız etmeden gerçekleştirebilmektedir. Bilindiği gibi SQL Server’in önceki sürümlerinde indexleri rebuild edilirken kullanıcıların ilgili kaynaklara erişmesi engellenirdi.
Tablo ve Index Bölümlendirmesi(Table and Index Partitioning)
Büyük veri tabanlarının yönetimi, bakımı ve işlemleri her zaman daha fazla iş gücü gerektirmiştir. Ayrıca bu süreçlerde sıkıntıların çıkma riski de fazladır. Veri tabanı literatöründe uzun zamandır yer almış olan tablo ve index bölümlendirmesi, büyük boyutlu veritabanlarını daha kolay ve yönetilebilir bölümlere ayırır. Böylece veri yönetim ve sorgulama işlemleri kolaylaştırılmış, zaman kazandırılmış ve sorguların performansı artırılmış olur.
Snapshot Isolation
Snapshot isolation(Görüntü yalıtma) veritabanında en son “commit” edilmiş yani güncel olan bir satıra paralel erişim sağlar. Bu düzey sayesinde salt okunur uygulamalardaki veri okumasını artırılır ve OLTP tabanlı kullanıcıların aynı verilere aynı anda erişmesi durumunda meydana gelebilecek bloklamayı önlenir(nonblocking read).
Replication Monitor
Kompleks replikasyon işlemlerinin yapılmasını, yönetilmesini sağlayan grafik tabanlı kullanımı kolay bir araç.
SQL Server 2005 ile birlikte gelmiş bu özelliklere baktığımız zaman temel hedefin, daha iyi yedekleme, daha iyi ve kolay yedekten geri alma, sistemi 7/24 ayakta tutma, hataları aza indirgeme, veritabanını her daim gözetim altında tutma olduğunu görürüz.
Güvenlik, Performans ve Ölçeklenebilirlik(Security, Performance and Scalability)
Support for 64-bit System Itanium 2 and x64
SQL Server 2005 64-Bit sürümü, Intel Itanium işlemcisi için iyileştirilerek daha gelişmiş bellek yönetimi(daha fazla bellek adresleyebilmeyi) sunar. Bu özellik buffer pool, cache ve sort heaps işlemleri için disk okuma veya yazma durumlarında daha az I/O işlemi yapmasını sağlamaktadır. 64 bit modunda çalıştığı için daha hızlı işlem yapabilme özelliğine sahiptir.
Security
SQL Server 2005 ile birlikte güvenlik konusunda daha yüksek ve etkin çözümler sunulmaktadır: SQL Server login şifreleri için windows password policy’leri(şifre politikaları) artırılmış ve owner ile schema kavramları birbirinden ayrılarak olması gereken noktaya getirilmiştir. Bu yeni güvenlik modeli sayesinde kullanıcılar nesnelerden ayrılmıştır, erişim koşulları daha detaylı belirlenebilmektedir ve veri erişimi üzerinde daha güçlü bir kontrol sağlanmaktadır. Veritabanı nesneleri şemalar içinde bulundurulmaya ve şemalar kullanıcılar tarafından sahiplenmeye başladı. Doğrudan owner veya schema bazlı yetkiler tanımlanabilmektedir.
Ayrıca database içindeki catalog nesnelerine erişme yetkisi önceki versiyonlarda olduğu gibi genelleştirmek yerine daha kısıtlı bir duruma getirildi.
Authorization
Veri tabanı yöneticilerine daha detaylı yetkilendirme yapmalarına olanak sağlanmıştır. Yöneticilerin granular, ifadeler düzeyde izinleri yönetmesini sağlar.
Authentication
SQL Server 2005 clustering, SQL Server 2005 virtual server aracılığıyla Kerberos authentication mekanizmasını desteklemektedir. Yöneticiler kullanıcı hesaplarına Windows policy’leri uygulayabilmektedir.
Native Encryption
SQL Server 2005, veri tabanını ve client/server iletişimlerini encrypt eder. Güvenliği merkezi biçimde sağlamak için server politikası, şifrelenmemiş iletişimi geri çevirecek şekilde konfigure edilebilir.
SQL Server and Trustworthy Computing
Trustworthy Computing(Güvenilir Hesaplama), Microsoft’un önemsediği güvenlik vizyonunun başında gelen bir konu olup sistem üzerindeki tüm uygulamaların güvenli ve güvenilir bir şekilde ilerlemesini içerir. 2002’de başlayan bu girişim sayesinde Microsoft’taki her ürün güvenlik, gizlilik ve güvenilirlik bakımından en üst seviyeye çekildi. Bu güvenlik seferberliği doğrultusunda SQL Server 2005 üzerinde tasarım, dağıtım, yönetim ve bakım süreçlerinde sistemlerin gizliliği, tutarlılığı ve sürekliliğini sağlanmıştır. Böylece güvenlik zaafları mümkün olduğunca azaltılmak amaçlanmıştır.
Bu süper yazı için teşekkürler. Kesinlikle tekrar ziyaret etmekten keyif duyacağım bir site. Tebrikler.