Makale Özeti

SQL Serverın temel özellikleri. Temel kavramların açıklanması.

Makale

New Page 1

SQL Server nedir ?

 

SQL Server’ı iki tür veritabanını yönetmek için kullanırız. Bunlar OLTP (Online Transaction Processing) veritabanları ve OLAP (Online Analytical Processing) veritabanları. Genel olarak farklı client’lar network üzerinden haberleşerek veritabanlarına erişirler.

 

SQL Server ile terabyte boyutundaki veritabanlarını yönetebilirsiniz. Birden fazla server arasında Windows Clustering yaparak SQL Server’ı kullanabilirsiniz.

 

SQL Server’a giriş

 

SQL Server ile yoğun verileri işleyebilir, saklayıp analiz edebilir ve yeni uygulamalar geliştirebilirsiniz. SQL Server OLTP ve OLAP için gerekli olan veri saklama ürünlerini ve teknolojilerini destekler. SQL Server bir ilişkisel veritabanı yönetim sistemidir (RDBMS: Relational database management system).SQL Server;

 

·          Veri işleme ve analiz için saklanan veri yığınlarını yönetebilir.

·          Client uygulamalarından gelen isteklere cevap verebilir.

·          SQL Server ve clientlar arasında veri göndermek için T-Sql (Transact SQL), XML, MDX veya SQL-DMO kullanabilir.

 

İlişkisel Veritabanı Yönetim Sistemi (RDBMS)

 

Bir RDBMS aşağıdaki işlemlerden sorumludur;

 

·          Bir veritabanındaki veriler arasında ilişkiler kurmak

·          Verileri hatasız bir şekilde saklamak ve veriler arasında tanımlanan ilişkileri bozmamak

·          Bir sistem hatası durumunda tüm verileri kurtarabilmek

 

Veri saklama modelleri

 

SQL Server OLTP ve OLAP veritabanları yönetebilir.

 

OLTP Veritabanları: Bir OLTP veritabanı içinde veriler genellikle ilişkisel tablolar içinde organize edilir. Gereksiz veri yığınları azaltır ve veri güncelleme hızını arttırır. SQL Server çok sayıda kullanıcının gerçek zamanlı olarak veri analiz edebilmesini ve güncellemesini sağlar. Örnek olarak OLTP veritabanları havayolu bilet satış bilgileri ve bankacılık işlemlerini içerir.

 

OLAP Veritabanları: OLAP teknolojisi büyük verilerin organize edilmesi ve incelenmesini sağlar. Örneğin bir analist büyük verileri hızlı ve gerçek zamanlı olarak değerlendirebilir.SQL Server Analiz Servisi toplu raporlama ve analizde, veri modelleme ve karar desteğe kadar geniş alanda çözümler sunar.

 

Client Uygulamaları

 

Kullanıcılar SQL Server ve Analiz Servisine direct olarak ulaşamaz; verilere erişmek için yazılmış client uygulamaları kullanırlar. Bu uygulamalar SQL Server aşağıdaki yöntemlerle ulaşırlar;

 

Transact-SQL: Bu sorgulama dili SQL’in farklı bir versiyonudur. SQL Server kullanıcıları için birincil bir sorgulama ve programlama dilidir.

XML: Bu format bir sorgu ve prosedürün çalışması sonucu gelen verinin HTTP üzerinden URL veya şablonlar kullanılarak iletilmesidir. XML’I veritabanina veri girerken, güncellerken ve silerken kullanabilirsiniz.

 

MDX: MDX bir OLAP veritabanı içindeki çok boyutlu objelerin, sorguların ve çok boyutlu verilerin düzenlenmesini ifade eder.

 

OLE DB ve ODBC API’leri: Client uygulamaları veri tabanına komut gönderirken OLE DB ve ODBC API’lerini kullanırlar. Bu API’leri kullanarak gönderilen komutlar T-SQL dilini kullanırlar.

 

 

 

 

ActiveX Data Objects ve ActiveX Data Objects (Multidimensional)

 

ADO ve ADO MD  Visual Basic, ASP, VB Script programlama dillerinde OLE DB’yi kapsamak için kullanılır.

OLTP veritabanları içindeki verilere erişmek için ADO kullanılır. Analiz Servisi veri küpleri içindeki verilere erişmek için ise ADO MD kullanılır.

 

English Query: Bu uygulama ile kullanıcılar doğal dillerini kullanarak karmaşık T-SQL ve MDX yapılarını kurarak veritabanıdan bilgi elde edebilirler. Örneğin bir kullanıcı “Satış bölümünün bu ay ki cirosu nedir ?” diye bir soru sorabilir. Adındanda anlaşıldığı gibi sorularda ingilizce dili kullanılır.

 

Client-Server Bileşenleri

 

SQL server verileri saklamak ve tekrar almak için client, server bileşenlerini içerir. SQL server  uygulamaları temel network ve protokollerden izole etmek için katmanlı iletişim modelini kullanır.Bu yapı uygulamanız farklı network ortamlarında kullanmanızı sağlar.

 

Client-Server Mimarisi

 

SQL server iş yükünü azaltmak için server ve clientlar üzerindeki iş yükünü parçalara böler.

 

·          Client uygulama ticari hesaplama ve bunların kullanıcıya gösterilmesinden sorumludur. Bunlar her ne kadar client üzerinde çalışsa bile veri sorgularken server üzerinde çalışır.

·          SQL Server birden fazla gelen istekleri karşılayabilmek için disk, bellek, işlemci ve bant genişliği gibi kaynakları yönetebilir.

 

Client-Server mimarisi ile çeşitli ortamlar için uygulamalar dizayn edip geliştirebilirsiniz. Client uygulaması çeşitli bilgisayar ortamlarında çalışır ve SQL Server ile network üzerinden haberleşir.

 

Client Bileşenleri:

 

Haberleşme mimarisinde client bileşenleri aşağıdakileri içerir;

 

Client Applications: Bir client uygulamasındaki amaç T-SQL kodlarını göndermek ve sonuçları almaktır. Veritabanı API’si kulanarak bir client uygulaması geliştirebilirsiniz. Böylece SQL Server ile haberleşmek için kullanılan network protokolünü bilmeye gerek yoktur.

 

Database API: Database API’leri bir driver veya DLL kullanarak T-SQL kodlarını geçirir ve sonuçları alır. Bu T-SQL kodlarını gönderirken ve sonuçları alırken client uygulama ile SQL Server arasında kullanılan bir arayüzdür.

 

Client Net-Library: Client Net-Library network bağlantılarını control eder ve verileri client’a yönlendirir. Bu bir çeşit veritabanı isteklerini ve sonuçlarını paketleyip çeşitli network ortamlarında taşıyan haberleşme yazılımıdır.

 

Server Bileşenleri:

 

Haberleşme mimarisinde server bileşenleri aşağıdakileri içerir;

 

Server Net-Libraries: SQL Server aynı anda birçok Net-Library’leri izleyebilir. Bağlantının sağlanabilmesi için Client Net-Library ve Server Net-Libraries aynı olmalıdır. SQL Server şu protokollere destek verir; TCP/IP, Named Pipes, NWLink, IPX/SPX, VIA ServerNet II SAN, VIA GigaNet San, Banyan VINES ve AppleTalk.

Open Data Services: SQL Server’ın bir bileşeni olan bu uygulama network bağlantılarını izler, client isteklerini çalıştırmak üzere SQL Server’a geçirir ve sonuçları tekrar client uygulamaya döndürür. Open Data Services SQL Server’a yüklenmiş olan tüm Net-Libraries’I dinler.

 

Relational Engine: T-SQL kodlarını çalışabilir parçalara böler, optimizasyonunu yapar, tanımlanmış diğer kodları çalıştırır ve güvenliği sağlar.

 

Storage Engine: Storage Engine veritabanı dosyalarını, dosyalardaki boş alanları, fiziksel sayfalara veri giriş çıkışını, veri önbelleklerini, loglamaları, kurtarma operasyonlarını yönetir.

 

 

Client-Server Haberleşme İşlemleri

 

Client ve Serverlar tipik olarak bir network üzerinden haberleşirler. Aşağıdaki adımlar bir sorgunun veritabanı API’si kullanılarak hangi aşamalardan geçtiğini göstermektedir.

 

1.      Bir client uygulaması sorgu gönderir. Client uygulama API’yi çağırır ve sorguyu verir. API driver veya DLL’I kullanarak sorguyu bir veya daha fazla TDS (Tabular Data Stream) paketlere gruplar ve Client Net-Library’e geçirir.

2.      Client Net-Library bu paketleri networkte taşınabilecek şekilde paketler. Client Net-Library windows interprocess communication (IPC) API’sini çağırır ve işletim sisteminde yüklü olan protocol üzerinde bu paketleri server net-libraries’e gönderir. Server net-libraries bu network paketlerini çözer ve TDS paketlerinin elde eder. Data sonar bu TDS paketlerini Open Data Services’e geçirir.

3.      Open Data Services bu TDS paketlerini açar ve sorguyu relational engine’e verir. Relational engine bu sorguyu derler ve optimizasyonu yapılmış çalışabilir bir şekler çevirir. Ve çalıştırır. Relational engine storage engine ı ile OLE DB arayüzünü kullanarak haberleşir.

4.      Storage engine databaseden dönen verileri data buffer’a oradan relational engine’e verir. Relatinal Engine gelen verilere son şeklini verir ve Open Data Services’e geçirir.

5.      Open Data Services bu verileri Server Net-libraries, network protokolü, client net-library ve database API kullanarak client’a iletir. Bu sonuçlar XML şeklinde de iletilebilir.

 

 

SQL Server Servisleri

 

 

Microsoft SQL Server aşağıdaki servisleri içerir;

 

MSSQLServer service, SQLServerAgent service, Microsoft Distributed Transaction Coordinator (MS DTC) ve Microsoft Search. Bu servisler genellikle Windows 2000 üzerinde servis olarak çalışırlar fakat uygulama gibi de çalışabilirler.

 

MSSQLServer Service:

 

MSSQLServer bir veritabanı motorudur. Tüm T-SQL yapılarını çalıştıran ve veritabanını kapsayan tüm dosyaları yöneten servistir. MSSQLServer servisi;

 

1.      Sistem kaynakları birden fazla kullanıcıya paylaştırır

2.      Mantıksal hataları engeller. Mesela bir datayı aynı anda güncellemek isteyen kişileri engeller.

3.      Veri bütünlüğünü sağlar.

 

 

SQLServerAgent Service:

 

Bu servis SQL Server ile birleşik olarak çalışır ve alert’leri ve multiserver işlemlerin yönetilmesini sağlar.

 

1.      Alert’ler bir işlemin sonuçları hakkında bilgi verir. Mesela bir sorgu bitti veya çalışma sırasında bazı hatalarla karşılaşıldı gibi.

2.      SQLServerAgent görev oluşturma ve zamanlama aracı ile bazı işlemlerin otomatikleştirilmesini sağlar.

3.      SQLServerAgent servisi bir problem olduğunda mail atabilir, çağrı cihazına mesaj gönderebilir veya başka bir uygulamayı çalıştırabilir. Mesela bir veritabanı dolduğunda veya bir yedekleme işlemi bittiğinde size mail atmasını sağlayabilirsiniz.

 

Microsoft Distributed Transaction Coordinator:

 

MS DTC bir işlem ile birden fazla farklı kaynağın üzerinde işlem yapılmasını sağlar. Mesela bir işlem ile tüm serverlar üzerinde kalıcı bir güncelleme işlemi yapabilir veya yapılmış bu işlemi hepsinden geri alabilir.

 

Microsoft Search:

 

Microsoft Search Windows 2000 üzerinde çbir servis olarak çalışan full-text bir arama motorudur.

SQL Server Entegrasyonu

 

SQL Server Microsoft işletim sistemi ve diğer server uygulamaları ile bütünleşik çalışabilen client-server bileşenlerine sahiptir. Farklı işletim sistemleri üzerinde bulunan Internet tarayıcıları ve diğer üçüncü parti yazılımlar SQL Server’a erişebilmektedir

 

İşletim Sistemi ve SQL Server Entegrasyonu

 

SQL server belirttiğimiz gibi farklı işletim sistemleri üzerinde çalışabilen client ve server bileşenlerine sahiptir.

 

Client Bileşenleri:

 

SQL Server 2000’nin tüm versiyonlarındaki client bileşenleri Windows CE sürümü hariç tüm Windows 2000, Windows NT, Windows ME 95 ve 98 sürümleri üzerinde çalışabilmektedir.

 

Tüm SQL Server CE sürümü bileşenleri ise Windows CE üzerinde çalışabilmektedir.

 

Server Bileşenleri:

 

SQL Serverin değişik sürümleri Windows 2000, CE, ME, 98 ve 95 işletim sistemleri üzerinde çalışabilmektedir. İşletim sistemi ve SQL server’in spesifik özelliklerinden dolayı server bileşenlerinde bazı kısıtlamalar olmaktadır.  Mesela Windows NT 4.0 üzerine SQL Server 2000 kurabilmek için SP5 gerekmektedir. Ve sadece veritabanı motoru ve analiz server gibi server bileşenleri işletim sistemine gore kısıtlanmaktadır. Örneğin Windows 2000 Pro, ME, 98, 95 ve NT Workstation gibi işletim sistemlerine SQL Server 2000 Enterprise Edition’I kuramazsınız sadece SQL Server 2000 EE Cd’sini client yazılımını kurmak için kullanabilirsiniz.

 

SQL Server 2000 ve Windows 2000 Entegrasyonu

 

SQL Server tam anlamıyla Windows 2000 ile entegre olabilmekte ve Windows 2000’nin özelliklerinden ileri gelen tüm avantajlarından faydalanabilmektedir.

 

Active Directory:

 

Serverlar ve özellikleri server start edildiğinde otomatik olarak active directory içine kaydedilmektedir. Kullanıcılar istedikleri server’a active directory search kullanarak erişebilmektedirler. Örneğin; Bir kullanıcı bir veritabanını tüm SQL Server’la üzerinde aratabilmektedir. Veya Active Directory üzerinden SQL Server üzerindeki veritabanlarıa bakabilmektedir.

 

Security:

 

SQL Server Windows 2000 güvenlik sistemine entegre olarak çalışmaktadır. Bu entegrasyon kullanıcıların tek bir kullanıcı ismi ve şifresi ile hem SQL Server’a hem de Windows 2000 kaynaklarına erişmesine izin vermektedir. SQL Server Windows 2000 encryption metodlarını kullanmaktadır. Kerberos gibi. SQL Server Windows 2000 güvenliğinden ayrı olarak kendiside güvenlik sistemi barındırmaktadır. Kullanıcılar Windows 2000 den ayrı olarak SQL Server kullanıcı ismi ve şifrelerinede sahip olabilmektedir.

 

Multiprocessor Desteği:

 

SQL Server Windows 2000’in SMP(Symmetric multiprocessing) özelliğini de desteklemektedir. SQL server sisteme eklenen yeni bir işlemcinin avantajlarından otomatik olarak faydalanablmektedir.

 

Microsoft Olay Günlüğü (Event Viewer):

 

SQL Server sorunların takip edilebilmesi ve çözüme kavuşturulabilmesi için Windows 2000’de kullanılan olay günlüğünün uygulama, güvenlik ve system alanlarına mesajlar yazabilmektedir.

 

 

 

 

 

Windows 2000 Component Servisleri:

 

Component servisleri COM ve Transaction Server’a dayanmaktadır. Böylece daha fazla işlem, güvenlik, yönetim kolaylığı, uygulama yönetimi, uygulama paketleme özelliklerinden faydalanılabilmektedir.

 

Windows 2000 Sistem Monitörü:

 

SQL Server system monitörüne performans ölçülerini gönderebilmektedir. Böylece SQL Serverin değişik açılardan performansı incelenebilmektedir.

 

Microsoft Internet Information Service:

 

Internet tarayıcısı ile SQL Server veritabanlarına erişimi sağlamaktadır.

 

Windows Clustering:

 

SQL Server Windows 2000 Advanced Server’in bir özelliği olan clustering servisinden faydalanabilmektedir. Böylece makinalardan bir tanesinde sorun olursa diğer makinaya konumlanabilmekte ve işlemler aksamadan devam etmektedir.

 

SQL Server ve Diğer Microsoft Server Uugulamaları Entegrasyonu

 

SQL Server en iyi şekilde diğer Microsoft Server uygulamaları ile entegre olabilmektedir. Microsoft bir grup server uygulamaları ile iş çözümleri üretmenize yardımcı olmaktadır. Aşağıdaki tabloda SQL Server ile sıkça beraber kullanılan server’lar listelenmiştir.

 

Microsoft Exchange Server:

 

SQL Server’in email göndermesini sağlamaktadır. SQL Server veritabanında problem olduğunda veya belirlenen senaryolar sonucunda ilgili kişilere mail atabilmektedir.

 

Microsoft Host Integration Server 2000:

 

PC tabanlı networkleri SNA protokolünü kullanarak IBM ortamlarına bağlamaktadır. Böylece SQL Server IBM mainframe ve AS/400 uygulamaları ile entegre olabilmektedir.

 

Microsoft System Mnagement Server:

 

Bilgisayar yazılımlarını, donanımlarını ve SQL Server veritabanlarını yönetmeye yardımcı olur.

 

 

 

 

 

Muhittin Çelik

19.06.2001