Kategori: GENEL MİMARİ

Execution Planda Spool Kavramı(Eager Spool, Lazy Spool)

Execution Planda bazen Eager Spool, Lazy Spool gibi operatörler görüyoruz. Bu makalede bu operatörlerin ne iş yaptığına değineceğiz. Eager Spool ve Lazy Spool mantıksal operatörlerdir. Genelde bu ifadeleri Index Spool, Table Spool, Window Spool ve Row Count Spool gibi fiziksel operatörlerle beraber görürüz.   Bu operatörlerin amacı nedir ve execution planda ne zaman görürüz?   […]

SQL Server’da DeadLock Nedir?

DeadLock nedir? Film yıldızı ismi gibi dursada uygulamalarda ciddi anlamda sıkıntıya sebep olmaktadır. DeadLock’ı kısaca özetlemek istersek iki veya daha fazla transaction’ın birbirini kilitlemesi ve ikisinin de birbirini beklemeye başlamasıdır. SQL Server bu durumun sona ermeyeceğini anlar ve transaction’lardan bir tanesini kill edip rollback yapar. DeadLock örneği için verilen en klasik örnek şudur: İki öğrenci […]

SQL Server Storage Kavramları(Page, Extents, GAM, SGAM, PFS, IAM, BCM, DCM)

SQL Server’ın storage üzerindeki en temel birimi Page’dir. Her bir page 8 KB’dan oluşur. İşletim sisteminden disk allocate eden(mdf ya da ndf dosyalarının büyümesi,disk alanı tahsis etmesi olarak düşünebilirsiniz.)mdf ya da ndf dosyaları mantıksal olarak page’lere bölünür. Disk üzerinden yapılan IO page seviyesinde gerçekleşir. SQL Server Page’leri yönetmek için Extent’leri kullanır.   Her Extent 8 […]

Database Checkpoint Nedir

Bu makaleyi okumadan önce transaction log dosyasının önemini kavramanız gerekir. “SQL Server Transaction Log Nedir” isimli makalemi okumanızı tavsiye ederim. Bu makaleyi bir çok kişide sql server’ın çalışma prensibi ile ilgili soru işaretleri olduğu için yazmak istedim. Bu makalede sizi teoriyle biraz sıkabilirim. Ama SQL Server üzerinde derinleşmek isteyen herkesin ısrarla okumasını istediğim bir makale. […]

SQL Server Transaction Log Nedir

SQL Server’da gerçekleşen her transaction’ın ve bu transaction’lar tarafından gerçekleşen veritabanı modifikasyonlarının  tutulduğu log dosyasıdır. Transaction Log dosyasındaki her kayıt unique(tekil,eşsiz) olarak bir numaraya sahiptir. Buna LSN(Log Sequence Number) denir.LSN2 her zaman LSN1’den büyüktür. Transaction Log’ları restore ederken message kısmında lsn’i görebilirsiniz. SQL Server’ın mimarisini anlamak için Transaction Log’un önemini kavramak gerekir. Her veritabanında en […]