Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for MongoDB:Bir çoğaltma kümesini başka bir çoğaltma kümesine veya parçalı kümeye senkronize etme

Son Güncelleme:Oct 14, 2026

DTS, bir MongoDB çoğaltma kümesini başka bir çoğaltma kümesine veya parçalı bir kümeye senkronize edebilir.

Desteklenen kaynak ve hedef veritabanları

Bu bölümde, bir MongoDB çoğaltma kümesinden başka bir çoğaltma kümesine veya parçalı kümeye veri senkronize etmek için desteklenen kaynak ve hedef veritabanları listelenmiştir. Bu konuda, kaynak olarak bir ApsaraDB for MongoDB çoğaltma kümesi örneği ve hedef olarak bir ApsaraDB for MongoDB çoğaltma kümesi veya parçalı küme örneği kullanılarak yapılandırma prosedürü gösterilmektedir. Diğer veri kaynakları için prosedür benzerdir.


Kaynak veritabanı


Hedef veritabanı


ApsaraDB for MongoDB çoğaltma kümesi örneği


ApsaraDB for MongoDB çoğaltma kümesi veya parçalı küme örneği


Bir ECS örneğinde barındırılan kendi yönetimindeki MongoDB çoğaltma kümesi


Bir ECS örneğinde barındırılan kendi yönetimindeki MongoDB çoğaltma kümesi veya parçalı küme


Express Connect, VPN Gateway veya Smart Access Gateway üzerinden bağlanan kendi yönetimindeki MongoDB çoğaltma kümesi


Express Connect, VPN Gateway veya Smart Access Gateway üzerinden bağlanan kendi yönetimindeki MongoDB çoğaltma kümesi veya parçalı küme

Ön koşullar

Sınırlamalar

Tür

Açıklama

Kaynak veritabanı sınırlamaları

  • Bant genişliği gereksinimi: Kaynak veritabanınızın bulunduğu sunucuda yeterli giden bant genişliği bulunmalıdır. Aksi takdirde senkronizasyon hızı etkilenebilir.

  • Senkronize edilecek koleksiyonlarda birincil anahtar veya UNIQUE kısıtlaması bulunmalı ve alan değerleri benzersiz olmalıdır. Aksi takdirde hedef veritabanında yinelenen veriler görülebilir.

  • Verideki alan adları "." (nokta) karakterini içermemelidir; aksi takdirde veri tutarsızlıkları oluşabilir.

  • Koleksiyon düzeyinde senkronizasyon yapıyor ve nesneleri düzenlemeniz gerekiyorsa (örneğin koleksiyonları yeniden adlandırmak), tek bir senkronizasyon görevi en fazla 1.000 koleksiyonu destekler. Bu sınırı aşarsanız, görev gönderildikten sonra bir hatayla başarısız olur. Bunu çözmek için koleksiyonları gruplara ayırıp birden çok görev yapılandırın. Veya tam veritabanı senkronizasyon görevi yapılandırın.

  • Kaynak veritabanınızdaki tek bir belge 16 MB'ı aşamaz. Aksi takdirde görev başarısız olur.

  • Kaynak veritabanınız Azure Cosmos DB for MongoDB veya Amazon DocumentDB (esnek küme) olamaz.

  • Kaynak veritabanınızda Oplog etkinleştirilmeli ve Oplog en az yedi gün boyunca saklanmalıdır. Alternatif olarak Change Streams'i etkinleştirin ve DTS'nin son yedi gündeki veri değişikliklerine Change Streams aracılığıyla abone olabildiğinden emin olun. Aksi takdirde DTS veri değişikliklerini yakalayamayabilir ve bu da görevin başarısız olmasına neden olabilir. Aşırı durumlarda bu durum veri tutarsızlığına veya kaybına yol açabilir. Bu sorunlar DTS Hizmet Seviyesi Sözleşmesi (SLA) kapsamında değildir.

    Önemli
    • Veri değişikliklerini yakalamak için Oplog kullanmanızı öneririz.

    • Yalnızca MongoDB 4.0 ve sonraki sürümler Change Streams'i destekler. Change Streams iki yönlü senkronizasyonu desteklemez.

    • Kaynak veritabanınız Amazon DocumentDB (esnek olmayan küme) ise Change Streams'i manuel olarak etkinleştirin. Görevi yapılandırırken Migration Method öğesini ChangeStream olarak ve Architecture öğesini Sharded Cluster olarak ayarlayın.

  • Senkronize edilecek koleksiyonlarda TTL dizinleri varsa veri tutarsızlığı veya gecikme oluşabilir.

  • Kaynak veritabanı işlem sınırlamaları:

    • Şema senkronizasyonu ve tam veri senkronizasyonu sırasında veritabanlarının veya koleksiyonların şemasını değiştirmeyin (dizi türündeki veri güncellemeleri dahil). Aksi takdirde senkronizasyon görevi başarısız olabilir veya kaynak ile hedef veritabanları arasında veri tutarsızlığına neden olabilir.

    • Yalnızca tam veri senkronizasyonu gerçekleştiriyorsanız kaynak örneğe yeni veri yazmayın. Aksi takdirde kaynak ve hedef veritabanları arasında veri tutarsızlığı oluşabilir.

Diğer sınırlamalar

  • Hedef örnek parçalı küme mimarisi kullanıyorsa:

    • Yetim belgeleri temizleyin. Aksi takdirde senkronizasyon performansı düşebilir. Senkronizasyon sırasında çakışan _id değerlerine sahip belgeler görünürse veri tutarsızlığı veya görev hatası oluşabilir.

    • Görevi başlatmadan önce, kaynak verisinde hedef tarafından kullanılan parça anahtarını ekleyin. Kaynağa parça anahtarı ekleyemiyorsanız bkz. MongoDB'den (parça anahtarı yok) MongoDB'ye (parçalı küme mimarisi) senkronize etme.

    • Görevi başlattıktan sonra, senkronize edilecek verilere yönelik INSERT deyimleri parça anahtarını içermelidir. UPDATE deyimleri parça anahtarını değiştiremez.

  • Hedef örnek ReplicaSet mimarisi kullanıyorsa:

    • Access Method Express Connect, VPN Gateway, or Smart Access Gateway ya da Cloud Enterprise Network (CEN) olduğunda, Domain Name or IP ve Port Number için birincil düğümün adresini ve bağlantı noktasını girmeniz veya yüksek kullanılabilirliğe sahip bir bağlantı adresi yapılandırmanız gerekir. Yüksek kullanılabilirliğe sahip bağlantı adresleri hakkında daha fazla bilgi için bkz. Yüksek kullanılabilirliğe sahip MongoDB kaynak veya hedef veritabanıyla örnek oluşturma.

    • Access Method Self-managed Database on ECS olduğunda, Port Number alanına birincil düğümün bağlantı noktasını girin.

  • Kaynak ve hedef veritabanları için aynı MongoDB sürümünü kullanmanızı öneririz. Uyumluluğu sağlamak için hedefte daha yüksek bir sürüm kullanın. Daha yüksek bir sürümden daha düşük bir sürüme senkronize etmek uyumluluk sorunlarına neden olabilir.

  • DTS, MongoDB veritabanlarına SRV adresleri kullanarak bağlanmayı desteklemez.

  • DTS, admin, config ve local veritabanlarından veri senkronize etmeyi desteklemez.

  • Hedef koleksiyonda bir unique dizin varsa veya capped özelliği true olarak ayarlanmışsa, artımlı senkronizasyon sırasında eşzamanlı yeniden oynatma desteklenmez. Yalnızca tek iş parçacıklı yazmalara izin verilir. Bu durum görev gecikmesini artırabilir.

  • İşlem bilgileri korunmaz. Kaynak veritabanındaki işlemler, hedef veritabanında ayrı kayıtlar haline gelir.

  • DTS, hedef koleksiyona veri yazarken birincil anahtar veya unique anahtar çakışması oluşursa DTS yazma deyimini atlar ve hedef koleksiyondaki mevcut verileri korur.

  • Kaynak MongoDB sürümünüz 3,6'dan eskiyse ve hedef MongoDB sürümünüz 3,6 veya üzeriyse, yürütme planlarındaki farklılıklar senkronize edilen verilerde alan sıralamasının tutarsız olmasına neden olabilir. Alan-değer ilişkileri değişmez. İşiniz iç içe yapılar üzerinde metin eşleştirme sorguları kullanıyorsa tutarsız alan sıralamasının etkisini değerlendirin.

  • Senkronizasyondan önce hem kaynak hem de hedef veritabanlarının performansını değerlendirin. Senkronizasyonu yoğun olmayan saatlerde çalıştırın. Aksi takdirde tam veri başlatma okuma ve yazma kaynaklarını tüketerek veritabanı yükünü artırır.

  • Tam başlatma, INSERT işlemlerini eşzamanlı olarak çalıştırır. Bu durum hedef veritabanı koleksiyonunda parçalanmaya neden olur. Tam başlatmadan sonra hedef örnekteki koleksiyon alanı kaynak örnektekinden daha büyük olur.

  • Senkronizasyon sırasında hedef veritabanına DTS dışından veri yazmayın. Aksi takdirde kaynak ve hedef veritabanları arasında veri tutarsızlığı oluşabilir. Örneğin, hedef veritabanına başka veriler yazılırken DMS kullanarak çevrimiçi DDL işlemleri gerçekleştirirseniz veri kaybı yaşanabilir.

  • DTS verileri eşzamanlı olarak yazdığından, hedef tarafından kullanılan depolama alanı kaynaktan %5 ila %10 daha büyüktür.

  • Hedef MongoDB'deki belge sayısını almak için db.$table_name.aggregate([{ $count:"myCount"}]) sözdizimini kullanın.

  • Hedef MongoDB'nin kaynakla aynı birincil anahtara (varsayılan olarak _id) sahip olmadığından emin olun. Aksi takdirde veri kaybı oluşabilir. Hedefte aynı birincil anahtar varsa, işinizi etkilemeden hedefteki ilgili verileri temizleyin (hedefte aynı _id değerine sahip belgeleri silin).

  • Bir görev başarısız olursa DTS destek personeli sekiz saat içinde onu kurtarmaya çalışır. Kurtarma sırasında görevi yeniden başlatabilir veya parametrelerini ayarlayabilirler.

    Not

    Yalnızca DTS görev parametreleri değiştirilir—veritabanı parametreleri değil. Ayarlanabilecek parametreler arasında Örnek parametrelerini değiştirme bölümünde listelenenler yer alır.

  • Hedef veritabanınız bir MongoDB parçalı kümesiyse, trafiği bu veritabanına yönlendirdikten sonra iş davranışınızın MongoDB'nin parçalı koleksiyonlar için gereksinimlerini karşıladığından emin olun.

  • Kaynak veritabanı MongoDB 5.0 veya üzeri ve hedef veritabanı sürümü 5.0'dan eskiyse capped collectionları senkronize edemezsiniz. Bunları senkronize etmeye çalışırsanız görev başarısız olur veya kaynak ile hedef veritabanları arasında veri tutarsızlığı oluşur. Bunun nedeni, MongoDB 5.0'dan itibaren capped collectionların davranışının açık silme gibi işlemlere ve güncellemeler sırasında belge boyutunun artırılmasına izin verecek şekilde değişmesidir ve veritabanı çekirdeğinin önceki sürümleri bu yeni özellikleri destekleyemez.

  • DTS, MongoDB 5.0 ve sonraki sürümlerde tanıtılan zaman serisi koleksiyonlarının senkronize edilmesini desteklemez.

  • UTF-8 kodlaması içermeyen verilerin senkronizasyonu desteklenmez; bu durum veri tutarsızlığına yol açabilir.

Özel durumlar

Kaynak veritabanınız kendi yönetimindeki bir MongoDB ise:

  • Senkronizasyon sırasında kaynak veritabanında birincil/ikincil geçişi gerçekleşirse görev başarısız olur.

  • DTS, son senkronize edilen belgenin zaman damgasını geçerli zaman damgasıyla karşılaştırarak gecikmeyi hesaplar. Kaynak veritabanında uzun süre güncelleme yoksa gecikme bilgileri doğru olmayabilir. Gecikme çok yüksek görünüyorsa gecikme bilgilerini yenilemek için kaynak veritabanında bir güncelleme işlemi çalıştırın.

Not

Tam veritabanı senkronizasyonu seçerseniz bir heartbeat tablosu oluşturun. Bu tabloyu her saniye güncelleyin veya buna yazın.

Faturalandırma


Senkronizasyon türü


Fiyatlandırma


Şema senkronizasyonu ve tam veri senkronizasyonu


Ücretsiz.


Artımlı veri senkronizasyonu


Ücretlendirilir. Daha fazla bilgi için bkz. Faturalandırma genel bakış.

Desteklenen senkronizasyon topolojileri

  • Tek yönlü bire bir senkronizasyon

  • Tek yönlü bire çok senkronizasyon

  • Tek yönlü çoktan bire senkronizasyon

  • Tek yönlü kademeli senkronizasyon

Bu senkronizasyon topolojileri ve dikkate alınması gereken noktalar hakkında ayrıntılı bilgi için bkz. Senkronizasyon topolojileri.

Senkronizasyon türleri

Tür

Açıklama

Şema senkronizasyonu

Seçilen nesnelerin şemalarını kaynak ApsaraDB for MongoDB örneğinden hedef ApsaraDB for MongoDB örneğine kopyalar.

Tam veri senkronizasyonu

Seçilen nesneler için tüm geçmiş verileri kaynak ApsaraDB for MongoDB örneğinden hedef ApsaraDB for MongoDB örneğine kopyalar.

Not

Tam veri senkronizasyonu veritabanı ve koleksiyon düzeylerinde desteklenir.

Artımlı veri senkronizasyonu

Tam veri senkronizasyonu tamamlandıktan sonra devam eden değişiklikleri kaynak ApsaraDB for MongoDB örneğinden hedef ApsaraDB for MongoDB örneğine kopyalar.

Oplog

Artımlı veri senkronizasyonu, görev başladıktan sonra oluşturulan veritabanlarını kopyalamaz. Aşağıdaki değişiklikler kopyalanır:

  • CREATE COLLECTION ve CREATE INDEX

  • DROP DATABASE, DROP COLLECTION ve DROP INDEX

  • RENAME COLLECTION

    Not

    dropTarget seçeneği true olarak ayarlandığında RENAME COLLECTION işlemi kopyalanmaz.

  • Bir koleksiyon içindeki belge ekleme, güncelleme ve silme işlemleri.

    Not

    Belge güncellemeleri için yalnızca $set komutunu kullanan işlemler kopyalanır.

Change stream

Aşağıdaki değişiklikler kopyalanır:

  • DROP DATABASE ve DROP COLLECTION

  • RENAME COLLECTION

    Not

    dropTarget seçeneği true olarak ayarlandığında RENAME COLLECTION işlemi kopyalanmaz.

  • Bir koleksiyon içindeki belge ekleme, güncelleme ve silme işlemleri.

    Not

    Belge güncellemeleri için yalnızca $set komutunu kullanan işlemler kopyalanır.

Prosedür

  1. Hedef bölgenin senkronizasyon görevi listesine gidin. Aşağıdaki iki yöntemden birini kullanabilirsiniz:

    DTS konsolundan

    1. Data Transmission Service (DTS) konsoluna giriş yapın.

    2. Soldaki gezinme bölmesinde Data Synchronization seçeneğine tıklayın.

    3. Sayfanın sol üst köşesinde senkronizasyon örneğinin bulunduğu bölgeyi seçin.

    DMS konsolundan

    Not

    Gerçek işlemler, DMS konsolunun moduna ve düzenine bağlı olarak değişebilir. Daha fazla bilgi için bkz. Basit mod ve DMS arayüzünün düzenini ve stilini özelleştirme.

    1. Data Management (DMS) oturum açın.

    2. Üst menü çubuğunda Data + AI > Data Transmission (DTS) > Data Synchronization seçeneklerini belirleyin.

    3. Data Synchronization Tasks öğesinin sağında senkronizasyon örneğinin bulunduğu bölgeyi seçin.

  2. Görev yapılandırma sayfasını açmak için Create Task seçeneğine tıklayın.

  3. Kaynak ve hedef veritabanlarını yapılandırın.

    Uyarı

    Kaynak ve hedef örnekleri seçtikten sonra sayfanın üst kısmında görüntülenen sınırlamaları dikkatlice okuyun. Sınırlamalara uymazsanız görev başarısız olabilir veya veri tutarsızlığı oluşabilir.

    Kategori

    Parametre

    Açıklama

    Yok

    Task Name

    DTS otomatik olarak bir görev adı oluşturur. Kolay tanımlama için açıklayıcı bir ad belirtmenizi öneririz. Adın benzersiz olması gerekmez.

    Source Database

    Select Existing Connection

    • Sisteme eklenmiş (yeni oluşturulmuş veya kaydedilmiş) bir veritabanı örneğini kullanmak için veritabanı örneğini açılır listeden seçin. Veritabanı bilgileri otomatik olarak yapılandırılır.

      Not

      DMS konsolunda bu yapılandırma öğesi Select a DMS database instance. olarak adlandırılır.

    • Veritabanı örneğini sisteme eklemediyseniz veya zaten eklenmiş bir örneği kullanmanız gerekmiyorsa aşağıdaki veritabanı bilgilerini manuel olarak yapılandırın.

    Database Type

    MongoDB seçeneğini belirleyin.

    Connection Type

    Alibaba Cloud Instance seçeneğini belirleyin.

    Instance Region

    Kaynak ApsaraDB for MongoDB örneğinin bulunduğu bölgeyi seçin.

    Replicate Data Across Alibaba Cloud Accounts

    Bu örnekte, geçerli Alibaba Cloud hesabına ait bir veritabanı örneği kullanılmaktadır. No seçeneğini belirleyin.

    Architecture

    Replica Set seçeneğini belirleyin.

    Migration Method

    Gereksinimlerinize göre artımlı veri senkronizasyonu için bir yöntem seçin.

    • Oplog (Önerilen):

      Bu seçenek, kaynak veritabanında Oplog etkinleştirilmişse kullanılabilir.

      Not

      Oplog, kendi yönetimindeki MongoDB veritabanları ve ApsaraDB for MongoDB örnekleri için varsayılan olarak etkindir. Günlükler daha hızlı alındığından bu yöntem artımlı senkronizasyon görevleri için daha düşük gecikme sağlar. Oplog seçmenizi öneririz.

    • ChangeStream:

      Bu seçenek, kaynak veritabanında Change Streams etkinleştirilmişse kullanılabilir.

      Not
      • Kaynak veritabanı bir Amazon DocumentDB (esnek olmayan küme) örneğiyse yalnızca ChangeStream seçeneğini belirleyebilirsiniz.

      • Kaynak veritabanının Architecture ayarını Sharded Cluster olarak yaparsanız Shard account ve Shard password belirtmeniz gerekmez.

    Instance ID

    Kaynak ApsaraDB for MongoDB örneğinin kimliğini seçin.

    Authentication Database

    Kaynak ApsaraDB for MongoDB örneğinin hesabıyla ilişkili veritabanı adını girin. Varsayılan değer admin değeridir.

    Database Account

    Kaynak ApsaraDB for MongoDB veritabanının hesabını girin. Hesabın, senkronize edilecek veritabanlarında, config veritabanında, admin veritabanında ve local veritabanında okuma izni olmalıdır.

    Not

    Artımlı senkronizasyon yöntemi olarak ChangeStream kullanıyorsanız kaynak veritabanı hesabının örnek genelinde Change Streams okuma izinlerine (örneğin readAnyDatabase) sahip olması gerekir. Kaynak, özel bir hesaba sahip bir ApsaraDB for MongoDB örneğiyse hesaba ayrıca admin veritabanında okuma izni vermeniz gerekir. Ayrıntılar için bkz. Örnek oluşturma sırasında belirtilen kök hesabın izinleri.

    Database Password

    Veritabanı hesabına karşılık gelen parolayı girin.

    Encryption

    DTS üç bağlantı yöntemini destekler: Non-encrypted, SSL-encrypted ve Mongo Atlas SSL. Encryption seçenekleri, seçilen Access Method ve Architecture ayarlarına göre değişir. Konsolda görüntülenen seçenekler geçerlidir.

    Not
    • Architecture ayarı Sharded Cluster ve Migration Method ayarı Oplog olan bir MongoDB veritabanı SSL-encrypted seçeneğini desteklemez.

    • Kaynak, Replica Set mimarisine sahip kendi yönetimindeki bir MongoDB veritabanıysa (Access Method ayarı Alibaba Cloud Instance değildir) ve SSL-encrypted seçeneğini belirlerseniz DTS bağlantıyı doğrulamak için bir CA sertifikası yüklemenize de olanak tanır.

    Destination Database

    Select Existing Connection

    • Sisteme eklenmiş (yeni oluşturulmuş veya kaydedilmiş) bir veritabanı örneğini kullanmak için veritabanı örneğini açılır listeden seçin. Veritabanı bilgileri otomatik olarak yapılandırılır.

      Not

      DMS konsolunda bu yapılandırma öğesi Select a DMS database instance. olarak adlandırılır.

    • Veritabanı örneğini sisteme eklemediyseniz veya zaten eklenmiş bir örneği kullanmanız gerekmiyorsa aşağıdaki veritabanı bilgilerini manuel olarak yapılandırın.

    Database Type

    MongoDB seçeneğini belirleyin.

    Connection Type

    Alibaba Cloud Instance seçeneğini belirleyin.

    Instance Region

    Hedef ApsaraDB for MongoDB örneğinin bulunduğu bölgeyi seçin.

    Replicate Data Across Alibaba Cloud Accounts

    Bu örnekte, geçerli Alibaba Cloud hesabına ait bir veritabanı örneği kullanılmaktadır. No seçeneğini belirleyin.

    Architecture

    Hedef ApsaraDB for MongoDB örneğinin mimari türünü seçin.

    Instance ID

    Hedef ApsaraDB for MongoDB örneğinin kimliğini seçin.

    Authentication Database

    Hedef ApsaraDB for MongoDB örneğinin hesabıyla ilişkili veritabanı adını girin. Varsayılan değer admin değeridir.

    Database Account

    Hedef ApsaraDB for MongoDB veritabanının hesabını girin. Hesabın dbAdminAnyDatabase iznine, hedef veritabanında readWrite iznine ve local veritabanında okuma iznine sahip olması gerekir.

    Database Password

    Veritabanı hesabına karşılık gelen parolayı girin.

    Encryption

    DTS üç bağlantı yöntemini destekler: Non-encrypted, SSL-encrypted ve Mongo Atlas SSL. Encryption seçenekleri, seçilen Access Method ve Architecture ayarlarına göre değişir. Konsolda görüntülenen seçenekler geçerlidir.

    Not
    • Architecture ayarı Sharded Cluster olan MongoDB veritabanları SSL-encrypted seçeneğini desteklemez.

    • Hedef, Replica Set mimarisine sahip kendi yönetimindeki bir MongoDB veritabanıysa (Access Method ayarı Alibaba Cloud Instance değildir) ve SSL-encrypted seçeneğini belirlerseniz DTS bağlantıyı doğrulamak için bir CA sertifikası yüklemenize de olanak tanır.

  4. Yapılandırmayı tamamladıktan sonra sayfanın alt kısmındaki Test Connectivity and Proceed seçeneğine tıklayın.

    Not
    • DTS sunucularından erişime izin vermek için DTS sunucularının IP adresi CIDR bloklarını kaynak ve hedef veritabanlarının güvenlik ayarlarına eklediğinizden emin olun. Bu işlem otomatik veya manuel olarak yapılabilir. Daha fazla bilgi için bkz. DTS sunucularının IP adresi CIDR bloklarını beyaz listeye ekleme.

    • Kaynak veya hedef veritabanı kendi yönetimindeki bir veritabanıysa (Access Method ayarı Alibaba Cloud Instance değildir) CIDR Blocks of DTS Servers iletişim kutusunda ayrıca Test Connectivity seçeneğine tıklamanız gerekir.

  5. Görev nesnelerini yapılandırın.

    1. Configure Objects sayfasında senkronize edilecek nesneleri yapılandırın.

      Parametre

      Açıklama

      Synchronization Types

      Incremental Data Synchronization seçilidir. Varsayılan olarak ayrıca Schema Synchronization ve Full Data Synchronization seçeneklerini de seçmeniz gerekir. Ön denetim tamamlandıktan sonra DTS, seçilen nesnelerin tam veri senkronizasyonunu kaynak örnekten hedef kümeye gerçekleştirir. Bu işlem, sonraki artımlı veri senkronizasyonu için temel veriler olarak hizmet eder.

      Not

      Daha fazla bilgi için bkz. Görev adımları.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Hedef veritabanında aynı ada sahip bir koleksiyon olup olmadığını kontrol eder. Aynı ada sahip bir koleksiyon bulunursa hata raporlanır ve veri senkronizasyon görevi başlamaz. Aksi takdirde ön denetim başarılı olur.

        Not

        Hedef veritabanındaki aynı ada sahip koleksiyonu silemiyor veya yeniden adlandıramıyorsanız hedef veritabanındaki koleksiyonun adını değiştirebilirsiniz. Daha fazla bilgi için bkz. Hedef örnekteki bir senkronizasyon nesnesinin adını ayarlama.

      • Ignore Errors and Proceed: Hedef veritabanında aynı ada sahip koleksiyonlar için yapılan kontrolü atlar.

        Uyarı

        Ignore Errors and Proceed seçeneğini belirlemek veri tutarsızlığına neden olabilir ve işinizi riske atabilir. Örneğin:

        • Hedef veritabanındaki bir kayıt, kaynak veritabanındaki bir kayıtla aynı birincil anahtar veya unique anahtar değerine sahipse hedef veritabanındaki kayıt korunur. Kaynak veritabanından gelen kayıt hedef veritabanına senkronize edilmez.

        • Bu durum veri başlatmanın başarısız olmasına, yalnızca kısmi verilerin senkronize edilmesine veya senkronizasyonun tamamen başarısız olmasına neden olabilir.

      Synchronization Topology

      One-way Synchronization seçeneğini belirleyin.

      Capitalization of Object Names in Destination Instance

      Hedef örneğe senkronize edilen veritabanı ve koleksiyon nesnelerinin İngilizce adları için büyük/küçük harf duyarlılığı ilkesini yapılandırabilirsiniz. Varsayılan seçenek olan DTS default policy seçeneğini belirleyebilir veya kaynak ya da hedef veritabanının varsayılan ilkelerini kullanabilirsiniz. Daha fazla bilgi için bkz. Hedef nesne adları için büyük/küçük harf duyarlılığı ilkesi.

      Source Objects

      Source Objects kutusunda senkronize edilecek bir nesneye tıklayın ve ardından 向右 simgesine tıklayarak nesneyi Selected Objects kutusuna taşıyın.

      Not

      Nesneleri VERİTABANI veya KOLEKSİYON düzeyinde seçebilirsiniz.

      Selected Objects

      • Hedef örnekteki bir senkronizasyon nesnesinin adını ayarlamak veya verilerin hangi nesneye alınacağını belirtmek için Selected Objects kutusundaki senkronizasyon nesnesine sağ tıklayın ve nesneyi değiştirin. Daha fazla bilgi için bkz. Tablo ve sütun adlarını eşleme.

      • Bir senkronizasyon nesnesini kaldırmak için Selected Objects kutusunda nesneye tıklayın ve ardından image simgesine tıklayarak nesneyi Source Objects kutusuna taşıyın.

      Not
      • Veritabanı veya koleksiyon düzeyinde artımlı işlemleri seçmek için Selected Objects kutusunda istenen nesneye sağ tıklayın ve görünen iletişim kutusunda seçimlerinizi yapın.

      • Verileri filtrelemek için (tam senkronizasyon sırasında desteklenir ancak artımlı senkronizasyon sırasında desteklenmez) Selected Objects kutusunda istenen koleksiyona sağ tıklayın ve görünen iletişim kutusunda ayarları yapılandırın. Talimatlar için bkz. Filtre koşullarını yapılandırma.

      • Veri alacak bir veritabanı veya koleksiyon belirtmek için nesne adı eşleme özelliğini kullanırsanız eşlenen nesneye bağımlı diğer nesneler için senkronizasyon başarısız olabilir.

    2. Gelişmiş parametreleri yapılandırmak için Next: Advanced Settings seçeneğine tıklayın.

      Parametre

      Açıklama

      Dedicated Cluster for Task Scheduling

      Varsayılan olarak DTS görevleri paylaşılan bir kümede zamanlar ve bir küme seçmeniz gerekmez. Daha kararlı performans için DTS senkronizasyon görevlerini çalıştırmak üzere özel bir küme satın alabilirsiniz. Daha fazla bilgi için bkz. DTS özel kümesi nedir?.

      Retry Time for Failed Connections

      Bir senkronizasyon görevi başladıktan sonra kaynak veya hedef veritabanına bağlantı başarısız olursa DTS bir hata bildirir ve hemen bağlantıyı yeniden denemeye başlar. Varsayılan yeniden deneme süresi 720 dakikadır. Ayrıca 10 ila 1.440 dakika arasında özel bir yeniden deneme süresi de belirtebilirsiniz. Süreyi 30 dakika veya daha fazla olarak ayarlamanızı öneririz. DTS belirtilen süre içinde veritabanına başarıyla yeniden bağlanırsa senkronizasyon görevi otomatik olarak devam eder. Aksi takdirde görev başarısız olur.

      Not
      • Aynı kaynağı veya hedefi paylaşan birden çok DTS örneğiniz varsa (örneğin Örnek A ve Örnek B) ve Örnek A için ağ yeniden deneme süresini 30 dakika, Örnek B için 60 dakika olarak ayarlarsanız her ikisi için de daha kısa olan 30 dakikalık süre kullanılır.

      • DTS, bağlantı yeniden deneme süresi boyunca görev çalışma süresi için ücret aldığından yeniden deneme süresini iş ihtiyaçlarınıza göre özelleştirmenizi veya kaynak ve hedef veritabanı örnekleri serbest bırakıldıktan sonra DTS örneğini mümkün olan en kısa sürede serbest bırakmanızı öneririz.

      Retry Time for Other Issues

      Senkronizasyon görevi başladıktan sonra kaynak veya hedef veritabanında bağlantı dışı diğer sorunlar oluşursa (DDL veya DML yürütme istisnaları gibi) DTS bir hata bildirir ve hemen sürekli yeniden deneme işlemlerini başlatır. Varsayılan yeniden deneme süresi 10 dakikadır. Ayrıca 1 ila 1.440 dakika aralığında özel bir yeniden deneme süresi de belirtebilirsiniz. Süreyi 10 dakika veya daha fazla olarak ayarlamanızı öneririz. İlgili işlemler belirlenen yeniden deneme süresi içinde başarılı olursa senkronizasyon görevi otomatik olarak devam eder. Aksi takdirde görev başarısız olur.

      Önemli

      Retry Time for Other Issues değeri Retry Time for Failed Connections değerinden küçük olmalıdır.

      Enable Throttling for Full Data Synchronization

      Tam senkronizasyon aşamasında DTS, kaynak ve hedef veritabanlarından okuma ve yazma kaynaklarını tüketir; bu durum veritabanı yükünü artırabilir. Kaynak ve hedef veritabanlarındaki yükü azaltmak için Queries per second (QPS) to the source database, RPS of Full Data Migration ve Data migration speed for full migration (MB/s) parametrelerini yapılandırarak tam senkronizasyon görevi için bir hız sınırı ayarlayabilirsiniz.

      Not

      Only one data type for primary key _id in a table of the data to be synchronized

      Senkronize edilecek her koleksiyon içinde _id birincil anahtarının veri türlerinin benzersiz olup olmadığını belirtin.

      Önemli
      • Gerçek verilerinize göre bir seçenek belirleyin. Yanlış bir seçim veri kaybına yol açabilir.

      • Bu parametre yalnızca Synchronization Types ayarı Full Data Synchronization içeriyorsa kullanılabilir.

      • Yes: Veri türleri benzersizdir. Tam senkronizasyon aşamasında DTS kaynak verilerindeki birincil anahtarların veri türlerini taramaz. Her koleksiyon için DTS yalnızca bir birincil anahtar veri türüne karşılık gelen verileri senkronize eder.

      • No: Veri türleri benzersiz değildir. Tam senkronizasyon aşamasında DTS kaynak verilerindeki birincil anahtarların veri türlerini tarar ve tüm verileri senkronize eder.

      Enable Throttling for Incremental Data Synchronization

      Artımlı senkronizasyon görevi için de bir hız sınırı ayarlayabilirsiniz. Hedef veritabanındaki baskıyı azaltmak için RPS of Incremental Data Synchronization ve Data synchronization speed for incremental synchronization (MB/s) ayarlarını yapın.

      Environment Tag

      Gereksinimlerinize göre örneği tanımlamak amacıyla bir ortam etiketi seçebilirsiniz. Bu örnekte herhangi bir seçim gerekli değildir.

      Configure ETL

      Çıkarma, dönüştürme ve yükleme (ETL) özelliğini etkinleştirip etkinleştirmeyeceğinizi seçin. Daha fazla bilgi için bkz. ETL nedir? Geçerli değerler:

      Monitoring and Alerting

      Uyarıları yapılandırıp yapılandırmayacağınızı belirtin. Senkronizasyon başarısız olursa veya gecikme belirtilen eşiği aşarsa bir uyarı kişisine bildirim gönderilir.

    3. Veri doğrulama görevi yapılandırmak için Next: Data Validation seçeneğine tıklayın.

      Veri doğrulama özelliğini kullanmak istiyorsanız yapılandırma talimatları için bkz. Veri doğrulama yapılandırma.

  6. Görevi kaydedin ve ön denetim çalıştırın.

    • Bu örneği yapılandırmak için API parametrelerini görüntülemek üzere Next: Save Task Settings and Precheck düğmesinin üzerine gelin ve baloncukta Preview OpenAPI parameters seçeneğine tıklayın.

    • API parametrelerini görüntülemeyi tamamladıysanız sayfanın alt kısmındaki Next: Save Task Settings and Precheck seçeneğine tıklayın.

    Not
    • Senkronizasyon işi başlamadan önce DTS bir ön denetim çalıştırır. İş, tüm ön denetim öğeleri geçtiğinde başlayabilir.

    • Ön denetim başarısız olursa başarısız öğe için View Details seçeneğine tıklayın. Sorunu istemde belirtildiği gibi düzeltin ve ardından ön denetimi yeniden çalıştırın.

    • Ön denetim bir uyarı döndürürse:

      • Bir denetim öğesi başarısız olur ve göz ardı edilemiyorsa öğenin yanındaki View Details seçeneğine tıklayın. Sorunu düzeltmek için talimatları izleyin ve ardından ön denetimi yeniden çalıştırın.

      • Göz ardı edilebilen denetim öğeleri için sırasıyla Confirm Alert Details, Ignore, OK ve Precheck Again seçeneklerine tıklayarak uyarıyı atlayabilir ve ön denetimi yeniden çalıştırabilirsiniz. Uyarı öğesini gizlemeyi seçerseniz bu durum veri tutarsızlığı gibi sorunlara neden olabilir ve işinizi riske atabilir.

  7. Örneği satın alın.

    1. Success Rate oranı %100 olduğunda Next: Purchase Instance seçeneğine tıklayın.

    2. Purchase sayfasında veri senkronizasyon örneği için faturalandırma yöntemini ve bağlantı teknik özelliklerini seçin. Aşağıdaki tabloda bu parametreler ayrıntılı olarak açıklanmaktadır.

      Kategori

      Parametre

      Açıklama

      New Instance Class

      Faturalandırma Yöntemi

      • Abonelik: Ödemeyi örneği oluştururken yaparsınız. Uzun vadeli ihtiyaçlar için uygundur ve kullandıkça öde yöntemine göre daha maliyet etkilidir. Abonelik süresi ne kadar uzun olursa indirim o kadar yüksek olur.

      • Kullandıkça öde: Saatlik olarak ücretlendirilirsiniz. Kısa vadeli ihtiyaçlar için uygundur. Maliyetlerden tasarruf etmek için kullanımdan hemen sonra örneği serbest bırakabilirsiniz.

      Kaynak Grubu Yapılandırması

      Örneğin ait olduğu kaynak grubu. Varsayılan olarak varsayılan kaynak grubudur. Daha fazla bilgi için bkz. Kaynak Yönetimi nedir?.

      Bağlantı Teknik Özellikleri

      DTS, farklı performans seviyelerine sahip senkronizasyon teknik özellikleri sunar. Senkronizasyon bağlantısı teknik özellikleri senkronizasyon hızını etkiler. İş senaryonuza göre bir teknik özellik seçebilirsiniz. Daha fazla bilgi için bkz. Veri senkronizasyonu bağlantısı teknik özellikleri.

      Abonelik Süresi

      Abonelik modunda abonelik örneği için süreyi ve miktarı seçin. 1 ila 9 ay arasında aylık abonelik veya 1, 2, 3 ya da 5 yıllık yıllık abonelik seçebilirsiniz.

      Not

      Bu seçenek yalnızca faturalandırma yöntemi Subscription olduğunda kullanılabilir.

    3. Yapılandırmayı tamamladıktan sonra Data Transmission Service (Pay-as-you-go) Service Terms metnini okuyun ve kabul edin.

    4. Buy and Start seçeneğine tıklayın. OK iletişim kutusunda OK seçeneğine tıklayın.

      Görev ilerlemesini Data Synchronization sayfasında görüntüleyebilirsiniz.

SSS

Uygulama tarafından yazma işlemi yapılmadığı halde neden görev gecikmesi ve veri tutarsızlığıyla karşılaşıyorum?

  • Neden: Bu sorun, bir MongoDB koleksiyonundaki TTL dizininin otomatik silme mekanizması ile DTS'nin veri senkronizasyon mekanizması arasındaki çakışmadan kaynaklanır. Bu çakışma, senkronizasyon/geçiş görevinizde görev gecikmesine ve veri tutarsızlığına yol açabilir.

    • Gereksiz DELETE işlemleri verimliliği düşürür: Kaynak TTL dizini süresi dolmuş verileri sildiğinde Oplog'a bir DELETE kaydı yazar. DTS bu DELETE işlemini hedefte yeniden oynatır. Hedef TTL dizini aynı verileri zaten sildiyse MongoDB beklenmeyen bir etkilenen satır sayısı döndürür; bu durum istisna işlemeyi tetikler ve geçişi yavaşlatır.

    • Asenkron TTL silmesinden kaynaklanan veri tutarsızlığı: TTL dizinleri verileri gerçek zamanlı olarak silmez. Süresi dolmuş veriler hedefte zaten silinmiş olsa bile kaynakta hala mevcut olabilir; bu durum tutarsızlığa neden olur.

      Örnek:

      MongoDB Oplog veya ChangeStream, bir UPDATE işlemi için tam belgeyi değil yalnızca güncellenen alanları kaydeder. Bir UPDATE işlemi hedefte hedef verileri bulamazsa DTS işlemi yoksayar.


      Zamanlama


      Kaynak örnek


      Hedef örnek


      1


      Hizmet veri ekler





      2





      DTS INSERT işlemini senkronize eder


      3


      Verilerin süresi doldu ancak TTL dizini henüz silmedi





      4


      Hizmet verileri günceller (örneğin sona erme zamanını değiştirmek için TTL dizini alanını günceller)





      5





      TTL dizini verileri siler


      6





      DTS UPDATE işlemini senkronize eder ancak veriler bulunamaz. İşlem yoksayılır.

      Sonuç olarak bu belge hedef MongoDB örneğinde eksik olur.

  • Çözüm: Bu sorunu çözmek için senkronizasyon/geçiş görevi sırasında hedefteki TTL dizininin sona erme zamanını geçici olarak değiştirin. Bu işlem hem senkronizasyon verimliliğini hem de veri tutarlılığını sağlar. Ayrıntılı adımlar için bkz. MongoDB kaynağından TTL dizinli koleksiyonları senkronize etme veya geçirme için en iyi uygulamalar.