SQL Server ve Veri Madenciliği 5 – Veri madenciliği ile ilgili yaygın yaklaşım hataları


Serimizin devamında Excel üzerinden veri madenciliğinin uygulamalarını göreceğiz. Ancak daha başlamadan yaygın olarak görülen bazı yaklaşım hatalarından bahsetmekte büyük fayda var.

Matematiksel ve istatistiksel yaklaşımları karıştırmak:

Cebir gibi matematiğin kesinlik içeren alanlarında beklentilerimiz kesindir: İki artı iki eşittir dört! İki artı ikinin dört etmediği tek bir durum bile beklemeyiz.

İş hayatında ise belirsizliklere daha alışığız. Beklentilerimizin gerçekleşmeyebileceğini düşünür, ona göre önlemler alırız.

Her nedense, iş hayatında belirsizliklerle uğraşmaya alışık pek çok insan, veri madenciliği gibi bir yapının çıktılarına matematiksel kesinlik beklentisiyle bakabiliyor. Oysa veri madenciliği kesin matematiğe değil, istatistiğe dayanır.

İstatistiği şöyle hatırlayın: Hilesiz bir parayı attığınızda yazı ya da tura gelme olasılığı eşit ve yüzde ellidir. Bir parayı çok kere attığınızda yüzde elliye daha yakın bir dağılım beklemeniz makuldür. 1000 kere attığınızda muhtemelen 500’er kereye yakın yazı ve tura gelecektir. Ancak 1000 tanesinin de yazı gelme olasılığı da çok çok çok küçük olmakla birlikte vardır. Son attığınız beş kerede yazı geldi diye altıncıda tura gelme olasılığı da artmaz üstelik: Hala yüzde ellidir.

Gördüğünüz gibi bir kesinlik yok. Yine de olasılıklarını bilip ona göre hareket eden iş insanları, daha başarılı olmayı bekleyebilirler.

Veri madenciliği istatistiksel bir yapıdır ve pek çok adımında içinde rassallık barındırır.

Birkaç örnek:

Veri modelleme yapıları kurulurken pek çok aracımızda verdiğimiz verinin rassal bir yüzdesi test için ayrılır. Bu da aynı veri setiyle iki ayrı makinede yapacağımız çalışmalar arasında bile farklılık olabileceği anlamına gelir. Aynı veri seti olsa da iki ayrı makinedeki test için ayrılan veriler büyük olasılıkla farklılıklar içerecektir, aynı satırlar seçilmemiş olacaktır. Sadece bu bile ufak oynamalara yol açabilir.

Bazı veri madenciliği algoritmaları işe rassal bir çözümle başlar ve adım adım bunu iyileştirmeye yönelik çalışmalar yapar. İlk çözümün farklı olması sebebiyle ulaştığımız sonuçlarda da bir miktar farklılıklar olacaktır.

Gördüğünüz gibi veri madenciliğine kesinlik beklentisiyle yaklaşmak oldukça sakıncalı. Özellikle bu konuda çıktı verdiğimiz karar alıcılarda böyle bir kesinlik algısı oluşturmamız çok riskli olacaktır. Şirketinizde veri madenciliği çalışmalarının gelişemeden ölmesine sebep olabilir böyle bir hata.

Peki istatistiksel, rassal, kesinlik yok; ne diye uğraşıyoruz? Herşey ‘lift’ yani kaldıraçla ilgili.

Diyelim ki bir aday müşteri kitlemiz var. Rastgele gidersek biliyoruz ki yaklaşık yüzde alıcı çıkacak. Veri madenciliğiyle oluşturacağımız modeller hatalar da yapmakla beraber tüm kitle yerine mesela yarısına giderek aynı yüzde yirmiyi yakalamamızı sağlayabilir. Bu da aynı satışı değişken harcamaların sadece yarısını yaparak yapabilmemizi sağlamış olacaktır. Yerine göre bunun anlamı yüzbinlerce, belki milyonlarca lira olabilir.

Veri madenciliğinin kolayca öğrenilebilecek ve uygulanılabilecek bir yetenek seti olduğunu düşünmek:

Bir bakıma doğru: Excel eklentisiyle veri madenciliğini uygulamak çok kolay. 3 günlük bir eğitimle, analist seviyesinde iyi bir Excel kullanıcısı, veri madenciliğinin temel kavramlarını öğrenip hem table tools / analyze hem de data mining tablarıyla gayet başarılı çalışmaya başlayabilir.

Ama iki bakımdan yanlış: Veri madenciliği araçlarını kullanmaya başlamadan öncesi ve kullanmaya başladıktan sonrası.

Araçları kullanmaya başlamadan önce yapmamız gereken birkaç önemli adım:

– İşle ilgili bir problem belirleyip bunu uygun şekilde veri madenciliği problemi olarak ifade etmek
– Bu problemle ilgili veri kaynaklarını tarayarak etkili olabilecek veri kolonlarını belirlemek, olası başka veri kolonlarının edinilmesi için çalışmaları yapmak, veri madenciliği çalışmaları boyunca bu kolonları gerektiği şekilde çeşitlendirmek, zenginleştirmek, başka bakış açılarıyla yoğurmak
– Veri temizliği ve doğrulama ile ilgili çalışmaları yapmak

Araçları kullandıktan sonrasıyla ilgili önemli birkaç adım:

– Oluşan çıktıları iş için doğru bir şekilde yorumlayabilmek
– Birden fazla veri modeli çalışmasını araçları kullanarak karşılaştırıp hangisinin tercih edilmesi gerektiğini belirleyebilmek
– Sonuçları yorumlayarak yapılması gerekli ek veri madenciliği çalışmalarını belirleyip başlatabilmek
– Modelin sonuçlarını iş hayatında parasal ve/veya değer olarak anlamlı sonuçlara dönüştürebilmek

Hak verirsiniz ki, bunların hiçbiri 3 günlük bir eğitimle tamamen edinilebilecek yetenekler değil. Başlangıç fikirleri eğitimde oluşabilse bile, yıllar içinde sahada uygulama yaparak pişmesi gereken yetenekler.

Veri madenciliğinin matematiksel kesinlikte olmasa da her zaman doğru sonuçlar verdiğini düşünmek:

Evet bu da bir hata! Veri madenciliği araçları onlara verdiğiniz girdiler üzerinden sonuçlar üretirler. Girdilerdeki eksik ya da hatalar sonuçların da eksik ya da hatalı olmasına sebep olacaktır.

Mesela sizin için yaşamsal öneme sahip bir çıktıyla ilgili girdileri eklerken en önemli etkiye sahip birkaç girdiyi eklemezseniz, sistem eklenmemiş girdilerin önemli olduklarını size herhangi bir şekilde ifade edemez.

Mesela hafta içi günler bazında davranış değişikliklerini incelediğiniz bir çalışmada, insanların davranışlarını gösterdikleri gün bilgisi sisteme bazı durumlarda bir, bazı durumlarda iki, hatta üç gün gecikmeli giriyorsa, davranış kalıbı gerçekle alakasız bir şekilde ortaya çıkacaktır.

Nasıl ki bir spora başlarken nasıl düşüleceğini öncelikle öğrenmek gerekiyorsa, veri madenciliğine başlarken de bu olası ve yaygın hata kalıplarının farkında olmak son derece faydalı olacaktır.

Veri madenciliği içinde yayınlandı | Yorum bırakın

Windows Azure Türkiye’de!


Windows Azure Türkiye’de! | Microsoft Türkiye Blog.

KırkAmbar içinde yayınlandı | Yorum bırakın

SQLSaturday sunumlarının kayıtları hizmetinizde


SQLSaturday sunumlarının kayıtları hizmetinizde

KırkAmbar içinde yayınlandı | Yorum bırakın

Excel Data Mining add-in’in SQL 2012 versiyonu çıktı


Şu adresten indirebilirsiniz: http://www.microsoft.com/download/en/details.aspx?id=29061

En önemli yönü şu: Artık 64 bit versiyonu da var. Sadece bu add-in yüzünden Excel 2010’unu 32 bit kullanmak zorunda kalmış olanlar için ve add-in’i denemek isteyip Office kurulumunu 64 bit yapmışken kaldırıp tekrar 32 bit yapmak istememiş olanlar için çok iyi haber.

Ayrıca Microsoft’un bu eklentiyi devam ettirmeyebileceğine ilişkin oluşmuş şüphe de ortadan kalkmış oldu.

MS İş Zekası, SQL Server 2012, Veri madenciliği içinde yayınlandı | Yorum bırakın

Veri ambarı boyutlarında ‘business key’leri anahtar olarak neden kullanmamalıyım?


Veri ambarı tasarımlarında yapılan önemli hatalardan birisi, business key olarak adlandırılan OLTP kaynak sistemdeki primary key’leri boyutlarda aynen kullanmaktır.

Aslında bir yandan mantıklı geliyor. İlgili nesneyle ilgili bir anahtar sistemim zaten var, veri ambarında da aynısını neden kullanmayayım?

Neden kullanmamanız gerektiğiyle ilgili 3 sebep size:

– Boyut tablosu tek bir veri kaynağından beslenmiyor olabilir. Şu an tek bir kaynaktan besleniyor olsa bile ileride beslenmeyecek olabilir. Şöyle bir durum düşünün mesela: Satış verilerini bir uygulamadan alıyorsunuz ve iş zekası projesi geliştiriyorsunuz üzerine. Ürün boyutu yapacaksınız. Ürün boyutunda ID olarak satış kaynak sistemindeki ID’yi kullandınız. Bir sene kadar sonra bu iş zekası çözümüne üretim tarafını da eklemek gerekti. Üretim verileri ayrı bir kaynak OLTP sisteminde. Üretimin fact’lerini oluştururken, ürün boyutuna yine bağlamanız gerekecek. Üretim verileriyle satış verilerini karşılaştırabilmek için de aynı ürün boyutuna bağlamanız gerekecek. Bu durumda ürün boyutunu beslerken her iki kaynaktan beslemeniz gerekecek. Ya kaynak sistemlerde business id’leri çakışan iki ürün gelirse? Eğer DW keyleri kullanıyorsanız, sorununuz yok. Kullanmıyorsanız…

– İkinci sebep: OLTP kaynaklarından gelen business key’leri GUID gibi çok yer kaplayan veri tiplerinde olabilirler. Bu durumda onları almayacak mıyız peki? Alacağız, ama boyutun içine attribute olarak. Key olarak kendi oluşturduğumuz DW keyleri kullanacağız? Ne fark eder? Boyuttaki bir kaydı ifade etmek için bir kere kullanılsa da, ilgili kolon değeri fact tablosunda yüzbinlerce, milyonlarca hatta yerine göre çok daha fazla satırda tekrar ediyor olabilirler. Boyutta attribute olarak tanımlanan bir kolon bundan etkilenmeyecektir. Ama boyutta key olarak tanımlanan kolon, fact tablosunda da foreign key olarak geçeceğinden yüksek sayıda satırda bize fena etki edecektir. Böyle anahtar bir kolonun diyelim int seçilmesiyle smallint seçilmesi arasında sadece 2 byte fark vardır. Ama yaklaşık 1 milyon satırda bu 2 byte fact tablosunda 2 MB eder. 1 Milyar kadar satırda ise 2 GB eder.

– Üçüncü ve belki en önemli sebep: OLTP kaynak sistemleri genelde unutkandırlar. Verilerin eski halleri tutulmaz. Oysa veri ambarı sistemlerinin tarih içindeki değişimi de takip edebilmesi ve raporlayabilmesi beklenir. Bu da boyut satırlarının tarihçesi takip edilmek istenen kolonlar için farklı versiyonlarının oluşturulmasını gerektirir. DW keyleri kullanmadan bu senaryoyu yaşatamazsınız.

MS İş Zekası, Veri ambarı içinde yayınlandı | , , ile etiketlendi | Yorum bırakın

SQL Saturday Türkiye’de


http://www.sqlserveronculeri.com/duyurular/sqlsaturday128DuyuruWeb.html

 

KırkAmbar içinde yayınlandı | Yorum bırakın

SQL Server ve Veri Madenciliği 4 – Excel Data Mining Add-in’i kuruyoruz


Bir önceki yazımızda araç setine göz atmıştık. Şimdi Data Mining add-in’i kurmaya geldi sıra.

Öncelikle eklentiyi kurup kullanabilmek için nelere ihtiyacınız olduğunu hatırlayalım:

– Eklentinin üzerine kurulacağı Excel kurulumu. Bunun için Excel 2007 ya da Excel 2010’a sahip olmanız gerekiyor. 2010 kullanacaksanız Excel’in 32 bitinin kurulu olması gerekli. Çünkü eklentinin 64 bit versiyonu yok.

– Eklenti kurulum dosyası. Bir önceki yazımızda nasıl edinebileceğinizi anlatmıştık.

– Eklenti kurulduğu zaman arka planda bağlanıp veri madenciliği işlerini yaptıracağı Analysis Services kurulumu. Buna da önceki yazımızda değinmiş ve SQL Server’ın elinizde bir kurulumu yoksa deneme sürüme nasıl ulaşabileceğinizi anlatmıştık.

– Eklentinin düzgün çalışabilmesi için yapılması gereken ayarlar. Arka planda SSAS üzerinde ve eklentinin kendi içinde yapmamız gereken birtakım ayarlar var. Bunlardan bu yazıda bahsedeceğiz.

– Veri madenciliği çalışmalarına başlayabilmek için üzerinde çalışılacak veri. Eklentiyi kurduğunuz zaman örnek veriler içeren bir dosya da geliyor. Bu yazıda ve bundan sonraki yazılarda bu dosyadan bahsedeceğiz ve içindeki verileri kullanarak örnek çalışmalar yapacağız.

Kuruluma başlıyoruz

Özetlediğimiz bileşenler konusunda gerekli hazırlıkları yaptıysak kuruluma başlayabiliriz. Öncelikle indirdiğimiz eklenti kurulum dosyasını çift tıklayarak kuruluma başlıyoruz. Kurulum hayli basit, gerekli onayları vererek ilerliyor ve kurulumu bitiriyorsunuz. Sadece kurulucak unsurlar listesinde gelen dört bileşenin ikisi seçili, diğer ikisi devre dışı olarak geliyor. Burada tamamını etkin hale getirebiliriz. Bu bileşenlerin ikisi Excel’in içinde kullanılacak bileşenler, birisi SSAS’nin ayarlarını yapmak için kullanılabilecek bir sihirbaz. Bir tanesi de Visio ile ilgili bir eklenti. Visio eklentisine bu yazı dizisinde değinmeyi düşünmüyorum. Ama kendiniz denemek isteyebilirsiniz, onu da kurmanızda fayda var.

Kurulum dosyasını çalıştırmak sadece ilk adımdı. Eklenti kurulumu bittikten sonra, henüz Excel’i açmadan yapabileceğimiz bir başka işlem daha var: Veri madenciliği motoru olarak kullanacağım SSAS’te gerekli ayarların yapılması.

Eğer kendi kontrolünüzde olan bir SSAS kurulumu varsa, bu adımı kendiniz yapabilirsiniz. Ama kurumunuz bünyesinde bulunan ve sizin kontrolünüzde olmayan bir SSAS kurulumu kullanılacaksa, orada admin haklarına sahip olan bir kullanıcıdan bu işi sizin için yapmasını rica etmeniz gerekecek.

Start > All Programs altında Microsoft SQL 2008 Data Mining Add-ins klasörü gelmiş olmalı. Bunun altındaki Server Configuration Utility’i seçiyoruz.

İlk pencere hoşgeldiniz ekranı, geçebiliriz.

Hoşgeldiniz ekranından sonraki ilk adımda bağlanacağımız SQL Server Analysis Services kurulumunu belirtiyoruz.

Sonraki adımda ise geçici modellere izin verilmesini istiyoruz. Bu adımda görülen metinler sizin kurulumunuzda farklı olabilir. Benim SSAS kurulumumda bu ayar zaten önceden yapılmış olduğu için, bir uyarı olarak bu belirtilmiş durumda. Geçici modellere izin vermemiz önemli. Çünkü Excel eklentisi içindeki iki temel araçtan birisi her durumda geçici modeller kullanıyor, diğeri ise seçimlik olarak geçici modellerle çalışabiliyor.

Sihirbazın en önemli adımlarından birine geldik. Bağlanacağımız SSAS kurulumunda veri madenciliği çalışmalarımızın içinde yapılacağı veritabanının yaratılması ya da seçilmesi. Bu işi ilk kez yapıyorsak, bu adımda Create new database seçili gelir ve isim olarak da DMAddinsDB gözükür. İster yeni bir isim vererek ister bu ismi kabul ederek veritabanı oluşturulmasını isteyebiliriz.

Burada dikkat edilmesi gereken bir konu çoklu kişi çalışmasıdır. Diyelim satış bölümünden 3, pazarlama bölümünden 2 kişi veri madenciliği çalışmalarını bu eklenti üzerinden ve arkada aynı SSAS kurulumuna bağlanarak yapacaklar. Sihirbazdaki bir sonraki adımda yaratılan ya da seçilen veritabanı üzerinde admin hakları verilmektedir. Bu sebeple kişilerin ya da bölümlerin birbirlerinin çalışmalarına müdahale edebilmesi istenmiyorsa, sihirbaz oluşturulmak istenen veritabanı sayısı kadar çalıştırılmalıdır. Eğer satışa bir, pazarlamaya bir veritabanı düşünürseniz, sihirbazı iki kez çalıştırmalısınız. Birinde diyelim SatışDM diye bir veritabanı ürettiniz, bir sonraki adımda bu veritabanına satıştaki 3 kişinin hesaplarını admin olarak atarsınız. Sihirbazı ikinci çalıştırdığınızda da PazarlamaDM diye bir veritabanı oluşturup pazarlamadaki 2 kişiyi buraya admin olarak atayabilirsiniz. Eğer 5 kişinin herbirinin çalışmaları sadece kendileri tarafından yönetilebilsin ve kullanılabilsin istiyorsanız, her kişi için ayrı bir veritabanı üretip o kişiye yetki vermek üzere sihirbazı beş ayrı kere çalıştırmanız gerekir.

Önceki ekranın açıklamasında bahsettiğimiz yetkilendirme işlerini bu adımda gerçekleştiriyorsunuz. Add düğmesine basarak aynı veritabanında birden fazla kişiye yetki atamanız mümkün.

Buradaki adım sayısı sizin kurulumunzda farklı çıkmış olabilir. Ben de daha önceden olan bir veritabanı seçildiği için sadece iki adım çıktı. Siz yeni bir veritabanı seçtiyseniz, bu ekranda o veritabanının yaratılmasına ilişkin satırlar da görürsünüz.

Böylelikle eklentimizi kurmayı bitirmeye yaklaştık. : )

Aslında kurulumumuz tamamlandı. Ama Excel içinde yapmamız gereken birkaç iş daha var. İlk hatırlatılacak unsur: Konfigürasyonu zaten yaptık. Excel’i açtığınızda gelecek konfigürasyon sihirbazında verilen mesajları okuyup gerekli seçimleri yaptığınızda bu sihirbazı tekrar gösterme seçeneğini de göreceksiniz. Onu seçerek, Excel’i her açtığınızda zaten yaptığınız bir işle ilgili sihirbazın tekrar tekrar karşınıza çıkmasına engel olabilirsiniz.

Bir sonraki yazımızda, Excel’i açtığınızda karşınıza gelmesi gereken unsurların neler olduğunu, Excel’in içinden kurduğumuz SSAS veritabanına bağlantıyı nasıl sağlayacağımızı, eklentinin görülmemesi durumunda disabled olup olmadığını kontrol edip tekrar enable etmeyi, örnek veri dosyasını açmayı ve eklentinin yardım dokümanına erişimi göreceğiz.

MS İş Zekası, Veri madenciliği içinde yayınlandı | 16 Yorum

SQL Server ve Veri Madenciliği 3 – Araç setine bakış


Veri madenciliğini anlatmaya devam ederken, artık sıra araç setine göz atmaya geldi. Problem tipleri ve uygulamaları konuşabilmek için elimizde bir araç seti olmalı.

SSAS

Microsoft’un veri madenciliğiyle ilgili temel aracı SQL Server Analysis Services. Veri madenciliği structure’ları ve modellerini sürdüğümüz yer bir Analysis Services veritabanıdır. Bu yapının process edilmesini, Analysis Services motoru gerçekleştirir. Yani veri madenciliğinin ortamı olarak SQL Server Analysis Services’i kullanacağız.

Microsoft’la zaten çerçeve anlaşmaları olan bir şirkette çalışan bir geliştirmeci iseniz, muhtemelen şirketinizin size sağlayabileceği SQL Server Developer Edition lisansı vardır. Developer Edition, SQL Server’ın Enterprise Editionla aynı yeteneklere sahip ama sadece geliştirme amaçlı kullanılabilen sürümüdür. Maliyeti son derece düşüktür ve kişisel olarak bile edinmeyi rahatlıkla düşünebilirsiniz.

Ama bir developer edition edinemiyorsanız bile, veri madenciliğiyle ilgili çalışmalar yapma şansınız var: Deneme sürümü ile. Microsoft’un SQL Server ile ilgili ana sayfasına giderseniz, sayfanın en altlarında site haritasında ‘Get SQL Server’ başlığı altında ‘Try it’ bağlantısını görebilirsiniz. Bu bağlantıdan ulaşacağınız sayfada SQL Server’ın 180 günlük deneme sürümünü indirme şansınız olacaktır.

Bahsettiğim SQL Server ana sayfasının yazıyı yazdığım an itibariyle bağlantısı: http://www.microsoft.com/sqlserver/en/us/default.aspx

Deneme sürümünü indirebileceğiniz sayfanın yine yazının yazıldığı anki bağlantısı: http://www.microsoft.com/sqlserver/en/us/get-sql- server/try-it.aspx

BIDS

SQL Server’da iş zekası ile ilgili konularda geliştirme yaptığımız ortam SQL Server 2005’ten SQL Server 2008 R2’ye kadar Business Intelligence Development Studio adıyla geçen araçtır. Veri madenciğili uygulamalarını da bu araçla geliştirebiliriz. Bunun yanısıra ETL paketleri, raporlar, OLAP küpleri de bu araçla geliştirebilir. Veri madenciliği açısından bu konulara pek girmeyeceğiz. Ancak ETL aracı olan SQL Server Integration Services veri madenciliğinde de verilerin toplanması, düzeltilmesi, veri madenciliği süreçlerinin otomasyonu gibi konularda son derece değerli bir araçtır. Şimdilik bu kadarını söylemiş olalım.

BIDS’i biraz hızlı geçeceğim, çünkü veri madenciliği çalışmaları yaparken biz daha geniş bir kitleye hitap edebilmek amacıyla başka bir araç kullanacığız: Excel Data Mining Add-in.

Excel Data Mining Add-in

BIDS’i kullanmak için bir parça teknik bir insan olmak gerekli. Yazılım geliştiriciler gibi kişiler bu ortamı belki daha çok sevebilirler ama veri madenciliği yapma olasılığı olan çok daha geniş bir kitle var. Analitik yeteneklere ve iyi derecede Excel bilgisine sahip olan herhangibir kişi veri madenciliği alanında kendisini geliştirebilir. Bu yüzden BIDS yerine daha rahat kullanılabilir bir ortam olan Excel Data Mining eklentisini esas alacağız. BIDS’le yapabildiğiniz şeylerin çok büyük bir kısmını bu araçla tanıdık bildik Excel üzerinde yapmak mümkün. Ama sakın yanılmayın; Excel sadece sizin istekleriniz girdiğiniz ve sonuçları görüntülediğiniz bir arayüz olarak çalışıyor. Aslında eklentiyi kullanırken pek fark etmeseniz de arkada çalışan tamamen Analysis Services.

Excel Data Mining Add-in Microsoft’un sunduğu ücretsiz bir eklenti. Şu adresten ulaşabilirsiniz: http://www.microsoft.com/downloads/details.aspx?FamilyID=AF070F2C-46F4-47B6-B7BF-48979B999AEB&displaylang=e&displaylang=en

Veri madenciliği çalışmalarına başlayabilmek için aşağıdaki unsurları ihtiyacınız olacak:

– SQL Server Analysis Services

– Excel 2007 ya da 32 bit Excel 2010

Bu ikisinin yanısıra zamanla girdi verilerinizi bulundurmak için bir veritabanı sistemine ve verilerde olası temizlikler, aktarımlar vb için SQL Server Integration Services kurulumuna ihtiyacınız olacaktır.

Şimdiden indirip kurmaya girişmiş olabilirsiniz. Benden bekliyorsanız eğer bir sonraki yazımda eklentiyi nasıl kuracağınızı anlatmayı planlıyorum.

MS İş Zekası, Veri madenciliği içinde yayınlandı | Yorum bırakın

Database Snapshots: Ne kadar aynı ne kadar ayrı?


Database Snapshot’ı alabilmek yeri geldiğinde çok faydalı bir yetenek. Kullanmayanlar için ne yaptığını hatırlatacak olursak:

Bir veritabanının snapshot’ını aldığınızda mantıksal büyüklük olarak veritabanının data dosyalarıyla aynı büyüklükte dosyalara sahip olan bir veritabanı yaratmış oluruz. Ama bu dosyalarda aslında fiziksel olarak sadece, kaynak veritabanında snapshot’ın alındığı andan itibaren değişen sayfaların orijinal halleri bulunur.

Böylelikle snapshot veritabanı kendisine bir sorgu atıldığında değişmemiş dataları kaynak veritabanından, değişmişleri ise kendisinden verebilir. Yani snapshotın alındığı an itibariyle verilere ulaşmış olursunuz.

Mesela bir iş zekası sistemine gecelik aktarımları yaparken snapshot üzerinden çalışarak, siz aktarıma başladıktan sonra oluşan verileri göz ardı edebilirsiniz. Ya da bir güvenlik önlemi olarak her sabah bir snapshot alıp (öncekileri düşürerek tabii, yoksa birikir) gün içinde diyelim bir referans tablosu silindiğinde, bir procedure yanlış güncellendiğinde, buna benzer mantıksal hatalar olduğunda, sabahki haline snapshot’tan erişebilirsiniz.

Peki diyelim ki snapshotları zaten kullanıyorsunuz. Şimdi size hitap edecek bir bilgiye geldi sıra:

Snapshotlar sadece yaratıldıkları andan itibaren değişmiş sayfaları tutar fiziksel olarak, doğru. Snapshotın gerçek disk yükünü belirleyen de budur. Dolayısıyla bir snapshot’ın çok yaşlanmasına izin vermezseniz, muhtemelen minimal bir büyüklüğü olacaktır. Ancak… Evet bir ancak var… Orijinal database ve snapshotlarının herbiri management studio’dan baktığınız zaman ayrı databaseler gibi görünürler. Use komutunu kullanarak birinden birine geçiş yapabilirsiniz. Bellek açısından baktığınızda da bu farklı görme ilkesi geçerli. Yani bir database ve diyelim 3 snaphotı olsun. Diyelim ki hiç değiştirmediğiniz bir de tablo olsun. Bunun anlamı bu tablonun fiziksel olarak sadece orijinal veritabanında bulunduğu, üç snapshotın veriyi oradan çekerek gösterdiğidir. Oysa memory’de bu tabloyu 4 veritabanının herbirinden ayrı ayrı seçerseniz, 4 kopya oluşturmuş olursunuz. Yani snapshotlardan yapılan sorgular kökte aynı disk sayfalarından geliyor olsa bile, memory’de ayrı buffer poolları bulunacak ve ayrı sayfalar olarak yer tutacaklardır.

Aklınızda olsun.

SQL Server içinde yayınlandı | Yorum bırakın

2011 in review


The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 6.900 times in 2011. If it were a NYC subway train, it would take about 6 trips to carry that many people.

Click here to see the complete report.

KırkAmbar içinde yayınlandı | Yorum bırakın