Azure Veri Gezgini ile yüksek eşzamanlılık için iyileştirme

Yüksek oranda eşzamanlı uygulamalar, uygulamanın düşük gecikme süresi ve yüksek aktarım hızıyla birçok isteği aynı anda işlediği büyük bir kullanıcı tabanına sahip senaryolarda gereklidir.

Kullanım örnekleri arasında büyük ölçekli izleme ve uyarı panoları yer alır. Örnek olarak Azure İzleyici ve Playfab gibi Microsoft ürünleri ve hizmetleri verilebilir. Tüm bu hizmetler yüksek eşzamanlılık iş yüklerine hizmet etmek için Azure Veri Gezgini kullanır. Azure Veri Gezgini, uygulamalardan, web sitelerinden, IoT cihazlarından ve daha fazlasından büyük hacimli veri akışı üzerinde gerçek zamanlı analizler için hızlı, tam olarak yönetilen bir büyük veri analizi hizmetidir.

Not

Bir kümede eşzamanlı olarak çalışabilen gerçek sorgu sayısı, küme SKU'su, veri birimleri, sorgu karmaşıklığı ve kullanım desenleri gibi faktörlere bağlıdır.

Yüksek eşzamanlılık uygulamaları ayarlamak için arka uç mimarisini aşağıdaki gibi tasarlayın:

Bu makalede, en uygun ve uygun maliyetli bir şekilde yüksek eşzamanlılık elde etmek için uygulayabileceğiniz önceki konuların her biri için öneriler sunulur. Bu özellikleri tek başına veya birlikte kullanın.

Verileri iyileştirme

Yüksek eşzamanlılık için sorgular mümkün olan en az CPU kaynağını kullanmalıdır. Aşağıdaki yöntemlerin herhangi birini veya tümünü kullanın:

Tablo şeması tasarımı en iyi yöntemlerini kullanma

Kullanılan CPU kaynaklarını en aza indirmek için aşağıdaki tablo şeması tasarım önerilerini kullanın:

  • Kimlik sütunlarını, değerler sayısal olsa bile dize veri türleri olarak tanımlayın. Dize sütunları için dizin oluşturma, sayısal sütunlara göre daha karmaşıktır ve daha iyi filtreleme performansı sağlar.
  • Sütun veri türünü bu sütunlarda depolanan gerçek veriyle en uygun şekilde eşleştirin. Örneğin, tarih saat değerlerini dize sütununda depolamayın.
  • Çok sayıda sütunu olan büyük bir seyrek tablodan kaçının ve seyrek özellikleri depolamak için dinamik sütunlar kullanın.
  • Sık kullanılan özellikleri kendi sütunlarında, dinamik olmayan bir veri türüyle depolayın.
  • Görece büyük CPU kaynakları gerektiren birleştirmeleri önlemek için verileri denormalize edin.

Verileri bölümleme

Veriler kapsamlar (veri parçaları) biçiminde depolanır ve varsayılan olarak alma süresine göre bölümlenmiştir. Bir arka plan işleminde tek bir dize sütununa veya tek bir tarih saat sütununa göre kapsamları yeniden bölümlendirmek için bölümleme ilkesini kullanabilirsiniz. Sorguların çoğu filtrelemek, toplamak veya her ikisini birden yapmak için bölüm anahtarları kullandığında bölümleme önemli performans geliştirmeleri sağlayabilir.

Not

Bölümleme işleminin kendisi CPU kaynaklarını kullanır. Ancak sorgu süresindeki CPU azaltması, bölümleme için kullanılan CPU'ya ağır basmalıdır.

Gerçekleştirilmiş görünümleri kullanarak verilerinizi önceden biriktirme

Sorgu süresi boyunca CPU kaynaklarını önemli ölçüde azaltmak için verilerinizi önceden ekleyin. Örnek senaryolar, veri noktalarını daha az zaman diliminde özetlemek, belirli bir kaydın en güncel halini saklamak veya veri kümesini yinelenenlerden arındırmayı içerir. Kaynak tablolar üzerinde yapılandırması kolay toplu bir görünüm için oluşmuş görünümleri kullanın. Bu özellik, bu toplanmış görünümleri oluşturma ve koruma çabasını basitleştirir.

Not

Arka plan toplama işlemi CPU kaynaklarını kullanır. Ancak sorgu süresindeki CPU azaltması, toplama için CPU tüketimine ağır basmalıdır.

Önbelleğe alma ilkesini yapılandırma

Önbelleğe alma ilkesini, sorguların disk önbelleği olarak da bilinen sık erişimli depolamada depolanan verilerde çalışması için yapılandırın. Yalnızca soğuk depolama veya harici tablolarda dikkatle tasarlanmış, sınırlı senaryolar çalıştırın.

Öncü-takip mimarisi deseni ayarlama

Takipçi veritabanı, aynı bölgede bulunan başka bir kümeden veritabanındaki bir veritabanını veya tablo kümesini izleyen bir özelliktir. Bu özelliğe Azure Veri Paylaşımı, Azure Resource Manager API'leri ve küme komutları kümesi aracılığıyla erişebilirsiniz.

Farklı iş yükleri için işlem kaynaklarını ayarlamak için öncü-takip desenini kullanın. Örneğin, veri alımı için bir küme, panoları veya uygulamaları sorgulamak ya da sunmak için bir küme ve veri bilimi iş yüklerine hizmet sunan bir küme oluşturun. Bu durumda her iş yükünün bağımsız olarak ölçeklendirebileceğiniz ayrılmış işlem kaynakları ve farklı önbelleğe alma ve güvenlik yapılandırmaları vardır. Tüm kümeler aynı verileri kullanır ve öncü verileri yazar ve takipçiler verileri salt okunur modda kullanır.

Not

Takipçi veritabanlarında genellikle birkaç saniye olmak üzere öncüden bir gecikme olur. Çözümünüz gecikme süresi olmadan en son verileri gerektiriyorsa, bu çözüm yararlı olmayabilir. Öncüden ve takipçiden verileri bir araya getiren ve öncüden en son verileri ve takip edenden kalan verileri sorgulayan takipçi kümesinde bir görünüm kullanın.

Takipçi kümesindeki sorguların performansını geliştirmek için, kapsamları önceden yapılandırmayı etkinleştirebilirsiniz. Takipçi veritabanındaki verilerin güncelliğini etkileyebileceğinden bu yapılandırmayı dikkatle kullanın.

Sorguları iyileştirme

Sorgularınızı yüksek eşzamanlılık açısından iyileştirmek için aşağıdaki yöntemleri kullanın.

Sorgularınızın mümkün olduğunca verimli olması için sorgu en iyi yöntemlerini izleyin.

Sorgu sonuçları önbelleği kullanma

Aynı panoyu aynı anda birden fazla kullanıcı yüklediğinde, pano önbellekten ikinci ve aşağıdaki kullanıcılara sunulur. Bu kurulum neredeyse hiç CPU kullanımı olmadan yüksek performans sağlar. Sorgu sonuçları önbellek özelliğini kullanın ve deyimini kullanarak set sorguyla sorgu sonuçları önbellek yapılandırmasını gönderin.

Grafana , veri kaynağı düzeyinde sorgu sonuçları önbelleği için bir yapılandırma ayarı içerdiğinden, tüm panolar varsayılan olarak bu ayarı kullanır ve sorguyu değiştirmesi gerekmez.

Sorgu tutarlılığını yapılandırma

Varsayılan sorgu tutarlılığı modu güçlüdür. Bu modda bir yönetici düğümü, küme için meta verileri ve alımı yönetir; ayrıca sorgu planlaması yapar ve yürütmeyi diğer düğümlere devreder.

Yüksek eşzamanlılık uygulamalarında sorguları yönetmek yönetici düğümlerinin CPU kullanımının yüksek, diğer düğümlerin ise daha az meşgul olmasını sağlayabilir. Bu durum, eşzamanlı sorgu sayısının artamayacağı bir darboğaza yol açabilir. Ancak, bu tıkanıklık, kümenin ortalama CPU kullanımını gösteren CPU raporunda (Azure portal > {your_cluster} > Ölçümler > CPU Ölçümü) belirgin olmayabilir.

Bu senaryo için zayıf tutarlılık modunu kullanın. Bu modda, daha fazla düğüm sorguları yönetir ve bu da eşzamanlı sorgu sayısını yatay olarak ölçeklendirmeyi mümkün kılar. Bu modda düğümler meta veri kopyalarını ve yeni alınan verileri düzenli aralıklarla yeniler ve bu da veriler eşitlenirken genellikle bir dakikadan kısa bir gecikme süresine neden olur. Ancak, güçlü tutarlılık modu kullanıldığında ortaya çıkabilecek tıkanıklık durumuna göre bu kısa gecikme süresi tercih edilir.

Tutarlılık modunu bir iş yükü grubu sorgu tutarlılığı ilkesinde, istemci isteği özelliklerinde veya Grafana veri kaynağı yapılandırmasında ayarlayın.

Küme ilkelerini ayarlama

İstek hızı sınırı ilkesi, kümenin aşırı yüklenmemesi için varsayılan olarak eşzamanlı istek sayısını sınırlar. Bu ilkeyi yüksek eşzamanlılık durumları için ayarlayabilirsiniz. Bu ilkeyi yalnızca zorlu testlerden sonra, tercihen üretim benzeri kullanım düzenleri ve veri kümelerinde ayarlayın. Test, kümenin değiştirilen değeri sürdürebilmesini sağlar. Bu sınırı uygulama gereksinimlerine göre yapılandırın.

Azure Veri Gezgini kümelerini izleme

Küme kaynaklarınızın durumunu izlemek, önceki bölümlerde önerilen özellikleri kullanarak bir iyileştirme planı oluşturmanıza yardımcı olur. Azure Veri Gezgini için Azure İzleyici, kümenizin performansına, işlemlerine, kullanımına ve hatalarına ilişkin kapsamlı bir görünüm sağlar. Azure portalda Azure Veri Gezgini kümesinin İzleme bölümünde İçgörüler (önizleme) sekmesini seçerek sorguların performansı, eşzamanlı sorgular, kısıtlanmış sorgular ve diğer çeşitli ölçümler hakkında içgörüler elde edin.

Kümeleri izleme hakkında bilgi için bkz Azure Veri Gezgini için Azure İzleyici.