Columnstore Yapısı
Sütun deposu verileri fiziksel olarak sütun başına bir veya daha fazla segmentte (normal LOB tahsis birimleri) saklanır ve ayrıca olağan şekilde bölünebilir. Her segment kabaca bir milyon sıra yüksek sıkıştırılmış değer veya değer referansı içerir (birkaç sıkıştırma tekniği mevcuttur). Değer başvurusu, en fazla iki karma sözlükten birindeki bir girdiye bağlanır .
Sözlükler, sorgu yürütme sırasında belleğe sabitlenir; yürütme gerçek veri değeri gerektirdiğinde, söz konusu segmentten veri değeri kimlikleri sözlüğe bakılır (performans nedeniyle bu arama mümkün olduğu kadar ertelenir).
Segmentlerde ayrıca segmentte depolanan minimum ve maksimum değerler gibi meta veriler içeren bir başlık kaydı bulunur. Başlığından bilgiler sıklıkla kullanılabilir ortadan yürütülmesi sırasında işleme komple bölümleri. Üstbilgi kayıt bilgileri olağan LOB veri kök yapısında saklanır, bu nedenle bir segmentin kaldırılması, Depolama Motorunun LOB veri sayfalarını fiziksel depolamadan tamamen atlayabileceği anlamına gelir. Eliminasyon potansiyelini en üst düzeye çıkarmak, Columnstore dizininin oluşturulduğu sırada kümelenmiş dizin sırasına bağımlılık da dahil olmak üzere dikkatli bir tasarım gerektirebilir .
Özel Plan Operatörleri
SQL Server 2012, Toplu İş Modu adlı yeni bir yürütme modu sunar. Bu modda, operatörler arasında kabaca 1000 satırlık paketler geçirilir ve işlemci kullanım verimliliğini önemli ölçüde artırır. Her paket içinde, sütun verileri bir vektör olarak temsil edilir. Tüm plan operatörleri toplu mod çalışmasını desteklemez, ancak Columnstore Dizin Tarama, Karma İç Bağlantı, Toplu Karma Tablo Oluşturma, Bitmap Filtresi, Karma Toplama ( skaler agrega değil ), Filtre ve Hesaplama Skaleri (projeksiyon ve ifade için) değerlendirme). Sorgu yürütme planları, tahmini ve gerçek yürütme modunu gösterecek şekilde geliştirilmiştir.
Anti-Patterns
İlk sürümde, izin verilen veri türleri üzerindeki kısıtlamalar da dahil olmak üzere çok sayıda kısıtlama vardır . En yaygın türler desteklenir; desteklenmeyen veri tipleri arasında DECIMAL
18 basamak, daha hassas bir daha sonra ile (N)VARCHAR(MAX)
, UNIQUEIDENTIFIER
CLR türleri ve (VAR)BINARY
.
Kullanımı dize türleri , OUTER JOIN
, IN
,EXISTS
, NOT IN
, OR
, UNION ALL
çözümler, bu bölümde bağlantılı makale de gösterildiği gibi, tipik olarak alışılmadık sözdizimi yeniden yazar içerdiğini kullanılmadığı takdirde, önemli ölçüde düşük performans (Sıra modu uygulama) neden olabilir.
Daha fazla bilgi
Remus Rusanu burada harika bir genel bakış yayınladı .