10 Ocak 2019 Perşembe

Knime Eğitim Videoları



İleri analitikler konusunda ücretsiz bir platform olan, istatistiki modeller, etl, veri görselleştirme konusunda çeşitli çözümler sağlayan Knime, 2018 yılında,  Gartner  Magic Quadrant da, liderler kategorisine ulaşarak etkinliğini kanıtlamış bir araç.   Masaüstü versiyonu ücretsiz sunulan Knime ile ileri analitik uygulamalarınızı sürükle bırak özelliği ile yapmanız mümkün.

Knime ile ilgili eğitim videolarına, inteley danışmanlık youtube kanalından ulaşabilirsiniz.
Kanaldaki videolara ulaşmak için lütfen tıklayınız.


SAP BODS ile SOAP Web Servisleri Çağırma


SAP BODS (Business Objects Data Services) ile nasıl web servis çağrısı yapılır, web servislere nasıl parametre geçilir konusundaki yazıma buraya tıklayarak ulaşabilirsiniz.

SQL Server da Window Fonksiyonların Kullanımı

SQL Server da  daha hızlı ve anlaşılır hesaplama yapmak için window function ların nasıl kullanıldığına dair yazıma  buraya tıklayarak ulaşabilirsiniz.

4 Kasım 2010 Perşembe

SQL Server Performansı için faydalı DMV(Dynamic Management View) ler

Performans sıkıntısı oluşan sorguları bulmak ve SQL Server'ın performansını arttırmak  için DMV lerden faydanılabilir.

sys.dm_exec_requests, sys.dm_exec_sessions : Her iki view de server'da şu an çalışan istekleri getirir. Anlık olarak, uzun süren ve düşük performans gösteren sorguları bulmak için kullanılabilir.

sys.dm_exec_query_stats : Çalışan sorguların cache planlarını getirir.

sys.dm_exec_sql_text En kötü performanslı sorguyu tespit ettiğinizde, bu view i kullanarak sorgunun tam metnine ulaşabilirsiniz. DBCC INPUTBUFFER a benzer ve  query handle parametresi alır. Query handle a  sys.dm_exec_requests ve sys.dm_exec_query_stats view lerinde ulaşılabilir.

sys.dm_os_wait_stats Server bazında bekleme istatistiklerini getirir ve dar boğazları tepit etmek için kullanılabilir. 

sys.dm_db_index_usage_stats  Her bir indeksin kullanım istatistiklerini gösterir. Kullanılmayan ve az kullanılan indeksleri bulmak için kullanılabilir. Kullanılmayan indeklerin kaldırılması, veri güncelleme performansını arttırır, disk kullanımını azaltır.

DMV ler, SQL server'ın son açılışından itibaren olan istatistikleri gösterir.

sys.dm_db_missing_index_details  Yeni indeks ihtiyacını tespit etmek için kullanılır.

31 Ekim 2010 Pazar

Partitioning Nedir?

SQL Server'da partitioning yapısını, bir kitapevinde, birbirleriyle ilgili kitapları aynı raflara, ilgili olmayan kitapları farklı raflara koymaya benzetebiliriz. Romanlar bir rafa, Bilgisayar kitapları başka bir rafa gibi.

Çok büyük bir tablomuz varsa, tablolarımızı bazı özelliklerine farklı partitionlara bölebilir ve performansımızı arttırabilir ve tablonun yönetemini kolaylaştırabiliriz. Örneğin bir satış tablosunu düşünün. Üzerinde binlerce kayıt olabilir. Ancak en çok bu yılın kayıtlarına bakar, diğer kayıtları daha az sorgularız. Sorgularımızda sql server'ın bir tablonun tüm kayıtlarını aramak yerine sadece daha az sayfayı taramasını, tabloyu bölerek sağlayabiliriz.  Hatta eski kayıtlar ve yeni kayıtlar için farklı zamanlarda backup alabiliriz. Satırlara göre farklı bölümlere ayırmaya horizontal partitioning denir.

Eğer bir tablo üzerinde çok sık kullandığımız kolonların yanında çok ender sorguladığımız kolonlar varsa, tabloyu kolonlara göre de bölümlere ayırabiliriz. Buna da vertical partioning denir. Bir tabloyu satırlardan ve sütünlardan oluşan bir yapı olarak düşünürsek, bu durumda tabloyu dikey olarak bölmüş oluruz. Vertical partioning ismi de buradan gelir.

SQL Server da Index Türleri

Index, SQL Server tablolarındaki verilere kolayca ulaşmamızı sağlayan yapılardır. Bir kitabın sonundaki indekse benzetilebilir. Hangi verinin nerede bulunduğu indeksler üzerinde tutulur.

Temel olarak SQL Server'da iki tür indeks vardır.

Clustered Index ve Nonclustered Indeks. Clustered Index, tablonun aynısıdır ve tablodaki tüm alanlar yer alır, sadece veriler, clustered indeks olarak tanımlanmış alanların sırasında tutulur, ancak nonclustered index'de sadece indeksteki veriler ve o verilerin nerede bulunduğuna dair işaretler tutulur.

Üzerinde clustered indeks tanımlı olmayan tabloya heap tablo denir. Ve heap tablolarda veriler sıralı değildir. Üzerinde clustered indeks tanımlı olan bir tablonun iki versiyonu olur, heap orijinal tablodur ve bu tablonun sıralı hali de clustered indekste durur.  Özel birşey söylenmezse, primary key yaratılırken, primary key alanına göre clustered indeks yaratılır. Bir tablo için sadece 1 tane clustered indeks yaratılabilir.

Bu genel ayrımdan sonra içeriklerine göre indeksler aşağıdaki şekilde gruplandırılabilir.

Simple
Tek kolondan oluşan bir indekstir. Örneğin sadece ad kolonundan oluşan veya ad ve soyad birleşiminden oluşur.

Compound
2 veya daha fazla kolondan oluşan indekstir. 

Unique
Unique indeks olarak tanımlı alanlar için, aynı verilerden sadece bir tane girilmesine izin veren indeks türüdür. 

29 Ekim 2010 Cuma

OUTPUT INTO

OUTPUT INTO ile, UPDATE,INSERT,DELETE ve MERGE işlemleri sırasında etkilenen verileri bir tabloya kopyalayabiliriz.  Log almak, son değişiklik yapılan verilen ile ilgili işlem yapmak için iyi bir yöntemdir.

UPDATE Production.Product
SET Color = 'blue'
OUTPUT inserted.ProductID,
inserted.Name,
inserted.Color,
deleted.Color

INTO ProductLog
WHERE ProductID= 134


inserted ve deleted sanal tabloları, trigger lardan bildiğimiz tabloların aynısıdır. Yeni değerler inserted tablosunda, eski değerler deleted tablosunda bulunur.

INTO da verilen tablonun yapısı, OUTPUT da getirilen kolonlarla aynı yapıda olmalıdır.

OUTPUT INTO da kullanılamayacak ifadeler
  • Başka bir veri tabanından olan bir tablo
  • View
  • CTE (Common Table Expression) 
  • Üzerine trigger yazılmış bir tablo 
  • Foreign key constraint i tanımlı bir tablo
  • Merge veya Transaction replicationda yer alan bir tablo.
 Asıl amaç, output into sırasında oluşacak bir hatayı engellemektir.