25 Nisan 2013 Perşembe

HDInsight

Selam arkadaşlar,

Microsoft, HortonWorks firmasının da işbirliği ile önceden sadece Linux sistemlerde çalışıyor olan Hadoop Framework'ünü Windows Server'larla ve Windows Azure ile çalışır hale getirmiş ve buna da HDInsight demişler.

Hadoop'a yabancı olanlar için çok kısa bir tanımını yapmak gerekirse, Hadoop'u bir Framework olarak düşünebilirsiniz. Bu Framework altında temel olarak MapReduce (veriyi işleme teknolojisi) ve HDFS (Hadoop File System) ve çeşitli projeler (Pig gibi) var. Hadoop'tan bilgi talep Client'tan geliyor, Master-Slave yapısındaki Cluster'da talebi Master karşılıyor ve verinin işlenme işini Slave'ler arasında paylaştırıyor ve işlenen veri doğrudan Slave'lerden Client'a gidiyor.

Hadoop ile temel olarak hedeflenen şey, çok büyük miktarda ve çeşitlilikte olan verilerin (Big Data) paralel olarak (Slave'ler tarafından) işlenerek, ölçeklenebilir bir sistemde (Cluster'a kaç Slave eklenirse, performans Linear şekilde artıyor), işlemnesinin sağlanması.

Not: Hadoop'u merak eden arkadaşlarım daha fazla ayrıntı için Youtube'dan konu hakkında birçok videoya ulaşabilir.

Ekrem Önsoy

4 Nisan 2013 Perşembe

Hekaton

Merhaba,

Bazılarınız belki duydu, belki ilk defa görüyor; fakat Microsoft şu anda SQL Server için Hekaton adında bir teknoloji üstünde çalışıyor. Bu teknoloji ile ilgili tanıtımlar yapıyor ve bazı firmalarda deneme sürümlerini kullandırtıyor.

Bu teknoloji, bazılarınızın QlickView'den de bileceği gibi, verinin hafızada depolanmasını sağlamak ve erişimin diskten değil de, doğrudan RAM'de yapılmasını sağlamak.

Şimdi SQL Server konusunda tecrübeli olan bazı arkadaşlarımın aklına "SQL Server'da zaten Buffer Pool denen bir şey var ve veriler zaten olabildiğince hafızada tutuluyor ve işlemler bu şekilde gerçekleştiyiro, Hekaton'un farkı ne ki?" diye bilir; şöyle ki, Hekaton belirlediğimiz tabloların ve Stored Procedure'lerin ne kadar sık kullanıldıklarına bakmadan ve durağan olarak hafızada kalmasını sağlıyor. SQL Server'ın Buffer Pool'undaki veriler ise kullanım sıklıklarına göre ve hafızanın büyüklüğüne göre bazen diskten bazen hafızadan okunabiliyor. Ayrıca Hekaton ile hafızada depolanan veriler için hazırlanmış Stored Procedure'ler, hafızada kullanılmak üzere özel olarak derleniyor ve bu şekilde bu özellikten en iyi ve performanslı şekilde yararlanılması sağlanıyor.

İşin en güzel yanı ise, Stored Procedure'lerinizi yine bildiğiniz şekilde T-SQL dilinde yazıyorsunuz. Herhangi bir değişiklik yapmanız gerekmiyor. Aynı şekilde, donanım tarafında da herhangi bir değişiklik yapmanıza şart değil. Varolan donanımınızla da Hekaton'u kullanabileceksiniz.

Hekaton, bildiğimiz SQL Server ürünü ile entegre edilmiş şekilde, yan bir ürün olarak değil, sonraki versiyonlarda karşımıza çıkacak.

Ekrem Önsoy

Idera SQL Compliance Manager - Deneyim 1

Merhaba,

Geçen ay sizlere bu üründen biraz bahsetmiştim. Tekrar çok kısa özetlemek gerekirse ürünün özellikle küçük ve orta ölçekli, SQL Server Standard Edition kullanan ve Veritabanı seviyesinde teftiş (Auditing) yapmak isteyen firmalarda kullanılabileceğini belirtmiştim.

Bir aydır ürünü Production ortamında test ettim. Çeşitli sorunlarla karşılaştım. Tabii bu sayede ürünün nasıl çalıştığı ile ilgili de daha fazla bilgi edinebildim.

Ürün temel olarak, kaynaktaki veritabanından kendi Agent'ı ile aldığı bilgileri (Trace veya doğrudan T-Log dosyasından) sıkıştırarak Collection Service'inin çalıştığı hedef sunucuya gönderiyor ve burada önce sıkıştırılan dosyaları açıyor ve ardından da depo olarak kullandığı veritabanına kaydediyor. Benim sorun yaşadığım kısım işte tam da bu işleme sırasında Parser'ın Parse sorunlarıyla karşılaşmasıyla çıktı. Tabii bu sorun da başka sorunları doğurmuş, sorunun üstünde çalışınca karşılaştığım tüm sorunların bundan kaynaklandığını anladık. Destek Amerika'dan verildiği için aramızda 7 saat fark var, bu nedenle Windows Live Meeting'leri buna göre düzenleyerek, destek mühendisi arkadaşın da yardımıyla sorunu tespit ettik ve hâlâ üstünde çalışmaya devam ediyoruz.

Efendim yolumuza devam etmek için şimdilik bu sorunu geçersek, -çünkü öyle veya böyle uygulama çalışıyor, fakat bazı şeyleri bu Bug yüzünden kaçırıyor diye düşünüyorum- uygulama SQL Server 2000'i dahi destekliyor. Sunucu, veritabanı, kullanıcı, nesne ve alan bazında denetim yapabiliyorsunuz. Biriken veriler veritabanında biriktiği için ve veritabanı da Enterprise Edition olmadığı için haliyle sıkıştırılarak saklanmıyor ve bu da veritabanının gün geçtikçe büyümesine neden oluyor. Herkesin ortamı ve ihtiyaçları farklı elbette, fakat sadece ve sadece fikir vermesi açısından şöyle bir örnek verebilirim, çalıştığım ortamda sadece bir veritabanındaki bir tabloda gerçekleşen DML işlemlerini ve sadece birkaç alan için de SELECT (Selective Columns) işlemlerini denetliyorum ve sadece 2 günde depo olarak SQL Compliance Manager tarafından kullanılan veritabanının boyutu 16,5GB oldu.

SQL Compliance Manager'ın kendi arşivleme sistemi de var. Bunu da en azından ayda bir kere çalıştırılacak şekilde ayarlamam gerekecek ve oluşan veritabanını da sıkıştırarak (sıkıştırarak yedeğini alıp sonra da arşivlenen veritabanını silerek) saklamam gerekecek diye düşünüyorum. Henüz bunu test etmedim, bu da ayrı bir yazının konusu olur.

Şimdilik bu kadar.

Ekrem Önsoy

SQL Server Partition Management

Merhabalar,

Bugün bir dergide okurken gördüm, sizlerle de paylaşmak istedim. Henüz kendi ortamımda kullanma şansım olmadığını baştan vurgulayayım. Hemen paylaşmak isteyişimin nedeni de, bazı şeyleri deneyip öyle paylaşayım derken unutulup kaynayabiliyor.

Öncelikle ürünün adresini vereyim: http://sqlpartitionmgmt.codeplex.com/

Ürün SQL Server Customer Advisory Team'de Grup Yöneticisi olan Stuart Ozer tarafından hazırlanmış. Ücretsiz bir ürün.

Ürün özetle SSIS paketleriyle, otomatize edilmiş bir şekilde Table Partitioning'ten faydalanmanızı sağlıyor.