SQLSaturday sunumlarının kayıtları hizmetinizde


SQLSaturday sunumlarının kayıtları hizmetinizde

Posted in KırkAmbar | Yorum yapı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.

Posted in MS İş Zekası, SQL Server 2012, Veri madenciliği | Yorum yapı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.

Posted in MS İş Zekası, Veri ambarı | Tagged , , | Yorum yapın

SQL Saturday Türkiye’de


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

 

Posted in KırkAmbar | Yorum yapı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.

Posted in MS İş Zekası, Veri madenciliği | Yorum yapın

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.

Posted in MS İş Zekası, Veri madenciliği | Yorum yapı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.

Posted in SQL Server | Yorum yapın