Makale Özeti

Günümüzde veriler ve bu verileri yöneten sistemler her zaman olabildiğince güvende ve kullanıcılar tarafından erişilebilir olmalıdır. SQL Server 2005 ile birlikte kullanıcılar ve IT profesyonelleri, en aza indirgenen downtime süresi, arttırılmış esneklik ve performans ve maksimum güvenlik özelliklerinden faydalanıyor olacaklar. SQL Server 2005, IT departmanınızın daha üretken olmasını sağlamaya yönelik pek çok yeni ve geliştirilmiş özellik içermektedir.

Makale

Table partitioning, snapshot isolation ve 64-bit desteği gibi esneklik alanındaki yenilikler SQL Server 2005’i kullanarak en yoğun veri işlemleri gerçekleştiren uygulamaları geliştirmenizi ve dağıtmanızı kolaylaştırıyor. Büyük tabloların ve indexlerin bölümlendirilmesi büyük veritabanlarında sorgu performansını büyük oranda arttırıyor.  

Tablo ve Index Bölümlendirmesi

Tablo ve index bölümlendirmesi büyük boyutlu veritabanlarının yönetimini, yönetim için harcanan işgücünü veritabanlarının daha küçük ve kolay yönetilebilir bölümlerin yönetimine yönlendirerek kolaylaştırmaktadır. Tablolardaki, veritabanlarındaki ve sunucudaki verilerin bölümlendirilmesi fikri aslında veritabanı yöneticilerine çok yabancı kavramlar değil ancak SQL Server 2005 veritabanı yöneticilerine yeni ve işleri oldukça kolaylaştıran bir özellik olarak, tabloların bir veritabanındaki dosya gruplarına bölümlendirilmesi özelliğini sunmaktadır. Yatay bölümlendirme tablonun bir bölümünün belirli bir bölümlendirme şeması doğrultusunda daha küçük gruplarda bölümlendirilmesine olanak tanımaktadır. Tablo bölümlendirme özelliği yüzlerce gigabytelık veya terabytelık veritabanlarına göre tasarlanmıştır. 

Snapshot Isolation

Veri Analiz odaklı bir veritabanına bir defa kopyalandığında, değiştirildiğinde ve arşivlendiğinde, düzenli olarak bakım yapılmalı veya yeniden oluşturulmalıdır. Kullanıcıların çalıştıkları veritabanları, özellikle yoğun işlemlerin gerçekleştiği veritabanlarının yer aldığı uygulamalarda, kullanıcılar çoğunlukla güncelliğini yitirmiş veritabanlarını görüntülemektedirler. Veritabanını yeniden oluşturmak ve indexlemek oldukça uzun zaman ve çaba gerektirir. Bu, snapshot isolation’ın devreye girdiği noktadır. Snapshot Isolation level kullanıcıların en son güncellenmiş satırı görüntülemesine olanak verir. Böylece;

  • Read-Only uygulamalar için arttırılmış veri sürekliliği
  • OLTP ortamında engellenmeyen okuma işlemleri
  • Yazma işlemlerinde otomatik zorunlu çakışma denetimi
  • Uygulamaların Oracle’dan SQL Server’a kolayca geçişi

avantajlarını sunmaktadır.  

Replication Monitor

Replication Monitor, sunduğu kolay anlaşılır (sezgisel) arayüz ile kompleks replikasyon işlemlerinin yönetiminin kolaylaştırılmasını sağlayan yeni bir araçtır.

64-Bit, Itanium2 ve x64 Desteği

Intel Itanium işlemcisi için optimize edilmiş SQL Server 2005 64-Bit sürümü, veriyi diskten okumak ve diske yazmak için çoklu I/O işlemi gerektiren işlemlerin gerçekleştirilmesini, buffer havuzları, cacheler ve sıralama yığınları (sorted heaps) gibi zorunlu işlemlerde daha çok bellek adresleme yeteneği ile engellemektedir.    

Windows Server™ 2003 hem 32-bit hemde 64-bit uygulamalar için aynı sistem üzerinde yüksek performans sunuyor. Mimari açıdan 64-bit yapı, günümüzde standart halinde olan x86 komut setine dayanıyor ve böylece günümüz 32-Bit uygulamaları x64 işlemcilerde doğal olarak çalışabiliyorlar. Aynı zamanda yeni 64-Bit uygulamalar ise daha fazla bellek erişim imkanı veren ve daha yüksek hesaplama hızına sahip olan 64-Bit modda çalışıyorlar. Sonuç olarak ortaya çıkan platform 32-Bit uygulamaların sağlıklı ortamını, 64-Bit uygulamalara taşımak için hazır, güçlü bir yapıya sahip oluyor.

Güvenlik

SQL Server 2005 ile birlikte veritabanı platformunda, daha yüksek ve kesin veri güvenliği sağlamak amacıyla çok önemli yenilikler geliyor. Kritik verilerin güvenliğini sağlamak amacıyla SQL Server 2005’te oldukça önemli yatırımlar yapıldı. Bu yatırımlar veri güvenliğini korumada şu imkanları sağlıyor;

  • Kimlik doğrulama aşamasında SQL Server login parolalarına policy’lerin uygulanması
  • Çok daha detaylı yetkilendirme yapabilme imkanı
  • Güvenlik yönetim alanında owner ve schema ayrımı yapabilme imkanı

Authorization

SQL Server 2005 veritabanı yöneticilerine çok daha detaylı yetkilendirme yapabilme ve yetki yönetiminin çok daha kolay ve doğru gerçekleştirebilme imkanı sunuyor. SQL Server 2005 ile bir modül içinde hangi ifadelerin çalıştırılmasına izin verileceğini belirleyebiliyorsunuz. Bu özellik, detaylı yetki yönetiminde son derece faydalı olmaktadır.

Authentication

SQL Server 2005 clustering, SQL Server 2005 virtual server aracılığıyla Kerberos authentication mekanizmasını desteklemektedir.  Yöneticiler standart kullanıcı hesaplarına Windows policy’leri uygulayabilmektedirler.

Native Encryption

SQL Server 2005 anahtar yönetim altyapısıyla tamamen entegre native şifreleme desteği içermektedir. İstemci/sunucu iletişimi varsayılan olarak şifrelenmektedir. Merkezi bir güvenlik sağlamak için server policy şifrelenmemiş iletişime izin vermeyecek şekilde güncellenebilmektedir.

SQL Server ve Trustworthy Computing

Trustworthy Computing, kurumların çalışmalarının güvenli bir şekilde ilerlemesini aynı zamanda güvenli bir IT platformunun sağlanmasını hedefler. Bu sayede yaşam döngüsünün her aşamasında (tasarımdan, dağıtıma, yönetim ve bakıma) verilerin ve sistemlerin gizliliğini, tutarlılığını ve sürekliliğini sağlamayı hedefler. Bunları sağlamak için SQL Server ürün grubu aşağıdaki adımları atmış durumda:

• Güvenli Tasarım. SQL Server ürün grubu SQL Server bileşenleri ve bileşenlerin etkileşimi üzerinde iki aydan fazla çalıştı. Her olası güvenlik riskine karşı ürün grubu olası riski sıfırlamak için riski pek çok farklı açıdan ele alarak çeşitli tasarım ve test çalışmaları yaptılar. Yapılan tasarım çalışmalarının sonucunda SQL Server 2005 pek çok yeni güvenlik özelliği içermektedir. 

• Varsayılan Güvenlik. Kurulum sonrasında SQL Server 2005, kurulum seçenekleri doğrultusunda doğru konfigurasyon değerlerini kendi belirleyerek sistemin varsayılan olarak güvenli olmasını sağlar.

• Güvenli Dağıtım. Microsoft, SQL Server dağıtımında doğru güvenlik tanımlamalarını kullanmanızı ve gerekli adım ve yetkileri tam olarak yorumlayabilmenizi sağlamak amacıyla gerekli içeriği hazırladı. SQL Server dağıtım araçları dağıtım esnasında vermeniz gereken kararları tam olarak algılayabilmenizi sağlar ve doğru kararları vermeniz için sizi yönlendirir. Güvenlik güncellemelerinin bulunması ve yüklenmesi artık son derece kolay. Aynı zamanda bu iş, eğer ilgili seçeneği aktif hale getirirseniz kendiliğinden gerçekleştiriliyor.   

Developer Productivity

SQL Server 2005 geliştirici üretkenliğini son derece arttıran pek çok yeni teknoloji sunmaktadır. .NET Framework desteğinden, Visual Studio entegrasyonuna bu özellikler geliştiricilere daha sağlam ve güvenli veritabanı uygulamalarını daha düşük maliyetlerle geliştirebilme imkanı vermektedir. SQL Server 2005 geliştiricilere sunduğu geliştirme platformunda, farklı dillerdeki deneyim ve bilgilerinden faydalanabilme imkanı sağlamaktadır. Native XML yetenekleri geliştiricilere her türlü platform ve cihaz ile iletişim kurmaya yönelik yeni sınıflar geliştirme imkanı sağlamaktadır. 

Geliştirici üretkenliği başlığındaki yenilikleri şu alt başlıklar altında ele alıyor olacağız:

• Genişletilmiş dil desteği

• Geliştirilmiş geliştirme araçları

• Extensibility

• Geliştirilmiş Veri Erişim 

• XML ve Web servisleri

• Application Framework

Genişletilmiş Dil Desteği

Common Language Runtime’ın veritabanı motoruna entegre edilmesiyle birlikte uygulama geliştiriciler çalışırken Transact-SQL, Visual Basic.NET, Visual C#.NET gibi dillerden istediklerini kullanabiliyorlar. Ek olarak bu entegrasyon uygulama geliştiricilere kullanıcı tanımlı tür ve fonksiyonlar sayesinde daha fazla esneklik sunmaktadır. CLR aynı zamanda veritabanı uygulamalarında 3. parti kodların kullanımına olanak tanımaktadır.

CLR/.NET Framework Entegrasyonu

SQL Serer 2005 ile birlikte veritabanı programcıları Microsoft .NET Framework Class Library’nin ve modern programlama dillerinin sunduğu tüm avantajlardan faydalanabilmektedirler. CLR entegrasyonu sayesinde stored procedure’ler, fonksiyon ve triggerlar istenilen .NET dili ile geliştirilebilmektedir. Hem Visual Basic hem de Visual C# dilleri nesne yönelimli yapılar, yapısal hata yönetimi, diziler, namespace’ler ve sınıflar gibi özellikler sunmaktadır. Ek olarak .NET Framework sunucu tarafında kullanılabilecek binlerce sınıf ve metod sunmaktadır. Transact-SQL ile gerçekleştirilmesi mümkün olmayan veya çok zor olan pek çok işlem, managed kod ile kolayca gerçekleştirilebilmektedir. Ek olarak iki yeni veritabanı nesnesi; aggregate’lar ve kullanıcı tanımlı türler kullanılabilmektedir. Özetlemek gerekirse SQL Server 2005 veritabanı sunucunuzu bu güne kadar hiç olmadığı kadar yetenekli ve pek çok işlemi ek uygulamalara gerek duymadan, güvenli bir şekilde gerçekleştirebilen bir platforma dönüştürmektedir.  

SQL Server’ın CLR ile entegrasyonun bize sunduğu avantajları şöyle özetleyebiliriz:

• Geliştirilmiş Programlama Modeli: .NET dillerinin kullanılabiliyor olmasıyla veritabanı geliştiricileri artık Transact-SQL’in sınırlamalarına bağlı kalmadan çok daha fazla işlemi veritabanı sunucusu üzerinde gerçekleştirebiliyorlar.

• Geliştirilmiş Güvenlik: CLR ortamında çalıştırılan managed kod veritabanı motorunda host edilmektedir. Bu .NET Framework veritabanı nesnelerinin SQL Server’ın önceki versiyonlarında bulunan extended stored procedure’lere göre daha güvenli olmasını sağlamaktadır.

• Kullanıcı Tanımlı Türler ve Aggregate’lar: CLR tarafından depolama ve sorgulama yeteneklerini arttıran iki yeni veritabanı nesnesi sunulmaktadır.

• Ortak Geliştirme Ortamı: Veritabanı geliştirme işlemleri Microsoft Visual Studio 2005’e entegre edilmiş durumda böylece uygulama geliştiriciler .NET uygulamalarını geliştirirken kullandıkları platformdan ayrılmadan veritabanı işlemlerini gerçekleştirebiliyorlar.

• Performans ve Esneklik: Managed kod çalıştırılmadan önce native koda dönüştürüldüğünden pek çok senaryoda oldukça fazla performans artışı gözlemlenmektedir.
 

Visual Basic.NET ve Visual C#.NET gibi dilleri kullanarak CLR entegrasyonunun sunduğu avantajları kullanarak çok daha karmaşık mantıksal ve yüksek hesaplama gerektiren kodları kolayca yazabilirsiniz. Ek olarak Visual Basic.NET ve Visual C#.NET nesne yönelimli mimariye özgü, encapsulation, inheritance ve polymorphism gibi pek çok özellikler sunarak fazla miktarda kod içeren projelerde ilgili kodları kolayca sınıf ve namespace’lere dahil edebilmenizi sağlamakta ve böylece projelerin yönetimini oldukça kolaylaştırmaktadır. Kodların mantıksal ve fiziksel olarak assembly ve namespaceler halinde organize edilebilyor olması büyük boyutlu veritabanı projelerinin yönetim ve geliştirilmesinde oldukça büyük kolaylıklar sağlamaktadır.

Managed kod sayısal işlemlerde ve karmaşık mantıksal işlemlerde Transact-SQL’e göre çok daha etkili olmakla birlikte sunduğu string handling, regular expression’lar gibi özelliklerle veritabanı işlemlerini oldukça kolaylaştırmaktadır. Bununla birlikte CLR tarafından sunulan matematiksel işlemler, tarih işlemleri, sistem kaynaklarına erişim, xml veri işlemleri, gelişmiş şifreleme algoritmaları, dosya erişimi ve işlemleri, image processing gibi binlerce fonksiyona, stored procedure, trigger veya kullanıcı tanımlı fonksiyonlardan doğrudan erişebilmekteyiz.

Type safety, managed kodun sunduğu en önemli avantajlardan bir diğeri. Managed kod çalıştırılmadan önce CLR tarafından pek çok denetim gerçekleştirilerek kodun çalıştırılmaya uygun olup olmadığı denetlenir.

Transact-SQL Yenilikleri

Transact-SQL şu ana kadar SQL Server’ın ana dili halindeydi. SQL Server 2005 ile birlikte Transact-SQL’de ölçeklenebilir veritabanı uygulamaları geliştirebilmeye yönelik pek çok yenilik yer alıyor. Bu yenilikler; hata yakalama, rekursif sorgulama yeteneği ve yeni SQL Server veritabanı motoru yeteneklerinin desteklenmesi şeklinde özetlenebilir. SQL Server 2005 ile birlikte gelen Transact-SQL yenilikleri sorgu oluşturma konusundaki olanakları genişletirken sorgu performansının artması ve hata yönetimi konusunda sunulan yeni olanakları içermektedir.    

Geliştirilmiş Geliştirici Araçları

Visual Studio geliştirme ortamı entegrasyonu sayesinde uygulama geliştiriciler artık Transact-SQL, XML, Multidimensional Expressions (MDX) ve XML for Analysis (XML/A) için tek bir geliştirme aracı kullanıyor olacaklar.

Business Intelligence Development Studio

Business Intelligence Development Studio, BI çözümleri geliştirmekte kullanılan, veritabanı motoru, analysis services ve reporting services bileşenlerini kullanan Visual Studio tabanlı bir araçtır. Business Intelligence Development Studio grafik arayüzü ile veri yönetim uygulamaları için SQL Server Integration Services (SSIS) paketleri oluşturabilirsiniz. Business Intelligence Development Studio ortamında SSIS paketleri toollbox’tan tasklerin sürüklenip bırakılması, özelliklerinin belirlenmesi ve görevlerin önceliklerine göre bağlanmaları şeklinde gerçekleştirilir. Şekil 1:3  Visual Studio for the Business Intelligence Development Studio arayüzünü göstermektedir.

 

Şekil 1:3 :: Visual Studio for the Business Intelligence Development Studio

Visual Studio Entegrasyonu

SQL Server 2005 ve Visual Studio entegrasyonu daha önceden hiç olmadığı kadar güçlü bir veritabanı geliştirme platformu sunuyor. Uygulama geliştiriciler artık Visual Studio arayüzünden CLR stored procedure'leri, fonksiyonlar ve kullanıcı tanımlı türler geliştirebilmekte ve dağıtabilmektedirler. Visual Studio 2005 tüm yeni SQL Server veri türlerini desteklemektedir.

Cross-Tier ve Cross-Language Debugging

SQL Server 2005 ve Visual Studio 2005 entegrasyonu çok daha detaylı hata ayıklama imkanı sunmaktadır. Bu entegrasyon sayesinde hem CLR hem de Transact-SQL kodlarını, kodların bulunduğu yerden bağımsız olarak (geliştirici bilgisayarında veya SQL Server veritabanında olabilir) Visual Studio arayüzünden debug etme imkanı veriyor.


Kadir Sümerkent
http://www.sumerkent.com