Duran BÜYÜKÖZTÜRK

Yönetici

Uzmanlık alanım SQL SERVER Database Engine olmakla birlikte, ElasticSearch ve Hadoop alanlarında çalışmalar gerçekleştirdim.

  • Toplam 10 Yazı
  • Toplam 4 Yorum

SQL SERVER – Extend – GAM – SGAM – PFS

SQL Server 9 ay önce

Extend Nedir? Tekrardan selamlar arkadaşlar. Bir önceki yazımda “Page nedir” sorusunu sormuştuk. Yine aynı şekilde ilerlemeyi düşünüyorum. Maddenin en küçük yapı taşı nasıl atomsa Sql Server’ında page demiştik. Şimdi bir adım yukarı çıkıyoruz. Maddeler nasıl moleküllerden oluşuyorsa (bir veya daha fazla atomun birleşmesi diyebiliriz.) Sql server ‘da içerisindeki işlemleri, verinin yönetimini 8 page’in birleşerek oluşturduğu extendler aracılığı ile yürütür. Veriyi diskten page page çekerek ram’e aktarmaz. Extendler halinde çekerek ram’e aktarır. Her bir extend 8 Page’den oluşur ve boyutu 64KB olur. (8KB x 8) Extendler 2 çeşittir. Uniform Extend Birleştirilen ve extend olarak tanımlanan pagelerin hepsi tek bir objeye (table , index vs aklınıza ne geliyorsa) aitse bu extend’e uniform extend denir. Mixed Extend Birleştirilen ve extend olarak tanımlanan pagelerin hepsi tek bir objeye ait değilse bu extende de mixed extend denir. Mixed extend en fazla 8 pageden oluştuğu için en fazla 8 objeye ait olabilir. Yeni bir tablo oluşturduğunuzda […]

SQL SERVER – Page Yapısı

SQL Server 10 ay önce

PAGE NEDİR?   Bilgisayarımın karşısına oturdum ve index mantığını anlatmak üzere yazmaya başladım. Ancak farkettim ki herşey page yapısını anlamak ile başlıyor. İşte bu yüzden şuan yazacaklarım SQL ENGINE’ı anlamak ve onun gibi düşünmeye başlamak için bir rehber niteliğinde. Ayrıca bu şekilde bir yazı dizisi yapmayı düşünüyorum. Eğer SQL ENGINE’ı gerçekten anlamak istiyorsanız takipte kalsanız iyi edersiniz. Nasıl maddenin en küçük yapı taşı atom ise SQL SERVER’ın da en küçük yapı taşı pagelerdir. Bir kitapta tüm içerik sayfalara yazıldığı gibi SQL SERVER’da da tüm içerik pagelere yazılır. Her bir page en fazla 8KB data içerebilir. Normal bir kitabın içerisinde bilgi içeren safalar olduğu gibi meta data içeren sayfalar da vardır. Örneğin içindekiler sayfası gibi. SQL SERVER’da durumlar çokta farklı değil, içerisinde data bulunan sayfalar, metadata bulunan sayfalar image/text bulunan sayfalar gibi sayfalar vardır. Her page 96byte boyutunda bir header ile başlar. Bu headerin içerisinde page numarası, page tipi, page içerisindeki […]

Sql Server Numa Ayarları

SQL Server 11 ay önce

Sunucunuzun performasını direkt olarak etkileyecek, yanlış kullanılması halinde ciddi performans kayıplarına sebep olabilecek bir yapılandırmadan bahsediyoruz. Kesinlikle uzmanlık gerektiren bir konudur. Bu konuda detaylı bilgi aramak, samanlıkla iğne aramaya benziyor. Elimden geldiğince bu konuda bildiklerimi aktaracağım çayınızı kahvenizi alınız ve sabırla okuyunuz. Numa Nedir? Öncelikle NUMA ne demektir ondan kısaca bahsedelim. Numa “Non-Uniform Memory Access” yani düzensiz bellek erişimi veya düzensiz bellek mimarisi olarak adlandırılan tasarımdır.  İşlemci ve bellek arasındaki erişimi optimize etmek için kullanılır. Standart mimari nasıldır? Standart mimaride işlemci veri yolu ile belleklere bağlıdır ve kendisine verilen görevleri yerine getirmek için geçici depolama ortamı olarak bu bellekleri kullanır. Ancak bizler genelle büyük sistemlerin yöneticiliğini yapmaktayız ve çalıştığımız sunucularda çok sayıda işlemci bulunmaktadır. Peki bu yapı birden fazla işlemci olan bir ortamda nasıl olurdu? Birden fazla işlemci olan ortamlarda üstte belirttiğim resimde bulunan şekilde bir mimari olursa ne olur? Tüm işlemciler tüm belleğe erişebilirler. Ancak veri yolu ve ramlere […]

SQL Server Log Shipping Kurulumu

SQL Server 12 ay önce

Bilindiği üzere MSSQL üzerindeki databaseler için temelde 3 farklı backup yöntemi vardır. Full backup, differansiyel backup ve transaction backup. Full backup database’in tam bir görüntüsünü içerir. Diferansiyel backup ise full backup aldındıktan sonraki değişiklikleri içeren backuptır. Transaction backup ise transactional işlemlerin tutulduğu LDF dosyalarının yedeklenmesidir. Ve full backup sonrasındaki değişikleri ardışık olarak tutarlar. Backup çeşitleri ile alakalı ayrıntılı bir makaleyi yakın zamanda yayınlayacağız, şimdilik bu konuları bildiğinizi farz edip öyle devam edeceğim. Bir beyin fırtınası yapacak olursak A database’inin düzenli olarak tran (transaction) backupları alınıyorsa ve ben bu veritabanının önce full backupını sonrasında ise tran backuplarını başka bir sunucuya restore edersem nihayetinde elimde tran alınma ve karşıya yüklenme süresi kadar geriden gelen bir kopya elde etmiş olmaz mıyım? Logshipping ile yapılan işlem aslında tam olarak da budur. Tran backupları yüklemenenin 3 farklı yöntemi vardır. Tran backuplar RECOVERY, NORECOVERY ve STANDBY modlarda restore edilebilir. RECOVERY: Bu modda restore edilen tran backup […]

ElasticSearch Nedir

ElasticSearch 1 yıl önce

Elasticsearch, Lucene kütüphanesine dayalı bir arama motorudur. Özellikle full text search yani tam metin aramalarında kullanılabilecek en iyi alternatiftir.

Sql Server String Fonksiyonları

T-SQL 1 yıl önce

Replace() Concat() Charindex() Left-Right Len() Lower-Upper Ltrim-Rtrim Stuff() Substring() Reverse() Patindex() String Veri Tipleri String veri tipleri metinleri ifade eder. CHAR, NCHAR, VARCHAR, NVARCHAR, TEXT, NTEXT gibi çeşitleri vardır. Sorguların içerisinde ‘ tek tırnak ‘ içerisine yazılırlar. Hemen kısaca farklarına değinip sonra sql server içerisinde hazır olarak gelen ve bu verilerle çalışırken bize faydalı olacak fonksiyonlardan bahsedelim. CHAR veri tipine sahip bir kolon oluştururken kolonun kaç karakter olacağını da belirtiriz. Örneğin char(11) dediğimizde maksimum 11 karakter alacak bir kolon oluşturmuş oluruz. Ancak şöyle bir durum var ki, her eklenen satır için char(11) kolonumuz boş bile bırakılsa diskimizde doluymuşçasına yer kaplar. Eğer satırlarımıza gelen veriler dolu gelecek ve gerçekten 11 karakterli bir değerle doldurulacaksa elbette kullanılabilir. Maksimum uzunluğu 8000 karakterdir. NCHAR veri tipinin tek farkı uluslar arası karakter setlerini desteklemesidir. Mesela Turkish_CI_AS şeklinde bir collation ayarımız varsa başında Char bir alana ä gibi alfabemizde olmayan bir karakter ekleyemeyiz. Diskimizde char bir […]

Sql Server Change Data Capture Aktif Etme

SQL Server 1 yıl önce

Change Data Capture Nedir? Change data capture (CDC) bir tabloda yapılan tüm değişiklikleri (insert, update, delete) tutan bir mekanizmadır denilebilir. Özellikle eski tarihli ve yeterince iyi planlanmamış bir tablo, veri ile uğraşan herkesin kabusudur. Tabloda bir güncelleme tarihi veya insert tarihi olmaması, çalışmalarımda ne yazık ki sıklıkla karşılaştığım problem. Özellikle benim gibi 2000 yılında VB ile yazılan uygulamaların aktif olarak hala kullanıldığı bir yerde çalışıyorsanız hayat sizin için çok zor olabiliyor. 🙂

SQL Server Table Partition Oluşturmak

SQL Server 2 yıl önce

Bir tabloda yer alan verileri kendi belirlediğiniz kümeler halinde istediğiniz diskte tutabileceğinizi biliyor muydunuz? Bu yazımızda birçok farklı amaç için kullanabileceğiniz bu güzel özelliği, table partition yapısını anlatacağız. Hemen aklıma gelen birkaç örnek ile ne için kullanılabileceğinden bahsedelim. Zamanla büyüyen bir tablomuz olduğunu düşünelim. Tabloyu yönetmemiz günden güne zorlaşacak, index bakım süreleri her geçen gün artacaktır. Hatta eski verilerin çok az sorgulandığı ancak yeni verilerin çok sık sorgulandığı bir durumda olabilir. Böyle bir durumda partition işleminin bize ne gibi bir faydası olabilir? Yeni eklen verileri hızlı disklere konumlandırabiliriz. İndex bakımlarını sadece belirlediğimiz aralıktaki verileri kapsayacak şekilde ayarlayabiliriz. Partition Switch işlemi ile TB’larca veriyi saniyeler içerisinde taşıyabilirsiniz. Şimdi gelelim nasıl yapıldığına. Öncelikle partitionlarımızı ekleyeceğimiz file groupları ekleyerek başlamamız gerekiyor. Yukarıda yer alan resimde görüldüğü gibi 3 adet file group ekledim. Ardından bu file grouplara file eklememiz gerekiyor. File eklerken kırmızı ile işaretlediğim kısma dikkat etmeniz gerekir. Oluşturduğumuz fileları daha önce oluşturduğumuz […]

SQL Server’dan ElasticSearch’e Veri Aktarımı

ElasticSearch 2 yıl önce

Bu yazıda MSSQL üzerinde yer alan bir tablomuzu ElasticSearch’e nasıl aktarabileceğimiz konusuna değineceğiz. Bu aktarımları, alanında en iyi çözüm olarak gördüğüm Logstash kullanarak gerçekleştireceğiz. Ayrıca daha sonraki güncellemeleri de yapabilmemiz için aktarımını yapacağımız tabloda arayacağımız bir özelliğimiz olacak. Bu özellikten kastım otomatik artan bir integer alan yada her kaydın eklendiği tarihi ihtiva eden bir datetime alan. Öncelikle aktaracağımız tabloyu tanıyarak başlayalım ve adım adım ilerleyelim. Farz edelim ki okuldaki öğretmenlerin kayıtlarını içeren Ogretmen adında bir tablomuz var. Bu tablomuzda otomatik artan bir Id alanımız mevcut ve yine her kayıt ile birlikte otomatik olarak eklenen bir KayitTarihi alanı bulunmakta. Adım adım devam edeceğiz.     1. Adım : Logstash Nedir? Logstash açık kaynak kodlu ve bir çok kaynaktan data okuyarak, bu datayı isteğinize göre dönüştürüp çeşitli kaynaklara yazabilmenizi sağlayan bir araçtır. Genellikle ElasticSearch için kullanılmakta olup diğer birçok ortam içinde tercih edilebilir. Logstashi tıklayarak indirebilirsiniz. Hem Windows hem de Linux ortamında çalışabilmektedir. […]

SQL Server Kurulumu

SQL Server 2 yıl önce

SQL server kurulumunda ilk karşılaşacağımız ekran aşağıda yer almaktadır.   Standart bir instance kurulumunda sağ tarafta yer alan Installation kısmına tıklanarak kurulum işlemlerine başlanır. New SQL Server stand-alone… bağlantısına tıklayarak kuruluma devam ediyoruz. Amacımız herhangi bir cluster ortamına dahil olmayan bir instance kurmak.     Eğer elinizde bir product key var ise onu girebilir ya da “Specify a free edition” kısmından ücretsiz bir sürüm veya deneme sürümü kullanmayı tercih edebilirsiniz. Evalution Edition 180 gün boyunca kullanabileceğiniz tüm özellikleri içerisinde barındıran bir sürümdür. Express Editionı ise kısıtlı özelliklerle sınırsız bir süre kullanabilirsiniz.     Lisans sözleşmesini kabul ederek Next diyoruz.     Updateleri indirerek en güncel halini kullanmak isterseniz Use Microsoft to check for updates kısmını tıklayarak devam edebilirsiniz. Kurulum aşamasında güncellemelerin yapılması öneriliyor olabilir ancak production ortamında yapılacak tüm güncellemelerin nispeten az yoğun saatlerde kontrollü bir şekilde yapılması gerektiğini bilmekte fayda vardır.     Erişim problemlerinin önüne geçmek için Windows […]