öğretici: DMS kullanarak mongodb 'yi Azure Cosmos DB için mongodb online 'a geçirme

Uygulama hedefı: MongoDB için Azure Cosmos DB API

Önemli

Geçiş adımlarınızı gerçekleştirmeden önce lütfen bu kılavuzun tamamını okuyun.

Bu MongoDB geçiş kılavuzu, MongoDB geçişinin serisinin bir parçasıdır. Kritik MongoDB geçiş adımları, aşağıda gösterildiği gibi, ön geçiş, geçiş ve geçiş sonrasıgeçişlerdir.

Geçiş adımlarının diyagramı.

mongodb 'den DMS kullanarak Azure Cosmos DB çevrimiçi veri geçişine genel bakış

Azure veritabanı geçiş hizmeti 'ni, mongodb 'nin şirket içi veya bulut örneğinden mongodb için Azure Cosmos DB apı 'sine yönelik çevrimiçi (en düşük kapalı kalma süresi) geçirmek için kullanabilirsiniz.

bu öğreticide, mongodb verilerini Azure Cosmos DB geçirmek için Azure veritabanı geçiş hizmeti 'ni kullanma ile ilgili adımlar gösterilmektedir:

  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Geçiş projesi oluşturun.
  • Kaynağı belirtin.
  • Hedefi belirtin.
  • Hedef veritabanlarına eşleyin.
  • Geçişi çalıştırma.
  • Geçişi izleme.
  • Azure Cosmos DB verileri doğrulayın.
  • Hazırsanız geçişi doldurun.

bu öğreticide, azure veritabanı geçiş hizmeti 'ni kullanarak azure sanal makinesinde barındırılan mongodb 'deki bir veri kümesini en az kapalı kalma süresiyle Azure Cosmos DB. zaten bir mongodb kaynağınız yoksa, Azure 'daki bir Windows VM 'de mongodb 'yi kurma ve yapılandırmamakalesine bakın.

Not

çevrimiçi bir geçiş gerçekleştirmek için Azure veritabanı geçiş hizmeti 'nin kullanılması, Premium fiyatlandırma katmanını temel alan bir örnek oluşturulmasını gerektirir.

Önemli

En iyi geçiş deneyimi için, Microsoft, hedef veritabanıyla aynı Azure bölgesinde Azure veritabanı geçiş hizmeti örneği oluşturulmasını önerir. Verileri bölgeler veya coğrafi bölgeler arasında taşımak, geçiş işleminin yavaşlamasına neden olabilir.

İpucu

Veritabanlarını Azure Veritabanı Geçiş Hizmeti’ni kullanarak Azure’e geçirdiğinizde çevrimdışı veya çevrimiçi geçiş gerçekleştirebilirsiniz. Çevrimdışı geçişte uygulama çalışmama süresi geçiş başlatıldığında başlar. Çevrimiçi geçişte çalışmama süresi geçiş sonundaki kesilmeyle sınırlıdır. Çalışmama süresinin kabul edilebilir olup olmadığını belirlemek için bir çevrimdışı geçişini test etmenizi öneririz.

bu makalede mongodb 'nin mongodb için apı 'sine Azure Cosmos DB yönelik çevrimiçi geçiş açıklanmaktadır. çevrimdışı bir geçiş için bkz. DMS kullanarak mongodb 'yi Azure Cosmos DB için mongodb 'ye geçirme.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:

  • Aktarım hızını tahmin etme, bölüm anahtarı seçme ve dizin oluşturma ilkesi gibi geçiş öncesi adımları doldurun .

  • mongodb hesabı için bir Azure Cosmos DB apı 'si oluşturun ve ssr (sunucu tarafı yeniden denemesi) özelliğinin etkinleştirildiğinden emin olun.

    Not

    I, sunucusuz mod ile sağlanan MongoDB hesabı için API 'ye geçiş yapıyorsanız, DMS Şu anda desteklenmemektedir.

  • expressroute veya VPNkullanarak şirket içi kaynak sunucularınıza siteden siteye bağlantı sağlayan Azure Resource Manager dağıtım modelini kullanarak Azure veritabanı geçiş hizmeti için Microsoft Azure sanal ağı oluşturun.

    Not

    Sanal ağ kurulumu sırasında, Microsoft 'a ağ eşlemesi ile ExpressRoute kullanırsanız, hizmetin sağlanacağı alt ağa aşağıdaki hizmet uç noktalarını ekleyin:

    • hedef veritabanı uç noktası (örneğin, SQL uç noktası, Cosmos DB uç noktası vb.)
    • Depolama uç noktası
    • Service Bus uç noktası

    Azure veritabanı geçiş hizmeti internet bağlantısı olmadığından bu yapılandırma gereklidir.

  • Sanal ağ ağ güvenlik grubu (NSG) kurallarınızın şu iletişim bağlantı noktalarını engellemediğinden emin olun: 53, 443, 445, 9354 ve 10000-20000. Sanal ağ NSG trafik filtrelemesi hakkında daha fazla bilgi için ağ güvenlik grupları ile ağ trafiğini filtrelememakalesine bakın.

  • Azure veritabanı geçiş hizmeti 'nin, varsayılan olarak TCP bağlantı noktası 27017 olan kaynak mongodb sunucusuna erişmesine izin vermek için Windows güvenlik duvarınızı açın.

  • Kaynak veritabanınızın önünde bir güvenlik duvarı gereci kullanırken, Azure veritabanı geçiş hizmeti 'nin geçiş için kaynak veritabanına erişmesine izin vermek üzere güvenlik duvarı kuralları eklemeniz gerekebilir.

verimli geçiş için Azure Cosmos DB sunucu tarafı yeniden denemelerini yapılandırma

mongodb 'den geçiş yapan müşteriler kaynak idare özelliğinden Azure Cosmos DB avantajdan faydalanabilir. Azure Cosmos DB, bu istek, sağlanan RU/s kapsayıcısını aşarsa geçiş sırasında verilen bir veri geçiş hizmeti isteğini kısıtlayabilir daha sonra bu isteğin yeniden denenilmesi gerekir. veri geçiş hizmeti yeniden denemeler gerçekleştirebilir, ancak veri geçiş hizmeti ve Azure Cosmos DB arasındaki ağ atlamada yer alan gidiş dönüş süresi, bu isteğin genel yanıt süresini etkiler. Kısıtlanmış istekler için yanıt süresini iyileştirmek, geçiş için gereken toplam süreyi kısaltabilir. sunucu tarafı yeniden deneme özelliği Azure Cosmos DB, hizmetin kısıtlama hata kodlarını kesmesini ve daha sonra istek yanıt sürelerini önemli ölçüde iyileştirerek çok daha düşük bir gidiş dönüş süresi ile yeniden denemesini sağlar.

sunucu tarafı yeniden deneme özelliğini Azure Cosmos DB portalının özellikler dikey penceresinde bulabilirsiniz.

MongoDB Server-Side yeniden deneme özelliğinin ekran görüntüsü.

Devre dışıysa, aşağıda gösterildiği gibi etkinleştirmenizi öneririz

MongoDB Server-Side yeniden deneme etkinleştirme ekran görüntüsü.

Microsoft.DataMigration kaynak sağlayıcısını kaydetme

  1. Azure portalında oturum açın. Abonelikler'i arayın ve seçin.

    Portal aboneliklerini gösterme

  2. Örnek oluşturmak istediğiniz aboneliği seçin ve Azure Veritabanı Geçiş Hizmeti sağlayıcılar'ı seçin.

    Kaynak sağlayıcılarını gösterme

  3. Geçiş araması ve ardından Microsoft.DataMigration için kaydol'u seçin.

    Kaynak sağlayıcısını kaydetme

Örnek oluşturma

  1. Azure portal + kaynak oluştur' u seçin, Azure veritabanı geçiş hizmeti ' ni arayın ve ardından açılan listeden Azure veritabanı geçiş hizmeti ' ni seçin.

    Azure Market

  2. Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.

    Azure Veritabanı Geçiş Hizmeti örneğini oluşturma

  3. Geçiş Hizmeti oluşturun ekranında hizmet için bir ad belirtin, aboneliği ve yeni ya da var olan bir kaynak grubunu seçin.

  4. Azure veritabanı geçiş hizmeti örneğini oluşturmak istediğiniz konumu seçin.

  5. Var olan bir sanal ağı seçin veya yeni bir ağ oluşturun.

    sanal ağ, kaynak mongodb örneğine ve hedef Azure Cosmos DB hesabına erişimi olan Azure veritabanı geçiş hizmeti sağlar.

    Azure portal sanal ağ oluşturma hakkında daha fazla bilgi için Azure Portal kullanarak sanal ağ oluşturmamakalesine bakın.

  6. Premium fiyatlandırma katmanından bir SKU seçin.

    Not

    çevrimiçi geçişler yalnızca Premium katmanı kullanılırken desteklenir. Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

    Azure Veritabanı Geçiş Hizmeti örneği ayarlarını yapılandırma

  7. Hizmeti oluşturmak için Oluştur’u seçin.

Geçiş projesi oluşturma

Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.

  1. Azure portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.

    Azure veritabanı geçiş hizmeti 'nin tüm örneklerini bulun

  2. Azure veritabanı geçiş Hizmetleri ekranında, oluşturduğunuz Azure veritabanı geçiş hizmeti örneğinin adını arayın ve ardından örneği seçin.

    Alternatif olarak, Azure veritabanı geçiş hizmeti örneğini Azure portal arama bölmesinden bulabilirsiniz.

    Azure portal arama bölmesini kullanın

  3. +Yeni Geçiş Projesi'ni seçin.

  4. Yeni geçiş projesi ekranında, proje için bir ad belirtin, kaynak sunucu türü metin kutusunda MongoDB' yi seçin, hedef sunucu türü metın kutusunda cosmosdb (MongoDB API) öğesini seçin ve ardından etkinlik türü seç' i seçin, çevrimiçi veri geçişi [Önizleme] seçeneğini belirleyin.

    Veritabanı geçiş hizmeti projesi oluştur

  5. Kaydet' i seçin ve ardından projeyi oluşturmak ve geçiş etkinliğini çalıştırmak Için etkinlik oluştur ve Çalıştır ' ı seçin.

Kaynak ayrıntılarını belirtme

  1. Kaynak ayrıntıları ekranında, kaynak MongoDB sunucusu için bağlantı ayrıntılarını belirtin.

    Önemli

    Azure veritabanı geçiş hizmeti kaynak olarak Azure Cosmos DB desteklemez.

    Bir kaynağa bağlanmak için üç mod vardır:

    • Tam etki alanı adı veya IP adresi, bağlantı noktası numarası ve bağlantı kimlik bilgilerini kabul eden Standart mod.

    • Makale bağlantı DIZESI URI biçimibölümünde açıklandığı gibi MongoDB bağlantı dizesini kabul eden bağlantı dizesi modu.

    • Blob kapsayıcı SAS URL 'sini kabul eden Azure Storage verileri. Blob kapsayıcısının MongoDB bsondump aracıtarafından üretilen bSon dökümlerini içermesi ve kapsayıcıda JSON dosyaları varsa onu yeniden seçmesini istiyorsanız BLOB ' u seçin.

      Bu seçeneği belirlerseniz, depolama hesabı bağlantı dizesinin şu biçimde göründüğünden emin olun:

      https://blobnameurl/container?SASKEY
      

      ayrıca, Azure Depolama 'daki tür dökümü bilgilerine göre aşağıdaki ayrıntıyı göz önünde bulundurun.

      • BSON dökümler için, blob kapsayıcısı içindeki verilerin bsondump biçiminde olması gerekir, bu nedenle veri dosyaları koleksiyon. bSon biçiminde kapsayan veritabanlarının ardından adlandırılan klasörlere yerleştirilir. Meta veri dosyaları (varsa), koleksiyon. Metadata. JSON biçimi kullanılarak adlandırılmalıdır.

      • JSON dökümlerinde, blob kapsayıcısındaki dosyaların, kapsayan veritabanlarının ardından adlandırılan klasörlere yerleştirilmesi gerekir. Her veritabanı klasörü içinde, veri dosyalarının "Data" adlı bir alt klasöre yerleştirilmesi ve Collection. JSON biçimi kullanılarak adlandırılması gerekir. Meta veri dosyaları (varsa), "metadata" adlı bir alt klasöre yerleştirilmelidir ve aynı biçim olan Collection. JSON kullanılarak adlandırılmalıdır. Meta veri dosyaları MongoDB bsondump aracı tarafından oluşturulan biçimde olmalıdır.

    Önemli

    Mongo sunucusunda kendinden imzalı bir sertifika kullanılması önerilmez. Ancak, bir tane kullanılmışsa bağlantı dizesi modunu kullanarak sunucuya bağlanın ve bağlantı dizeniz "" olduğundan emin olun

    &sslVerifyCertificate=false
    

    IP adresini, DNS ad çözümlemesi mümkün olmayan durumlar için kullanabilirsiniz.

    Kaynak ayrıntılarını belirtme

  2. Kaydet’i seçin.

    Not

    Kaynak bir çoğaltma kümesi ise kaynak sunucu adresi birincil adresin adresi olmalıdır ve kaynak parçalı bir MongoDB kümeniz ise yönlendirici olur. Parçalı bir MongoDB kümesi için Azure veritabanı geçiş hizmeti, kümedeki ayrı parçalara bağlanabilmelidir, bu da daha fazla makinede güvenlik duvarının açılmasını gerektirebilir.

Hedef ayrıntılarını belirtme

  1. geçiş hedefi ayrıntıları ekranında, mongodb verilerinizi geçirdiğiniz mongodb hesabı için önceden sağlanmış Azure Cosmos DB apı 'si olan hedef Azure Cosmos DB hesabının bağlantı ayrıntılarını belirtin.

    Hedef ayrıntılarını belirtme

  2. Kaydet’i seçin.

Hedef veritabanlarıyla eşleyin

  1. Hedef veritabanlarına eşle ekranında, geçiş için kaynağı ve hedef veritabanını eşleyin.

    Hedef veritabanı, kaynak veritabanıyla aynı veritabanı adını içeriyorsa, Azure veritabanı geçiş hizmeti varsayılan olarak hedef veritabanını seçer.

    Dize oluşturma veritabanı adının yanında görünürse, Azure veritabanı geçiş hizmeti 'nin hedef veritabanını bulmadığını ve hizmetin sizin için veritabanını oluşturacağını belirtir.

    Geçişin bu noktasında, veritabanında üretilen işi paylaşmak istiyorsanız, bir üretilen iş RU seçin. Cosmos DB ' de, her koleksiyon için veritabanı düzeyinde veya ayrı ayrı üretilen iş sağlama sağlayabilirsiniz. Aktarım hızı, Istek birimleri (ru) cinsinden ölçülür. Azure Cosmos DB fiyatlandırmasıhakkında daha fazla bilgi edinin.

    Hedef veritabanlarıyla eşleyin

  2. Kaydet’i seçin.

  3. Koleksiyon ayarı ekranında koleksiyonlar listesini genişletin ve geçirilecek koleksiyonların listesini gözden geçirin.

    Azure veritabanı geçiş hizmeti, hedef Azure Cosmos DB hesabında mevcut olmayan kaynak mongodb örneğinde mevcut olan tüm koleksiyonları otomatik olarak seçer. Zaten veri içeren koleksiyonları yeniden geçirmek istiyorsanız, bu ekrandaki koleksiyonları açıkça seçmeniz gerekir.

    Koleksiyonların kullanmasını istediğiniz RUs sayısını belirtebilirsiniz. Çoğu durumda, 500 (parçalı koleksiyonlar için en düşük 1000) ve 4000 gibi bir değer yeterli olacaktır. Azure veritabanı geçiş hizmeti, koleksiyon boyutuna bağlı olarak akıllı varsayılanlar önerir.

    Not

    Gerekirse, çalışmayı hızlandırmak için Azure veritabanı geçiş hizmeti 'nin birden çok örneğini kullanarak veritabanı geçişini ve toplamayı paralel olarak gerçekleştirin.

    ayrıca, en iyi ölçeklenebilirlik için Azure Cosmos DB bölümlemeden yararlanmak üzere bir parça anahtarı belirtebilirsiniz. Parça /bölüm anahtarı seçmek için en iyi uygulamalarıgözden geçirdiğinizden emin olun. Bölüm anahtarınız yoksa, daha iyi aktarım hızı için _id parça anahtarı olarak her zaman kullanabilirsiniz.

    Koleksiyon tablolarını Seç

  4. Kaydet’i seçin.

  5. Geçiş özeti ekranının Etkinlik adı metin kutusunda geçiş etkinliği için bir ad belirtin.

    Geçiş özeti

Geçişi çalıştırma

  • Geçişi çalıştır'ı seçin.

    Geçiş etkinliği penceresi görünür ve etkinliğin durumu görüntülenir.

    Etkinlik durumu

Geçişi izleme

  • Geçiş etkinliği ekranında, geçişin durumu yeniden yürütme olarak gösterilene kadar görüntüyü güncelleştirmek için Yenile ' yi seçin.

    Not

    Veritabanı ve koleksiyon düzeyinde geçiş ölçümlerinin ayrıntılarını almak için etkinliğini seçebilirsiniz.

    Etkinlik durumu yeniden getiriliyor

Cosmos DB verileri doğrulama

  1. Kaynak MongoDB veritabanınızda değişiklik yapın.

  2. verilerin kaynak mongodb sunucusundan çoğaltılıp çoğaltılmadığını doğrulamak için cosmos DB 'ye Bağlan.

    Verilerin çoğaltıldığını nerede doğrulayabileceğiniz gösteren ekran görüntüsü.

Geçişi tamamlamayı

  • Kaynaktaki tüm belgeler COSMOS DB hedefinde kullanılabilir olduktan sonra, geçişi gerçekleştirmek için geçiş etkinliğinin bağlam menüsünden son ' u seçin.

    Bu eylem, bekleyen tüm değişiklikleri yeniden tamamlamaya ve geçişi tamamlamaya sona acaktır.

    Son menü seçeneğini gösteren ekran görüntüsü.

Geçiş sonrası iyileştirmesi

mongodb veritabanında depolanan verileri mongodb için Azure Cosmos DB apı 'sine geçirdikten sonra, Azure Cosmos DB bağlanabilir ve verileri yönetebilirsiniz. ayrıca, dizin oluşturma ilkesini iyileştirmek, varsayılan tutarlılık düzeyini güncelleştirmek veya Azure Cosmos DB hesabınız için genel dağıtımı yapılandırmak gibi geçiş sonrası en iyi duruma getirme adımlarını da gerçekleştirebilirsiniz. Daha fazla bilgi için, geçiş sonrası iyileştirme makalesine bakın.

Ek kaynaklar

Sonraki adımlar