Ölçeği genişletilen bulut veritabanları arasında veri taşıma

Şunlar için geçerlidir: Azure SQL Veritabanı

Hizmet Olarak Yazılım geliştiricisiyseniz ve aniden uygulamanız çok fazla talep görüyorsa büyümeyi kabul etmeniz gerekir. Bu nedenle daha fazla veritabanı (parça) eklersiniz. Veri bütünlüğünü bozmadan verileri yeni veritabanlarına nasıl yeniden dağıtabilirsiniz? Verileri kısıtlanmış veritabanlarından yeni veritabanlarına taşımak için bölünmüş birleştirme aracını kullanın.

Bölünmüş birleştirme aracı bir Azure web hizmeti olarak çalışır. Yönetici veya geliştirici, farklı veritabanları (parçalar) arasında parçacıkları (bir parçadan alınan veriler) taşımak için aracı kullanır. Araç, hizmet meta veri veritabanını korumak ve tutarlı eşlemeler sağlamak için parça eşleme yönetimini kullanır.

Genel bakış

Karşıdan Yükle

Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge

Belgeler

  1. Elastik veritabanı bölünmüş birleştirme aracı öğreticisi
  2. Bölünmüş birleştirme güvenlik yapılandırması
  3. Bölünmüş birleştirme güvenlik konuları
  4. Parça eşleme yönetimi
  5. Ölçeği genişletilen mevcut veritabanlarını geçirme
  6. Elastik veritabanı araçları
  7. Esnek veritabanı araçları sözlüğü

Bölünmüş birleştirme aracını neden kullanmalısınız?

  • Esneklik

    Uygulamaların Azure SQL Veritabanı tek bir veritabanının sınırlarının ötesine esnek bir şekilde esnetilmesi gerekir. Verileri gerektiği gibi yeni veritabanlarına taşırken bütünlüğü korumak için aracını kullanın.

  • Büyümek için bölün

    Patlayıcı büyümeyi işlemek için genel kapasiteyi artırmak için verileri parçalayarak ve kapasite ihtiyaçları karşılanana kadar bunları artımlı olarak daha fazla veritabanına dağıtarak ek kapasite oluşturun. Bu, bölme özelliğinin en önemli örneğidir.

  • Küçültmek için birleştir

    Bir işletmenin mevsimsel doğası nedeniyle kapasite ihtiyacı küçülür. Araç, iş yavaşladığında ölçeği daha az ölçek birimine azaltmanıza olanak tanır. Elastik Ölçek Bölme-Birleştirme Hizmeti'ndeki birleştirme özelliği bu gereksinimi kapsar.

  • Parçaları taşıyarak etkin noktaları yönetme

    Veritabanı başına birden çok kiracı ile parçalı parçaların parçalara ayrılması bazı parçalarda kapasite sorunlarına yol açabilir. Bunun için parçaların yeniden tahsisi veya meşgul parçaların yeni veya daha az kullanılan parçalara taşınması gerekir.

Kavramlar ve temel özellikler

  • Müşteri tarafından barındırılan hizmetler

    Bölünmüş birleştirme, müşteri tarafından barındırılan bir hizmet olarak teslim edilir. Hizmeti Microsoft Azure aboneliğinizde dağıtmanız ve barındırmanız gerekir. NuGet'ten indirdiğiniz paket, dağıtımınıza ilişkin bilgileri içeren bir yapılandırma şablonu içerir. Ayrıntılar için bkz. bölünmüş birleştirme öğreticisi. Hizmet Azure aboneliğinizde çalıştığından, hizmetin güvenlik yönlerini denetleyebilir ve yapılandırabilirsiniz. Varsayılan şablon TLS, sertifika tabanlı istemci kimlik doğrulaması, depolanan kimlik bilgileri için şifreleme, DoS koruma ve IP kısıtlamalarını yapılandırma seçeneklerini içerir. Güvenlik özellikleri hakkında daha fazla bilgiyi aşağıdaki belgenin bölünmüş birleştirme güvenlik yapılandırmasında bulabilirsiniz.

    Varsayılan dağıtılan hizmet, bir çalışan ve bir web rolüyle çalışır. Her biri Azure Cloud Services'da A1 VM boyutunu kullanır. Paketi dağıtırken bu ayarları değiştiremeseniz de, çalışan bulut hizmetinde başarılı bir dağıtımdan sonra (Azure portalı aracılığıyla) bunları değiştirebilirsiniz. Teknik nedenlerle çalışan rolünün tek bir örnekten fazla yapılandırılmaması gerektiğini unutmayın.

  • Parça eşleme tümleştirmesi

    Bölünmüş birleştirme hizmeti, uygulamanın parça haritasıyla etkileşim kurar. Aralıkları bölmek veya birleştirmek ya da parçaları parçalar arasında taşımak için bölünmüş birleştirme hizmetini kullanırken, hizmet parça eşlemesini otomatik olarak güncel tutar. Bunu yapmak için hizmet, uygulamanın parça eşleme yöneticisi veritabanına bağlanır ve bölme/birleştirme/taşıma istekleri ilerledikçe aralıkları ve eşlemeleri korur. Bu, parça eşlemesinin bölünmüş birleştirme işlemleri devam ederken her zaman güncel bir görünüm sunmasını sağlar. Bölme, birleştirme ve parçacık taşıma işlemleri, kaynak parçadan hedef parçaya bir grup parça taşınarak uygulanır. Parçalı taşıma işlemi sırasında, geçerli toplu işleme tabi olan parçacıklar parça eşlemesinde çevrimdışı olarak işaretlenir ve OpenConnectionForKey API'sini kullanan verilere bağlı yönlendirme bağlantıları için kullanılamaz.

  • Tutarlı parçalı bağlantılar

    Yeni bir parça grubu için veri taşıma başladığında, parçalı parçanın depolandığı parçaya veriye bağımlı yönlendirme bağlantıları kesilir ve tutarsızlıkları önlemek için veri taşıma işlemi devam ederken parça eşleme API'lerinden parçacıklara sonraki bağlantılar engellenir. Aynı parçadaki diğer parçalarla bağlantılar da öldürülür, ancak yeniden denemede hemen başarılı olur. Toplu iş taşındıktan sonra, parçacıklar hedef parça için yeniden çevrimiçi olarak işaretlenir ve kaynak veriler kaynak parçadan kaldırılır. Hizmet, tüm parçalar taşınana kadar her toplu iş için bu adımları izler. Bu, tam bölme/birleştirme/taşıma işlemi sırasında çeşitli bağlantı sonlandırma işlemlerine yol açar.

  • Parçalı kullanılabilirliği yönetme

    Bağlantı öldürme işleminin yukarıda açıklandığı gibi geçerli parçalı grupla sınırlandırılması, kullanılamama kapsamını tek seferde bir toplu parçayla kısıtlar. Bu, bölme veya birleştirme işlemi sırasında parçanın tamamının tüm parçaları için çevrimdışı kalacağı bir yaklaşım yerine tercih edilir. Bir kerede taşınacak ayrı parçalı parçaların sayısı olarak tanımlanan toplu işlemin boyutu bir yapılandırma parametresidir. Uygulamanın kullanılabilirlik ve performans gereksinimlerine bağlı olarak her bölme ve birleştirme işlemi için tanımlanabilir. Parça eşlemesinde kilitlenen aralığın belirtilen toplu iş boyutundan daha büyük olabileceğini unutmayın. Bunun nedeni, hizmetin aralık boyutunu, verilerdeki gerçek parçalama anahtarı değerlerinin yaklaşık olarak toplu iş boyutuyla eşleşebilecek şekilde seçmesidir. Bu, özellikle seyrek doldurulan parçalama anahtarları için anımsamak önemlidir.

  • Meta veri depolama

    Bölünmüş birleştirme hizmeti, durumunu korumak ve istek işleme sırasında günlükleri tutmak için bir veritabanı kullanır. Kullanıcı bu veritabanını kendi aboneliğinde oluşturur ve hizmet dağıtımı yapılandırma dosyasında bu veritabanının bağlantı dizesi sağlar. Kullanıcının kuruluşundaki yöneticiler de istek ilerleme durumunu gözden geçirmek ve olası hatalarla ilgili ayrıntılı bilgileri araştırmak için bu veritabanına bağlanabilir.

  • Parçalama farkındalığı

    Bölünmüş birleştirme hizmeti (1) parçalı tablo, (2) başvuru tablosu ve (3) normal tablo arasında ayrımlar sağlar. Bölme/birleştirme/taşıma işleminin semantiği, kullanılan tablonun türüne bağlıdır ve aşağıdaki gibi tanımlanır:

    • Parçalı tablolar

      Bölme, birleştirme ve taşıma işlemleri, parçaları kaynaktan hedef parçaya taşır. Genel istek başarıyla tamamlandıktan sonra, bu parçacıklar artık kaynakta bulunmaz. Hedef tabloların hedef parçada bulunması ve işlemin işlenmesinden önce hedef aralıkta veri içermemesi gerektiğini unutmayın.

    • Başvuru tabloları

      Başvuru tabloları için bölme, birleştirme ve taşıma işlemleri verileri kaynaktan hedef parçaya kopyalar. Ancak, hedefteki bu tabloda zaten herhangi bir satır varsa, belirli bir tablo için hedef parçada hiçbir değişiklik yapılmadığını unutmayın. İşlenebilmek için herhangi bir başvuru tablosu kopyalama işlemi için tablonun boş olması gerekir.

    • Diğer tablolar

      Diğer tablolar, bir bölme ve birleştirme işleminin kaynağında veya hedefinde bulunabilir. Bölünmüş birleştirme hizmeti, veri taşıma veya kopyalama işlemleri için bu tabloları göz ardı eder. Ancak, kısıtlamalar söz konusu olduğunda bu işlemleri engelleyebileceklerini unutmayın.

      Başvuru ve parçalanmış tablolar hakkındaki bilgiler, parça eşlemesi üzerindeki SchemaInfo API'ler tarafından sağlanır. Aşağıdaki örnekte, belirli bir parça eşleme yöneticisi nesnesinde bu API'lerin kullanımı gösterilmektedir:

      // Create the schema annotations
      SchemaInfo schemaInfo = new SchemaInfo();
      
      // reference tables
      schemaInfo.Add(new ReferenceTableInfo("dbo", "region"));
      schemaInfo.Add(new ReferenceTableInfo("dbo", "nation"));
      
      // sharded tables
      schemaInfo.Add(new ShardedTableInfo("dbo", "customer", "C_CUSTKEY"));
      schemaInfo.Add(new ShardedTableInfo("dbo", "orders", "O_CUSTKEY"));
      
      // publish
      smm.GetSchemaInfoCollection().Add(Configuration.ShardMapName, schemaInfo);
      

      ve nation tabloları region başvuru tabloları olarak tanımlanır ve bölme/birleştirme/taşıma işlemleriyle kopyalanır. customer ve orders sırayla parçalı tablolar olarak tanımlanır. C_CUSTKEY ve O_CUSTKEY parçalama anahtarı olarak görev yapın.

  • Bilgi tutarlılığı

    Bölünmüş birleştirme hizmeti, tablolar arasındaki bağımlılıkları analiz eder ve başvuru tablolarını ve parçacıklarını taşıma işlemlerini hazırlamak için yabancı anahtar-birincil anahtar ilişkilerini kullanır. Genel olarak, başvuru tabloları önce bağımlılık sırasına göre kopyalanır, ardından parçacıklar her toplu iş içindeki bağımlılıklarına göre kopyalanır. Bu, yeni veriler geldikçe hedef parçadaki FK-PK kısıtlamalarının yerine getirilmesi için gereklidir.

  • Parça eşleme tutarlılığı ve nihai tamamlama

    Hataların varlığında, bölünmüş birleştirme hizmeti herhangi bir kesintiden sonra işlemleri sürdürür ve devam eden istekleri tamamlamayı hedefler. Ancak, kurtarılamaz durumlar olabilir, örneğin, hedef parçanın kaybolması veya onarılamayacak şekilde tehlikeye atılması gibi durumlar olabilir. Bu koşullar altında, taşınması gereken bazı parçalar kaynak parçada yer almaya devam edebilir. Hizmet, parçacık eşlemelerinin yalnızca gerekli veriler hedefe başarıyla kopyalandıktan sonra güncelleştirilmesini sağlar. Parçacıklar yalnızca tüm verileri hedefe kopyalandığında ve karşılık gelen eşlemeler başarıyla güncelleştirildikten sonra kaynakta silinir. Silme işlemi, aralık hedef parçada zaten çevrimiçiyken arka planda gerçekleşir. Bölünmüş birleştirme hizmeti her zaman parça eşlemesinde depolanan eşlemelerin doğruluğunu sağlar.

Bölünmüş birleştirme kullanıcı arabirimi

Bölünmüş birleştirme hizmet paketi bir çalışan rolü ve bir web rolü içerir. Web rolü, bölünmüş birleştirme isteklerini etkileşimli bir şekilde göndermek için kullanılır. Kullanıcı arabiriminin ana bileşenleri şunlardır:

  • İşlem türü

    İşlem türü, bu istek için hizmet tarafından gerçekleştirilen işlem türünü denetleen bir radyo düğmesidir. Bölme, birleştirme ve taşıma senaryoları arasında seçim yapabilirsiniz. Daha önce gönderilen bir işlemi de iptal edebilirsiniz. Aralık parça eşlemeleri için bölme, birleştirme ve taşıma isteklerini kullanabilirsiniz. Liste parça eşlemeleri yalnızca taşıma işlemlerini destekler.

  • Parça eşlemesi

    İstek parametrelerinin sonraki bölümünde parça eşlemesi ve parça haritanızı barındıran veritabanı hakkında bilgiler yer alır. Özellikle, parça haritasını barındıran sunucu ve veritabanının adını, parça eşleme veritabanına bağlanmak için kimlik bilgilerini ve son olarak parça eşlemesinin adını sağlamanız gerekir. Şu anda işlem yalnızca tek bir kimlik bilgisi kümesini kabul eder. Bu kimlik bilgilerinin hem parça eşlemesinde hem de parçalardaki kullanıcı verilerinde değişiklik yapmak için yeterli izinlere sahip olması gerekir.

  • Kaynak aralık (bölme ve birleştirme)

    Bölme ve birleştirme işlemi, düşük ve yüksek anahtarını kullanarak bir aralığı işler. İlişkisiz yüksek anahtar değerine sahip bir işlem belirtmek için "Yüksek anahtar en büyük" onay kutusunu işaretleyin ve yüksek anahtar alanını boş bırakın. Belirttiğiniz aralık anahtarı değerlerinin parça eşlemenizdeki bir eşlemeyi ve sınırlarını tam olarak eşleştirmesi gerekmez. Herhangi bir aralık sınırı belirtmezseniz hizmet sizin için en yakın aralığı otomatik olarak çıkaracaktır. Belirli bir parça eşlemesindeki geçerli eşlemeleri almak için GetMappings.ps1 PowerShell betiğini kullanabilirsiniz.

  • Kaynak davranışını bölme (bölme)

    Bölme işlemleri için kaynak aralığı bölme noktasını tanımlayın. Bölme işleminin gerçekleşmesini istediğiniz parçalama anahtarını sağlayarak bunu yaparsınız. Radyo düğmesini kullanarak aralığın alt kısmının (bölme tuşu hariç) taşınmasını mı, yoksa üst kısmın mı (bölme tuşu dahil) taşınmasını istediğinizi belirtin.

  • Kaynak parçalı (taşıma)

    Taşıma işlemleri, kaynağı açıklamak için bir aralık gerektirmediğinden bölme veya birleştirme işlemlerinden farklıdır. Taşıma kaynağı, taşımayı planladığınız parçalama anahtarı değeriyle tanımlanır.

  • Hedef parça (bölünmüş)

    Bölme işleminizin kaynağıyla ilgili bilgileri sağladıktan sonra, hedef için sunucu ve veritabanı adını sağlayarak verilerin kopyalanmasını istediğiniz yeri tanımlamanız gerekir.

  • Hedef aralık (birleştirme)

    Birleştirme işlemleri, parçaları mevcut bir parçaya taşır. Birleştirmek istediğiniz mevcut aralığın aralık sınırlarını sağlayarak var olan parçanın kimliğini belirlersiniz.

  • Toplu iş boyutu

    Toplu iş boyutu, veri taşıma sırasında bir kerede çevrimdışı olacak parçalı parçaların sayısını denetler. Bu, parçacıklar için uzun kapalı kalma sürelerine duyarlı olduğunuzda daha küçük değerler kullanabileceğiniz bir tamsayı değeridir. Daha büyük değerler, belirli bir parçanın çevrimdışı olduğu süreyi artırır, ancak performansı artırabilir.

  • İşlem Kimliği (iptal)

    Artık gerekli olmayan devam eden bir işleminiz varsa, bu alanda işlem kimliğini sağlayarak işlemi iptal edebilirsiniz. İşlem kimliğini istek durum tablosundan (bkz. Bölüm 8.1) veya isteği gönderdiğiniz web tarayıcısında bulunan çıktıdan alabilirsiniz.

Gereksinimler ve sınırlamalar

Bölünmüş birleştirme hizmetinin geçerli uygulaması aşağıdaki gereksinimlere ve sınırlamalara tabidir:

  • Bu parçalar üzerinde bölünmüş birleştirme işleminin gerçekleştirilebilmesi için önce parçaların mevcut olması ve parça eşlemesine kaydedilmesi gerekir.
  • Hizmet, işlemlerinin bir parçası olarak tabloları veya diğer veritabanı nesnelerini otomatik olarak oluşturmaz. Bu, tüm parçalanmış tabloların ve başvuru tablolarının şemasının herhangi bir bölme/birleştirme/taşıma işleminden önce hedef parçada bulunması gerektiği anlamına gelir. Özellikle parçalı tabloların, bölme/birleştirme/taşıma işlemiyle yeni parçalı parçaların eklendiği aralıkta boş olması gerekir. Aksi takdirde, işlem hedef parçada ilk tutarlılık denetiminde başarısız olur. Ayrıca, başvuru verilerinin yalnızca başvuru tablosu boşsa kopyalandığını ve başvuru tablolarındaki diğer eşzamanlı yazma işlemleriyle ilgili tutarlılık garantisi olmadığını unutmayın. Bunu öneririz: bölme/birleştirme işlemlerini çalıştırırken, başvuru tablolarında başka hiçbir yazma işlemi değişiklik yapmaz.
  • Hizmet, büyük parçacıklar için performansı ve güvenilirliği artırmak için parçalama anahtarını içeren benzersiz bir dizin veya anahtar tarafından oluşturulan satır kimliğine dayanır. Bu, hizmetin verileri yalnızca parçalama anahtarı değerinden daha ince bir ayrıntı düzeyinde taşımasına olanak tanır. Bu, işlem sırasında gereken en fazla günlük alanı ve kilit miktarını azaltmaya yardımcı olur. Bu tabloyu bölme/birleştirme/taşıma istekleriyle kullanmak istiyorsanız, belirli bir tablodaki parçalama anahtarı dahil olmak üzere benzersiz bir dizin veya birincil anahtar oluşturmayı göz önünde bulundurun. Performans nedenleriyle parçalama anahtarı, anahtarın veya dizinin başındaki sütun olmalıdır.
  • İstek işleme sırasında hem kaynakta hem de hedef parçada bazı parçacık verileri bulunabilir. Bu, parçacık hareketi sırasındaki hatalara karşı koruma sağlamak için gereklidir. Parça eşlemesi ile bölünmüş birleştirme tümleştirmesi, parça eşlemesindeki OpenConnectionForKey yöntemini kullanarak verilere bağımlı yönlendirme API'leri üzerinden yapılan bağlantıların tutarsız ara durumlarla karşılanmamasını sağlar. Ancak OpenConnectionForKey yöntemini kullanmadan kaynağa veya hedef parçalara bağlanırken, bölme/birleştirme/taşıma istekleri devam ederken tutarsız ara durumlar görünebilir. Bu bağlantılar, zamanlamaya veya bağlantının temel alınan parçasına bağlı olarak kısmi veya yinelenen sonuçlar gösterebilir. Bu sınırlama şu anda Elastik Ölçek Çoklu Parça Sorguları tarafından yapılan bağlantıları içerir.
  • Bölünmüş birleştirme hizmetinin meta veri veritabanı farklı roller arasında paylaşılmamalıdır. Örneğin, hazırlamada çalışan bölünmüş birleştirme hizmetinin rolünün üretim rolünden farklı bir meta veri veritabanına işaret etmesi gerekir.

Faturalandırma

Bölünmüş birleştirme hizmeti, Microsoft Azure aboneliğinizde bulut hizmeti olarak çalışır. Bu nedenle bulut hizmetleri için ücretler hizmet örneğine uygulanır. Bölme/birleştirme/taşıma işlemlerini sık sık gerçekleştirmediğiniz sürece, bölünmüş birleştirme bulut hizmetinizi silmenizi öneririz. Bu, bulut hizmeti örneklerini çalıştırma veya dağıtma maliyetlerinden tasarruf sağlar. Bölme veya birleştirme işlemleri gerçekleştirmeniz gerektiğinde, kolayca çalıştırılabilir yapılandırmanızı yeniden dağıtabilir ve başlatabilirsiniz.

İzleme

Durum tabloları

Bölünmüş birleştirme Hizmeti, tamamlanan ve devam eden istekleri izlemek için meta veri deposu veritabanında RequestStatus tablosunu sağlar. Tabloda, bölme birleştirme hizmetinin bu örneğine gönderilen her bölünmüş birleştirme isteği için bir satır listelenir. Her istek için aşağıdaki bilgileri verir:

  • Zaman damgası

    İsteğin başlatıldığı saat ve tarih.

  • OperationId

    İsteği benzersiz olarak tanımlayan BIR GUID. Bu istek, devam ederken işlemi iptal etmek için de kullanılabilir.

  • Statü

    İsteğin geçerli durumu. Devam eden istekler için, isteğin bulunduğu geçerli aşamayı da listeler.

  • CancelRequest

    İsteğin iptal edilip edilmediğini gösteren bayrak.

  • İlerleme

    İşlem için tamamlanma yüzdesi tahmini. 50 değeri, işlemin yaklaşık %50 tamamlandığını gösterir.

  • Ayrıntılar

    Daha ayrıntılı bir ilerleme raporu sağlayan xml değeri. Satır kümeleri kaynaktan hedefe kopyalandığında ilerleme raporu düzenli aralıklarla güncelleştirilir. Hatalar veya özel durumlar söz konusu olduğunda, bu sütun hata hakkında daha ayrıntılı bilgiler de içerir.

Azure Tanılama

Bölünmüş birleştirme hizmeti, izleme ve tanılama için Azure SDK 2.5'i temel alan Azure Tanılama kullanır. Tanılama yapılandırmasını burada açıklandığı gibi denetleyebilirsiniz: Azure Cloud Services ve Sanal Makineler tanılamayı etkinleştirme. İndirme paketi, biri web rolü ve diğeri çalışan rolü için olan iki tanılama yapılandırması içerir. Performans Sayaçlarını, IIS günlüklerini, Windows Olay Günlüklerini ve bölünmüş birleştirme uygulaması olay günlüklerini günlüğe kaydetme tanımlarını içerir.

TanılamaYı Dağıtma

Not

Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önemli

PowerShell Azure Resource Manager modülü hala desteklenmektedir ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. Bu cmdlet'ler için bkz . AzureRM.Sql. Az modülündeki ve AzureRm modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır.

NuGet paketi tarafından sağlanan web ve çalışan rollerinin tanılama yapılandırmasını kullanarak izleme ve tanılamayı etkinleştirmek için Azure PowerShell'i kullanarak aşağıdaki komutları çalıştırın:

$storageName = "<azureStorageAccount>"
$key = "<azureStorageAccountKey"
$storageContext = New-AzStorageContext -StorageAccountName $storageName -StorageAccountKey $key
$configPath = "<filePath>\SplitMergeWebContent.diagnostics.xml"
$serviceName = "<cloudServiceName>"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWeb"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWorker"

Tanılama ayarlarını yapılandırma ve dağıtma hakkında daha fazla bilgiyi burada bulabilirsiniz: Azure Cloud Services ve Sanal Makineler Tanılamayı Etkinleştirme.

Tanılamaları alma

Tanılamalarınıza, Sunucu Gezgini ağacının Azure bölümündeki Visual Studio Sunucu Gezgini'nden kolayca erişebilirsiniz. Bir Visual Studio örneği açın ve menü çubuğunda Görünüm'e ve Sunucu Gezgini'ne tıklayın. Azure aboneliğinize bağlanmak için Azure simgesine tıklayın. Ardından Azure - Depolama ->><your storage account> -> Tablolar -> WADLogsTable'a gidin. Daha fazla bilgi için bkz . Sunucu Gezgini.

WADLogsTable

Yukarıdaki şekilde vurgulanan WADLogsTable, bölünmüş birleştirme hizmetinin uygulama günlüğündeki ayrıntılı olayları içerir. İndirilen paketin varsayılan yapılandırmasının üretim dağıtımına yönelik olduğunu unutmayın. Bu nedenle, hizmet örneklerinden günlüklerin ve sayaçların çekilme aralığı büyük (5 dakika). Test ve geliştirme için, web'in tanılama ayarlarını veya çalışan rolünü gereksinimlerinize göre ayarlayarak aralığı düşürebilirsiniz. Visual Studio Sunucu Gezgini'nde role sağ tıklayın (yukarıya bakın) ve ardından Tanılama yapılandırma ayarları için iletişim kutusundaki Aktarım Dönemi'ni ayarlayın:

Yapılandırma

Performans

Genel olarak, daha yüksek ve daha performanslı hizmet katmanlarından daha iyi performans beklenir. Daha yüksek hizmet katmanları için daha yüksek GÇ, CPU ve bellek ayırmaları, bölme birleştirme hizmetinin kullandığı toplu kopyalama ve silme işlemlerine yarar. Bu nedenle, hizmet katmanını yalnızca bu veritabanları için tanımlı, sınırlı bir süre için artırın.

Hizmet ayrıca normal işlemlerinin bir parçası olarak doğrulama sorguları gerçekleştirir. Bu doğrulama sorguları, hedef aralıkta beklenmeyen veri olup olmadığını denetler ve tüm bölme/birleştirme/taşıma işleminin tutarlı bir durumdan başlatıldığından emin olun. Bu sorguların tümü, işlemin kapsamına göre tanımlanan parçalama anahtarı aralıkları ve istek tanımının bir parçası olarak sağlanan toplu iş boyutu üzerinde çalışır. Bu sorgular, baştaki sütun olarak parçalama anahtarına sahip bir dizin mevcut olduğunda en iyi performansı gösterir.

Ayrıca, öndeki sütun olarak parçalama anahtarına sahip benzersizlik özelliği, hizmetin kaynak tüketimini günlük alanı ve bellek açısından sınırlayan iyileştirilmiş bir yaklaşım kullanmasına olanak sağlar. Bu benzersizlik özelliği, büyük veri boyutlarını (genellikle 1 GB'ın üzerinde) taşımak için gereklidir.

Yükseltme

  1. Bölünmüş birleştirme hizmeti dağıtma'daki adımları izleyin.
  2. Bölünmüş birleştirme dağıtımınız için bulut hizmeti yapılandırma dosyanızı yeni yapılandırma parametrelerini yansıtacak şekilde değiştirin. Yeni bir gerekli parametre, şifreleme için kullanılan sertifika hakkındaki bilgilerdir. Bunu gerçekleştirmenin kolay bir yolu, indirmedeki yeni yapılandırma şablonu dosyasını mevcut yapılandırmanızla karşılaştırmaktır. Hem web hem de çalışan rolü için DataEncryptionPrimaryCertificateThumbprint ve DataEncryptionPrimary ayarlarını eklediğinizden emin olun.
  3. Güncelleştirmeyi Azure'a dağıtmadan önce, şu anda çalışan tüm bölünmüş birleştirme işlemlerinin tamamlandığından emin olun. Devam eden istekler için bölünmüş birleştirme meta veri veritabanındaki RequestStatus ve PendingWorkflows tablolarını sorgulayarak bunu kolayca yapabilirsiniz.
  4. Azure aboneliğinizde bölünmüş birleştirme için mevcut bulut hizmeti dağıtımınızı yeni paket ve güncelleştirilmiş hizmet yapılandırma dosyanızla güncelleştirin.

Yükseltme için bölünmüş birleştirme için yeni bir meta veri veritabanı sağlamanız gerekmez. Yeni sürüm, mevcut meta veri veritabanınızı otomatik olarak yeni sürüme yükseltecektir.

En iyi yöntemler ve sorun giderme

  • Bir test kiracısı tanımlayın ve test kiracısıyla en önemli bölme/birleştirme/taşıma işlemlerinizi çeşitli parçalar arasında uygulayın. Parça haritanızda tüm meta verilerin doğru tanımlandığından ve işlemlerin kısıtlamaları veya yabancı anahtarları ihlal etmediğinden emin olun.
  • Veri boyutuyla ilgili sorunlarla karşılaşmadığınızdan emin olmak için test kiracısı veri boyutunu en büyük kiracınızın maksimum veri boyutunun üzerinde tutun. Bu, bir üst sınırı tek bir kiracıyı taşımak için gereken süreyi değerlendirmenize yardımcı olur.
  • Şemanızın silme işlemlerine izin verdiğinden emin olun. Bölünmüş birleştirme hizmeti, veriler hedefe başarıyla kopyalandıktan sonra kaynak parçadan veri kaldırabilmeyi gerektirir. Örneğin, silme tetikleyicileri hizmetin kaynak üzerindeki verileri silmesini engelleyebilir ve işlemlerin başarısız olmasına neden olabilir.
  • Parçalama anahtarı, birincil anahtarınızın veya benzersiz dizin tanımınızın başındaki sütun olmalıdır. Bu, bölme veya birleştirme doğrulama sorguları ve her zaman parçalama anahtar aralıklarında çalışan gerçek veri taşıma ve silme işlemleri için en iyi performansı sağlar.
  • Bölme birleştirme hizmetinizi veritabanlarınızın bulunduğu bölgede ve veri merkezinde birlikte kullanın.

Elastik veritabanı araçlarını henüz kullanmıyor musunuz? Başlarken Kılavuzumuza göz atın. Sorular için, SQL Veritabanı ve özellik istekleri için Microsoft Soru-Cevap soru sayfasından bizimle iletişime geçin, yeni fikirler ekleyin veya SQL Veritabanı geri bildirim forumunda mevcut fikirler için oy verin.