Yaptıklarımı sadece yaptığım zaman anlayabilirsiniz.

28 Mart 2009 Cumartesi

SQL Server Cahce Nedir ? , Ne İçin Kullanılır ? , Nerede ve Ne Kadar Kullanılır ?

Selam arkadaşlar bu gün sizlere bu makalemde SQL Server 2005 ile gelen bir özellik SQL Cahce'den bahsedeceğim... SQL 2005 ile gelen en büyük özelliklerden birisi CLR oldu yani Common Language Runtime peki nedir bu? basit bir örnekle hemen aradan çıkartalım ve cahce hakkında yazmaya başlayayım...CLR ile C# veya VB.Net ile yazdığımız bir dll'i SQL Server'a import edip SQL Server içerisinde bu DLL'i kullanıyoruz mesela bankalar için yazılan özel şifreleme algoritmaları içeren kodları dll haline getirip SQL Server'a gömerler ki Client yani istemci tarafındaki yükü direkt SQL Server'a yükler ve Client üzerindeki yükü azaltırlar...Konu dışına çıkmaya başladık (:

Şimdi konu başlığımıza tekrar geri dönelim nedir bu SQL Cahce aslında SQL Server 2000'dede bulunan ancak çok fazla ayar isteyen karmaşık görünsede çok basit bir veri taşıma modeli.Cahce ön bellek kelimesi olarak geçer...Bildiğiniz gibi SQL Server kurulu makinelerde makine start aldığı andak sistem açılmaya başlarken SQL Server içerisindeki DB bilgilerini şifreli bir şekilde RAM'in geleneksel bölge kısmına yükler...
Bu yükleme esnasında şifreleme her zaman heap içerisinde çözülecek şekilde yapılır.Yani C++ ile pointer yazıp takip edemezsiniz.Herneyse daha bu veriler buraya yüklendikten sonra
"select * from products" şeklinde bir sorgu attığımızda bize çok hızlı bir şekilde cevap vermesini sağlamasının nedeni budur ancak cahce çok daha farklı bir yapıdır...
Belli aralıklarla bellirlenen veriler hafızaya alınır..

Mesela ziyaretçilerin gezdiği ve içerisinde bol datanın olduğu bir sayfa ? Ne olabilir ürünler sayfamız olabilir...Şimdi her ziyaretçi yani client için SQL Server'a baglantı açıp kapatmak ve her defasında aynı verileri çekmek ;
SQL Server'ı yorar
Server'ı yorar
Çok fazla band yer ( ekstra maaliyet açar)
Sitenizi yavaşlatır.
Kullanıcıyı kaçırır.

İşte Cahce burada devreye girer .Ürünlerinizi belleğe aldırırsınız SQL Server içerisinde $'li tablolar oluşturur bunun için yani veriler çekilmiştir ve tutuluyordur istek olduğunda herkese aynı veriyi gösterir

E peki raporlamada kullanırken ya bir şaşma olursa.

İşte burası gerçekten önemli rapor çekiyorsunuz yıllık size son aldığı cahce verilerini göstermesini beklerlen bir bakarsınız ki raporda eksiklik var
Yapmamız gereken verilerin ne zaman ve ne sıklıkla cahce'ye alınacağını belirtmek olacaktır...
Burada şöyle bir kontrol şekli oluyor mesela 50 dakikada bir kontrol ettiriyor tabloyu eğer tablo içerisinde bir değişme varsa hemen onu cahce içerisine alıyor yani cahce içerisinde yenileme yapıyor...Server'ı çok az yoruyor ve veriyi size daha hızlı döndürüyor
Böylece herhangi bir saldırı oldugundada elinizde ikincil ve saglam bir veri oluyor ama erken fark etmeniz lazım >?> O verdiğiniz zaman içerisinde eğer bir değişme olduysa ve zaman dolduysa veriler değiştirilecek ve cahceye alıcak sizde avcunuzu yalayacaksınız o yüzden paranomi yaptırır...Ancak veri yenime süresi burada önemli farktör (:
İşte buradada her yeni bir veri yükleme yaptığınızda bunu elle yaptırtabilirsiniz
Bu konuyu sizlere sadece bu başlıkta çıtırdatmak amaçlı yazdım..Bu konuyla alakalı olarak derinlemesine bir makale hazırlanmaktadır..

0 yorum:

Yorum Gönder