Aylık arşivler: Temmuz 2013

Table, Index, Clustered, NonClustered, Columnstore (SQL Server Mimarisi – IV )

SQL Server veri tabanı mimarisi serisinin dördüncü bölümünde Table ve Index nesnelerinin nasıl oluşturulduğu, MDF içerisinde nasıl konumlandırıldığını detaylandıracağız. Bu amaçla temel olarak aşağıdaki kavramları incelemiş olacağız.

SQL Server Table, Heap, B-Tree (Balanced Search Tree), Index
Clustered Index,
NonClustered Index,
Columnstore Index

Okumaya devam et

Allocation Unit, IN_ROW_DATA, LOB_DATA, ROW_OVERFLOW_DATA, IAM Page (SQL Server Mimarisi – III)

SQL Server veri tabanı mimarisi serisinin üçüncü bölümünde de SQL Server underground dünyasını detaylandırmaya devam ediyoruz. Bu yazıda fiziksel ve mantıksal mimarinin temel bileşenleri olan aşağıdaki kavramları detaylandırıyor olacağız.

Allocation Unit (IAM)
IN_ROW_DATA Allocation Unit
LOB_DATA Allocation Unit
ROW_OVERFLOW_DATA Allocation Unit

Önceki makalelere aşağıdaki linklerden ulaşabilirsiniz;

SQL Server mimarisi – II (Data Page, Extent, GAM, SGAM, IAM)
SQL Server Mimarisi – I (Database Engine, Storage Engine, SQLOS)

SQL Server verileri fiziksel olarak her biri 8KB olan data page’lerde depolanır. Page’ler veri olarak ya doğrudan tablo datasını veya ona referans veren index datasını saklar. SQL Server üzerinde bir table veya index oluşturduğumuzda otomatik olarak bu nesnelerin altında bir partition oluşturulur. Sonraki yazılarda detaylandıracağımız Partition kavramı temel olarak yönetim kolaylığı ve performans açısından verilerin belli alan(-lar) bazında küçük kümelere bölümlendirilmesidir. Bir tablo bir veyda fazla partition’a içerir. Partition lar da Heap veya Clustered Index yapısında Data Row’ları içerir. Heap veya Clustered Index’a ait Page’ler kolonların verip tipine göre bir veya daha fazla Allocation Unit içerisinde yönetilir. Partition’lar kendisine ait page’leri kolonların tipine göre gruplandırır ve bunların her birine Allocation Unit denilir. “Allocation Unit” kavramını disk mimarisinden hatırlayabiliriz. Allocation Unit, disk üzerindeki sektör kümesini temsil eder yani yönetilebilir en küçük disk alanıdır. SQL Server’de de aynı amaç için kullanılmaktadır.

Okumaya devam et

Data Page, Extent, GAM, SGAM, IAM, PFS (SQL Server Mimarisi – II)

SQL Server veritabanı mimarisi ile ilgili önceki yazıda SQL Server’in bağlantı sağlama, sorgu çalıştırma ve kaynak yönetme motorlarından bahsetmiştik. Bu yazıda fiziksel ve mantıksal mimarinin temel bileşenleri olan aşağıdaki kavramları detaylandırıyor olacağız.
Page
Extent
Database File
Database File Group
Data Page, Extent, GAM, SGAM, IAM

Okumaya devam et

Database Engine, Storage Engine, SQLOS (SQL Server Mimarisi – I)

SQL Server bir makalede anlatılamayacak kadar detaylı bir mimariye sahiptir. Bu makalede hem yeni başlayanlar hem de deneyimli olanlar SQL Server mimarisinin genel yapısını aktarıyor olacağım. Makalede mimariyi anlatmakla birlikte birçok eğitim ve yazıda geçen kavramları da (Database Engine, Storage Engine, SQLOS) netleştirmiş olacağız. Microsoft’un kaynaklarında SQL Server mimarisi ile ilgili aşağıdaki diyagram bulunmaktadır.

Bu diyagrama baktığımızda karşımıza SQL Server veritabanı mimarisi ile ilgili 3 temel bileşen (component) çıkar.

1. SQL Server Network Interface (SNI)
2. Database Engine
  2.1. Relational Engine
  2.2. Storage Engine
3. SQL OS
Okumaya devam et