• Etkinlik Takvimi
  • Site Haritası
  • Hakkında
    • Biz Kimiz
    • Sponsorluk
      • Sitene Banner Ekle
      • Reklam Ver
  • İletişim

MSHOWTO Topluluğu ve Bilişim Portalı

  • Anasayfa
  • Forum
  • Tüm Makaleler
  • Altyapı
    • Cloud Hizmetleri (Bulut Bilişim)
      • Microsoft Azure
      • Microsoft Office 365
      • EMS
      • OMS
    • Open Source
    • Container
    • Server Ailesi
      • Microsoft PowerShell
      • Server 2019
      • Server 2016
      • Server 2012
      • Server 2008
      • Server 2003
    • Exchange Server
      • Exchange Server 2019
      • Exchange Server 2016
      • Exchange Server 2013
      • Exchange Server 2010
      • Exchange Server 2007
      • Exchange Server 2003
    • Client Ürünleri
      • Windows 10
      • Windows 8
      • Windows 7
      • Mobil
      • Microsoft Office
    • Sanallaştırma
    • System Center
      • Operation Manager (SCOM)
      • Configuration Manager (SCCM)
      • Service Manager (SCSM)
      • Virtual Machine Manager (SCVMM)
      • Data Protection Manager (DPM)
      • Orchestrator (SCorh)
    • Network
    • Üretici Teknolojileri
    • Güvenlik Ürünleri
      • Forefront
      • ISA Server
      • Juniper ve Fortinet
      • Symantec ve Trend Micro
    • IT Standartları
  • Yazılım
    • DevOps
    • C#
    • ASP.Net
    • Visual Studio
    • Mobil Yazılım
    • Java
    • SQL Server
    • Dynamics CRM
  • Daha Fazla
    • Haberler
    • Seminerler
    • Webcast
    • Video
    • Sunumlar
  • Fotoğraflar
BUNLARA BAKTINIZ MI :
  • Unit Test Nedir? Bölüm-1
  • Azure Route Tabloları Nasıl Yapılandırılır? – Bölüm 2
  • Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 1
  • Designing Azure Locks
  • SQL Server’da sadece Okunabilir tablo Nasıl oluşturulur ?
  • Azure Route Tabloları Nasıl Yapılandırılır? – Bölüm 1
  • Citrix ADC (Netscaler) ile Load Balancing Yapılandırması
Advertisement
Advertisement
Buradasınız :Anasayfa » Tüm Makaleler » SQL Server » SQL Server 2016 Yenilikleri – In-Memory DW – Updatable ColumnStore Indexes – Bölüm 1

SQL Server 2016 Yenilikleri – In-Memory DW – Updatable ColumnStore Indexes – Bölüm 1

Yazar :Abdullah Altıntaş Tarih : 16/05/2016 Kategori : SQL Server 1 Yorum
Okuma Süresi: 4 dakika

Bu sene SQL Server 2016 ile birlikte veritabanı dünyamıza heyecan veren yeni özellikler dahil oluyor. Microsoft’un son bir kaç senedir depar attığı Advenced Analytics ve Big Data konseptlerinin etkisini SQL Server ürününde de görmek bizleri mutlu ediyor.

Serinin tüm yazılarına aşağıdaki linklerden ulaşabilirsiniz.

SQL Server 2016 Yenilikleri – In-Memory DW – Updatable ColumnStore Indexes – Bölüm 1

SQL Server 2016 Yenilikleri – In-Memory OLTP Geliştirmeleri – Bölüm 2

SQL Server 2016 Yenilikleri – Operational Analytics – Bölüm 3

Bazı özellikler önceki versiyonlardaki haline göre geliştirilmişken, bazı özellikler tamamen yeni. Özellikle önceleri sadece Appliance’larda var olan Polybase engineı şimdi SQL Server’ın kurulabildiği tüm cihazlarda kullanılabilir durumda. Bu özellik büyük veri ile ilişkisel veritabanının birlikte çalışmasına olanak tanıyor. Hatta veritabanı ile çalışma alışkanlıklarınızı açık kaynakta olduğu gibi dramatik şekilde değiştirmenize gerek kalmadan bunu yapabiliyorsunuz.

SQL Server 2016’da bir çok etkileyici özellik mevcut. İşte bazıları;

  • Open Source R desteği ile analitik çalışmalarınızı yaygın ve güçlü bir dille gerçekleştirmeniz artık mümkün.
  • Çok az maliyetle verilerinizi daima şifreli tutabilir ve sadece istediğiniz uygulamalarda şifresiz görüntüleyebilirsiniz.
  • Alışkın olduğumuz SSRS ile DataZen bir araya geldi. Böylece hem klasik raporlama hem de Mobile raporlama yaparak bunları tek bir çatı altında toplamak artık mümkün.
  • Geliştirilmiş In-Memory konsepti ile operasyonlarnıza ait verileri gerçek zamanlı olarak analiz edebilir ve raporlayabilirsiniz.

 


Resim-1

Biz de bu yazımızda In-Memory DW – Updatable ColumnStore Indexes yeniliklerine yoğunlaşacağız.

ColumnStore indexi SQL Server 2012 ile birlikte duymaya başladık. İlk olarak Update edilemeyen NonClustered ColumnStore index ile tanışmıştık. Sonra SQL Server 2014 ile birlikte Update edilebilir Clustered ColumnStore index ile tanıştık. Önceki verisyonlarda bir çok kısıt mevcuttu.

Biz bu yazımızda daha çok yeni özelliklere yoğunlaşacağız.

ColumnStore indexler, RowStore indexlere göre açık ara performanslı. İstatistikler vermek gerekirse; 100 kata varan hız, 15 kata varan sıkıştırma elde etmek mümkün. Önceki yazımızda belirtiğimiz gibi 100 milyon satırın 30 dakika yerine 2 veya 3 saniyede elde edildiği referanslar arasında mevcut.

Bu performans farkını şu 3 özellik üzerinden önceki yazımızda açıklamıştık:

1. Fiziksel Yapısı : Genelde sorgularımız kolon bazlı olur. RowStore indexler tüm satırı indexlerken, ColumnStore indexler sadece ilgili kolonun verilerini indexler. RowStoreda kullanılan pagelerine yerine ColumnStoreda segmentler kullanılır ve segmentler yüksek sıkıştırma özelliği sayesinde çok daha az yer kaplar. Böylece tam olarak ColumnStore indexlerden istediğimiz veriler elimize ulaşır. RowStoredaki gibi ilgilenmediğim kolonların olduğu pagelerde vakit kaybedilmez.

2. Batch Mode : Normalde Query Optimizer verileri satır satır işler. Ancak gelen SQL Server 2012 ile birlikte bazı sorgu operatörleri bir grup satırı (çoğu zaman 900 satır) birlikte işleyebilecek şekilde tasarlanmıştır.

3. Segment Eleme: Sayısal ve tarihsel alanlarda işe yarayan bu özellik sayesinde sadece verdiğimiz aralıkta bulunan verilerin olduğu segmentlere gidilmektedir. Böylece daha az IO yapılır. Her bir segmentte minimum maksimum değerin metadata olarak tutulması buna imkan verir. Eğer istenen değer bu aralıkta değilse segment elenir. Sadece şartımıza uyan segmentler belirlenerek içeriği okunur.

Gelelim SQL Server 2016 ile birlikte karşımıza çıkan ColumnStore indexlere:

1. Performans farkını ortaya çıkaran yukarıdaki 3 özellik aynı şekilde işliyor. Buna ek olarak yeni Batch Mode çalışma desteği veren operatörler duyuruldu. Bunlar: SORT, COUNT/COUNT, AVG/SUM, CHECKSUM_AGG, STDEV/STDEVP, COUNT, COUNT_BIG, SUM, AVG, MIN, MAX, CLR, CHECKSUM_AGG, STDEV, STDEVP, VAR, VARP, GROUPING, LAG, LEAD, FIRST_VALUE, LAST_VALUE, PERCENTILE_CONT, PERCENTILE_DISC, CUME_DIST, PERCENT_RANK

2. Artık ColumnStore (Clustered,NonClustered) indexler update edilebiliyor. Yani veri girişi sırasında indexi kaldırmaya gerek kalmıyor.

3. Bu yeni versiyonla birlikte ColumnStore indexlerin bulunduğu tablolarda Pimary Key ve Foreign Key kullanılabilmektedir. (RC0’da test edecek olanlar PK’yı Heap üzerinde, FK’yı da ColumnStore indexten sonra tanımlamalılar.) PK oluşturken Clustered index otomatik oluşacaktır. Clustered yerine NonClustered oluşturalım ki Clustered ColumnStore index ile çakışmasın. Yani PRIMARY KEY NONCLUSTERED ifadesi ile PK oluşturulmalıdır.


Resim-2

4. Clustered ColumnStore indexten sonra RowStore (btree) index tanımlamak daha önceki versiyonlarda mümkün değildi. SQL Server 2016 ile birlikte artık hem Clustered ColumnStore hem de birden fazla NonClustered RowStore indextanımlamak mümkün.

5. Yeri geldiği için hatırlatalım; bir tabloda tek bir Clustered (ColumnStore veya RowStore farketmez) index bulunabilir. Ayrıca bir tabloda birden fazla ColumnStore index tanımlanamaz.

6. Artık NonClustered ColumnStore indexler filtrelenerek daha efektif kullanılabilmektedi.


Resim-3

7. Clustered ColumnStore index, Memory Optimized (In-Memory OLTP) tablolarda tanımlanabilmektedir. (RC0’da test edecek olanlar önce Clustered ColumnStore indexi tanımlamalılar.)


Resim-4

8. Storage Engine seviyesinde yapılan bir diğer geliştirme ise Pushdown (Aggregate Pushdown, String Predicate Pushdown) özelliğidir. Bu özelliği şöyle açıklayalım; Önceki yazımızda da geçtiği üzere veriler segmentlere dönüştürülürken encoding bilgisinin tutulduğu Dictionary nesneleri de oluşur. Segmentler, Dictionary’da tutulan gerçek verilerin giriş numaralarını içerir. Bu teknik sayesinde tekrar eden verilerle ilgili ciddi sıkıştırma performansı elde edilebilir. İki tür Dictionary nesnesi vardır. Primary Dictionary : tüm segmentler tarafından kullanılır. Secondary Dictionary : Birden fazla segment (aynı kolona ait) tarafından paylaşılır. Her zaman Secondary Dictionary kullanılmayabilir. Bazı durumlarda devreye giren Pushdown özelliği sayesinde kritere uygun satırlar Dictionary seviyesinde taranır. Diğer satırlar segment seviyesinde taranır ve filtrelenir. Bu çalışma şeklinin performansı SQL Server 2014 ile karşılaştırıldığında sonuçlar şaşırtıcı derecede farklı olur.


Resim-5

Aynı sorgu üzerinden testimizi gerçekleştirdiğimizde, SQL Server 2016 istenen sonuçları açık ara önde sunabiliyor.

ColumnStore indexlerin sorgulama performansını incelemek isterseniz şu linke bir göz atabilirsiniz:

https://msdn.microsoft.com/en-us/library/dn935005.aspx

Sonuç olarak SQL Server 2016 versiyonu ile birlikte ColumnStore indexlerde hem performans bakımından hem de fonksiyonalite bakımından ciddi iyileştirmeler oldu. Diske bağımlılığın minimuma düşürülmesi hem operasyonel anlamda hem de analitik anlamda iş süreçlerine ciddi katkısı olmaktadır. Bu iyileştirmelerin yeni gelen diğer özelliklere de etkisi var. Sonuçlarını hep birlikte göreceğiz.

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

http://www.mshowto.org

 

Tag
 In-Memory inmemory InMemory DW nonclustered columnstore index SQL Server 2016 New Features SQL Server 2016 Yenilikleri Updatable ColumnStore indexclustered columnstore indexsql 2016sql 2016 downloadsql 2016 free downloadsql 2016 nedirsql 2016 neler yenisql 2016 ozelliklerisql 2016 ucretsiz indirsql 2016 yenilikler
Server 2012 – Cluster Aware Update Status Check – Powershell Script
SQL Server 2016 Yenilikleri – In-Memory OLTP Geliştirmeleri – Bölüm 2

Hakkında: Abdullah Altıntaş

Bilge Adam Bilişim Hizmetleri, Kurumsal Veri Yönetimi ve İş Zekası Birimi’nde Takım Lideri olarak görev alan Abdullah Altıntaş, Microsoft SQL Server ve Oracle veritabanı yönetim sistemleri üzerinde çalışmalar gerçekleştirmektedir. Veritabanı tasarımı ve geliştirilmesi, veriambarı tasarımı ve ETL süreçleri, raporlama ve iş zekası gibi konularda kurumsal firmalara eğitim, danışmanlık ve proje hizmetleri vermektedir. Microsoft SQL Server alanında hem “Data Platform” hem de “Business Intelligence” branşlarında MCSE ünvanına sahip olan Abdullah Altıntaş aynı zamanda MCT sertifikasına da sahiptir. Güncel gelişmeleri, elde ettiği deneyimlerini ve birikimlerini makaleler, webinarlar ve seminerler vasıtasıyla paylaşan Abdullah Altıntaş aynı zamanda Bahçeşehir Üniversitesi Yönetim Bilişim Sistemleri Yüksek Lisans programına devam etmektedir.

İlgili yazılar

  • SQL Server’da sadece Okunabilir tablo Nasıl oluşturulur ?

    SQL Server’da sadece Okunabilir tablo Nasıl oluşturulur ...

    14/02/2019

  • Stored Procedure – Saklı Yordamları Versiyonlama

    Stored Procedure – Saklı Yordamları Versiyonlama

    11/02/2019

  • Veritabanındaki Değişiklikleri DDL Trigger ile Yakalamak

    Veritabanındaki Değişiklikleri DDL Trigger ile Yakalamak

    21/01/2019

  • .NET İle SQL Server CLR Assemblies

    .NET İle SQL Server CLR Assemblies

    17/01/2019

1 Yorum

Yorum Yazın

Cevabı iptal etmek için tıklayın.

Mshowto Topluluğu
  • linkedin
  • instagram
  • vimeo
  • youtube
  • twitter
  • googleplus
  • flickr
  • facebook

ARA

  1. Popüler
  2. En Son
  3. Yorum
  4. Tag
  • Android İşletim Sistemi ve Özellikleri

    Android İşletim Sistemi ve Özellikleri

    09/11/2010
  • Microsoft .NET Framework Tüm Sürümlerinin Yüklenmesi – Sorun Çözümü

    Microsoft .NET Framework Tüm Sürümlerinin Yüklenmesi – Sorun Çözümü

    11/09/2012
  • Adım Adım Backtrack 5 R3 GNOME Kurulumu – Nasıl Yapılır?

    Adım Adım Backtrack 5 R3 GNOME Kurulumu – Nasıl Yapılır?

    14/03/2013
  • Windows Server 2012′de Active Directory Kurulumu – Detaylı Anlatım

    Windows Server 2012′de Active Directory Kurulumu – Detaylı Anlatım

    27/06/2012
  • Unutulan Kablosuz Ağ (Wireless) Şifrelerini Bulma

    Unutulan Kablosuz Ağ (Wireless) Şifrelerini Bulma

    26/04/2012
  • Unit Test Nedir? Bölüm-1

    Unit Test Nedir? Bölüm-1

    16/02/2019
  • Azure Route Tabloları Nasıl Yapılandırılır? – Bölüm 2

    Azure Route Tabloları Nasıl Yapılandırılır? – Bölüm 2

    16/02/2019
  • Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 1

    Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 1

    15/02/2019
  • Designing Azure Locks

    Designing Azure Locks

    15/02/2019
  • SQL Server’da sadece Okunabilir tablo Nasıl oluşturulur ?

    SQL Server’da sadece Okunabilir tablo Nasıl oluşturulur ?

    14/02/2019
  • Orhan : Link kırılmış :D ...

  • gökhan : Eline sağlık Barış çok faydalı bir makale olmuş.. ...

  • Cem Aydın : Bu şekilde kurulum yaparsanız Elasticsearch 'un 9200 portunu tüm ağ ...

  • Engin : Ellerine sağlık Serdar. Güzel bir makale olmuş. ...

  • Sami Sari : Cok guzel bir makale gercekten cok begendim. Tebrik ederim sizi! Ma ...

microsoft server azure exchange mshowto powershell Office 365 nasıl kurulur hyper-v server 2012 server 2008 nasil yapilir windows 8 sccm windows 7 exchange server azure nedir nedir windows system center exchange 2010 security kurulum isa Windows Azure

KATEGORİLER

  • Altyapı
  • ASP.Net
  • AWS
  • C#
  • Citrix
  • Client Ürünleri
  • Cloud Hizmetleri (Bulut Bilişim)
  • Configuration Manager (SCCM)
  • Container
  • Data Protection Manager (DPM)
  • DevOps
  • Dynamics CRM
  • EMS
  • Exchange Server 2003
  • Exchange Server 2007
  • Exchange Server 2010
  • Exchange Server 2013
  • Exchange Server 2016
  • Exchange Server 2019
  • Forefront
  • Güvenlik Ürünleri
  • Haberler
  • İpuçları
  • ISA Server
  • IT Standartları
  • Java
  • Juniper ve Fortinet
  • Lync Server
  • Microsoft Azure
  • Microsoft Office
  • Microsoft Office 365
  • Microsoft PowerShell
  • Mobil
  • Mobil Yazılım
  • Network
  • OMS
  • Open Source
  • Operation Manager (SCOM)
  • Orchestrator (SCorh)
  • Sanallaştırma
  • Seminerler
  • Server 2003
  • Server 2008
  • Server 2012
  • Server 2016
  • Server 2019
  • Server Ailesi
  • Service Manager (SCSM)
  • SQL Server
  • Sunumlar
  • Symantec ve Trend Micro
  • System Center
  • Tüm Makaleler
  • Üretici Teknolojileri
  • Video
  • Virtual Machine Manager (SCVMM)
  • Visual Studio
  • VMware
  • Webcast
  • Windows 10
  • Windows 7
  • Windows 8
  • Yazılım
  1. ETKİNLİK FOTOĞRAFLARI

    IMG_8122
    IMG_8122
  2. ARŞİVLER

  3. En Güçlü Bilişim
  • linkedin
  • instagram
  • vimeo
  • youtube
  • twitter
  • googleplus
  • flickr
  • facebook
© Copyright 2005-2019, Tüm Hakları Saklıdır. | Bağımsız Bir Organizasyondur.