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.
|
|
|
|
|
|
|
|
|
|
|
|
Ön koşullar
-
Kaynak bir ApsaraDB for MongoDB çoğaltma kümesi örneği ve hedef bir ApsaraDB for MongoDB örneği (çoğaltma kümesi veya parçalı küme) oluşturmuş olmanız gerekir. Talimatlar için bkz. Çoğaltma kümesi örneği oluşturma ve Parçalı küme örneği oluşturma.
NotDesteklenen sürümler için bkz. Senkronizasyon çözümü genel bakış.
Hedef ApsaraDB for MongoDB örneği, kaynak ApsaraDB for MongoDB örneğinin kullandığından en az %10 daha fazla depolama alanına sahip olmalıdır.
-
Hedef ApsaraDB for MongoDB örneği bir parçalı küme ise, iş gereksinimlerinize göre hedef ApsaraDB for MongoDB örneğinde parçalamak istediğiniz veritabanlarını ve koleksiyonları oluşturmanız, veri parçalamayı yapılandırmanız, dengeleyiciyi etkinleştirmeniz ve ön parçalama yapmanız gerekir. Daha fazla bilgi için bkz. Parça performansını tam olarak kullanmak için veri parçalamayı yapılandırma ve ApsaraDB for MongoDB parçalı kümesinde dengesiz veri dağıtımıyla nasıl başa çıkılır.
NotVeri parçalamayı yapılandırmak, senkronize edilen verileri tüm parçalara dağıtarak küme performansını maksimize eder. Dengeleyiciyi etkinleştirmek ve ön parçalama yapmak, veri eğrilmesini önlemeye yardımcı olur.
Sınırlamalar
Tür | Açıklama |
Kaynak veritabanı sınırlamaları |
|
Diğer sınırlamalar |
|
Özel durumlar | Kaynak veritabanınız kendi yönetimindeki bir MongoDB ise:
Not Tam veritabanı senkronizasyonu seçerseniz bir heartbeat tablosu oluşturun. Bu tabloyu her saniye güncelleyin veya buna yazın. |
Faturalandırma
|
|
|
|
|
|
|
|
|
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. OplogArtımlı veri senkronizasyonu, görev başladıktan sonra oluşturulan veritabanlarını kopyalamaz. Aşağıdaki değişiklikler kopyalanır:
Change streamAşağıdaki değişiklikler kopyalanır:
|
Prosedür
-
Hedef bölgenin senkronizasyon görevi listesine gidin. Aşağıdaki iki yöntemden birini kullanabilirsiniz:
DTS konsolundan
Data Transmission Service (DTS) konsoluna giriş yapın.
Soldaki gezinme bölmesinde Data Synchronization seçeneğine tıklayın.
Sayfanın sol üst köşesinde senkronizasyon örneğinin bulunduğu bölgeyi seçin.
DMS konsolundan
NotGerç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.
Data Management (DMS) oturum açın.
Üst menü çubuğunda seçeneklerini belirleyin.
Data Synchronization Tasks öğesinin sağında senkronizasyon örneğinin bulunduğu bölgeyi seçin.
Görev yapılandırma sayfasını açmak için Create Task seçeneğine tıklayın.
-
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.
NotDMS 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.
NotOplog, 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
admindeğeridir.Database Account
Kaynak ApsaraDB for MongoDB veritabanının hesabını girin. Hesabın, senkronize edilecek veritabanlarında,
configveritabanında,adminveritabanında velocalveritabanında okuma izni olmalıdır.NotArtı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ıcaadminveritabanı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.
NotDMS 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
admindeğ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.
-
-
Yapılandırmayı tamamladıktan sonra sayfanın alt kısmındaki Test Connectivity and Proceed seçeneğine tıklayın.
NotDTS 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.
-
Görev nesnelerini yapılandırın.
-
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.
NotDaha 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.
NotHedef 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.NotNesneleri 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
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.
-
-
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.
ÖnemliRetry 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-
Bu yapılandırma öğesi yalnızca Synchronization Types ayarı Full Data Synchronization olarak ayarlandığında kullanılabilir.
-
Ayrıca senkronizasyon örneği çalışırken tam senkronizasyon hızını ayarlayabilirsiniz.
Only one data type for primary key _id in a table of the data to be synchronized
Senkronize edilecek her koleksiyon içinde
_idbirincil 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:
-
Yes: ETL özelliğini etkinleştirir. Kod düzenleyicide veri işleme deyimlerini girin. Daha fazla bilgi için bkz. Veri geçişi veya veri senkronizasyon görevinde ETL yapılandırma.
-
No: ETL özelliğini devre dışı bırakır.
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.
-
No: Uyarı yapılandırılmaz.
-
Yes: Bir uyarı eşiği ayarlayarak ve bir alert notification belirterek uyarıları yapılandırın. Daha fazla bilgi için bkz. Görev yapılandırması sırasında izleme ve uyarı yapılandırma.
-
-
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.
-
-
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.
NotSenkronizasyon 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.
-
Örneği satın alın.
Success Rate oranı %100 olduğunda Next: Purchase Instance seçeneğine tıklayın.
-
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.
NotBu seçenek yalnızca faturalandırma yöntemi Subscription olduğunda kullanılabilir.
-
Yapılandırmayı tamamladıktan sonra Data Transmission Service (Pay-as-you-go) Service Terms metnini okuyun ve kabul edin.
-
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.