Azure SQL Veritabanı Mimarisi
Azure SQL Veritabanı, Microsoft’un sunduğu yüksek seviyede ölçeklenebilir ve çoklu kiralanabilir yüksek düzeyde kullanılabilir bir Platformas-a-Service (PaaS) veya Database-as-a-Service (DBaaS) veritabanı hizmetidir.
Microsoft; işletim sistemi, disk yönetimi,network, sanallaştırma, versiyon geçişleri, sunucu kurulum ve bakım gibi işler ile bizim yerimize ingileniyor olur. Biz ise sadece veritabanını kullanıyor oluruz.
Azure SQL Veritabanı aşağıdaki dağıtım seçeneklerine sahiptir.
- Single
- Elastic Pool
- Managed Instance
Azure SQL veritabanı, kullanıcılarının sadece verileri yönetmeye odaklanmasına olanak tanır ve kullanıcılara ilişkisel veritabanı işlevselliği sağlamak için dört katman üzerinde çalışır.
- Client Layer
- Service Layer
- Platform Layer
- Infrastructure Layer
Client Layer
Client Layer (İstemci katmanı) , uygulamaların bir SQL veritabanına erişmesi için bir arayüz görevi görür. On-Prem ortamda yada Azure üzerinde olabilir.SQL Server, Tabular Data Stream (TDS – bir veritabanı sunucusu ve bir istemci arasında ki veri aktarımını sağlamak için oluşturulan uygulama katmanı protokolü) kullanarak uygulamalar ile iletişim kurar. Bu uygulamalar .NET, ODBC,ADO.NET gibi olabilir. Java’da herhangi bir ek gereksinim yada kuruluma ihtiyaç duymadan Azure SQL Veritabanına bağlanabilir.
Service Layer
Hizmet katmanı, istemci ve platform katmanları arasındaki bir ağ geçidi olarak görev alır ve aşağıdaki işlemlerden sorumlu tutulur.
- SQL Veritabanını oluşturmak.
- SQL Veritabanına Erişim kontrolünü sağlamak
- SQL Firewall hizmeti vermek ve güvenliği zorunlu kılmak
- SQL veritabanı için kullanım miktarına göre fatura üretmek
- İstemci ile Azure SQL arasındaki bağlantılarının yönlendirilmesi
Platform Layer
Platform katmanı, veri merkezlerinde SQL veritabanlarını barındıran fiziksel sunucularda oluşur. Her SQL veritabanı tek bir fiziksel sunucuda depolanır ve iki farklı fiziksel sunucuda çoklanarak yüksek erişilebilirlik sağlanır. Oluşturulan veritabanı sunucusu ile birlikte üç – 3 – farklı fiziksel sunucu oluştur (Resim-1 de görebilirsiniz.Platform katmanının iki bileşeni vardır.
- Azure Fabric : Yük yönetiminden sorumludur ve SQL veritabanlarının sunucular arasında otomatik failover yapılmasını kontrol eder.
- Management Services : Tek bir sunucunun sağlık durumunu, yama güncellemeleri ile ilgilenir.
Infrastructure Katmanı
Altyapı katmanı, fiziksel donanımın ve işletim sisteminin yönetiminden sorumludur.
Resim-1
Azure SQL Veritabanı İstek Akışı
Resim-2
Uygulama, SQL Veritabanına bir TDS – Tabular Data Stream – isteği gönderir ( Oturum açma, DDL, DML işlemleri vs.)TDS, platform katmanına talebi göndermeden önce hizmet katmanında ağ katmanına isteği doğrulatır sonrasında platform katmanına iletir. Eğer gelen istek TDS tarafından doğrudan platfrom katmanına iletilseydi oturum açma ve güvenlik duvarı kontrolleri sağlanamamış olacak ve belki de bir dDos saldırısına mağruz kalıyor olacaktınız.
Resim-2 de gösterildiği gibi Platform katmanının üç node’u vardır. Her node, bir sql veritabanının birincil bir kopyasına ve iki farklı fiziksel sunucunun, iki farklı sql veritabanın ikincil kopyasına sahiptir.
Hepinize DATA’lı günler dilerim.
Çağlar Özenç
DMC Bilgi Teknolojileri