Öğretici: Azure Veritabanı Geçiş Hizmeti kullanarak MongoDB RU çevrimdışı olarak MongoDB'yi Azure Cosmos DB'ye geçirme

ŞUNLAR IÇIN GEÇERLIDIR: MongoDB

Önemli

Geçiş adımlarınızı gerçekleştirmeden önce lütfen bu kılavuzun tamamını okuyun. Azure Veritabanı Geçiş Hizmeti şu anda MongoDB için Azure Cosmos DB sanal çekirdek hesabına geçişleri desteklememektedir. MongoDB iş yüklerinizi çevrimdışı olarak MongoDB için Azure Cosmos DB sanal çekirdeğine geçirmek için Azure Data Studio'da MongoDB için Azure Cosmos DB uzantısını kullanın.

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

Diagram of migration steps.

DMS kullanarak MongoDB'den Azure Cosmos DB'ye çevrimdışı veri geçişine genel bakış

MongoDB'nin şirket içi veya bulut örneğinden MongoDB için Azure Cosmos DB'ye çevrimdışı, tek seferlik bir veritabanı geçişi gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanın.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Azure Veritabanı Geçiş Hizmeti kullanarak geçiş projesi oluşturun.
  • Geçişi çalıştırma.
  • Geçişi izleme.

Bu öğreticide, MongoDB'de bir Azure sanal makinesinde barındırılan bir veri kümesini geçirirsiniz. Azure Veritabanı Geçiş Hizmeti kullanarak veri kümesini MongoDB için Azure Cosmos DB'ye geçirirsiniz. Önceden ayarlanmış bir MongoDB kaynağınız yoksa bkz . Azure'da Windows VM'sinde MongoDB'yi yükleme ve yapılandırma.

Ön koşullar

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

  • Aktarım hızını tahmin etme ve bölüm anahtarı seçme gibi geçiş öncesi adımları tamamlayın.

  • MongoDB için Azure Cosmos DB için bir hesap oluşturun.

    Dekont

    Sunucusuz modla sağlanan mongoDB için Azure Cosmos DB hesabına geçiş yaparsanız DMS şu anda desteklenmemektedir.

  • Azure Resource Manager kullanarak Azure Veritabanı Geçiş Hizmeti için Microsoft Azure Sanal Ağ oluşturun. Bu dağıtım modeli, Azure ExpressRoute veya VPN kullanarak şirket içi kaynak sunucularınıza siteden siteye bağlantı sağlar. Sanal ağ oluşturma hakkında daha fazla bilgi için azure Sanal Ağ belgelerine, özellikle adım adım ayrıntıları içeren "hızlı başlangıç" makalelerine bakın.

    Dekont

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

    • Hedef veritabanı uç noktası (örneğin, SQL uç noktası veya Azure Cosmos DB uç noktası)
    • Depolama uç noktası
    • Service Bus uç noktası

    Azure Veritabanı Geçiş Hizmeti'nin İnternet bağlantısı olmadığından bu yapılandırma gereklidir.

  • Sanal ağınız için 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. Daha fazla bilgi için bkz. Ağ güvenlik grupları ile ağ trafiğini filtreleme.

  • Azure Veritabanı Geçiş Hizmeti'ne kaynak MongoDB sunucusu erişimi sağlamak için Windows güvenlik duvarınızı açın. Varsayılan ayarlarda 27017 numaralı TCP bağlantı noktası kullanılır.

  • Kaynak veritabanlarınızın önünde bir güvenlik duvarı cihazı kullanıyorsanız Azure Veritabanı Geçiş Hizmeti'nin geçiş amacıyla kaynak veritabanlarına erişmesi için güvenlik duvarı kuralları eklemeniz gerekebilir.

Sunucu Tarafı Yeniden Deneme özelliğini yapılandırma

MongoDB'den Azure Cosmos DB'ye geçiş yaparsanız kaynak idare özelliklerinden yararlanabilirsiniz. Bu özelliklerle sağlanan istek birimlerinizden (RU/sn) tam olarak yararlanabilirsiniz. Azure Cosmos DB, geçiş işlemi boyunca belirli bir Veritabanı Geçiş Hizmeti isteğini kısıtlayabilir ve bu istek kapsayıcı tarafından sağlanan RU/sn'yi aşarsa. Daha sonra bu isteğin yeniden denenmesi gerekir.

Veritabanı Geçiş Hizmeti yeniden deneme gerçekleştirebilir. Veritabanı Geçiş Hizmeti ile Azure Cosmos DB arasındaki ağ atlamasında yer alan gidiş dönüş süresinin bu isteğin genel yanıt süresini etkilediğini anlamak önemlidir. Kısıtlanmış istekler için yanıt süresini geliştirmek, geçiş için gereken toplam süreyi kısaltabilir.

Azure Cosmos DB'nin Sunucu Tarafı Yeniden Deneme özelliği, hizmetin azaltma hata kodlarını kesmesine ve çok daha kısa bir gidiş dönüş süresiyle yeniden denemesine olanak sağlayarak istek yanıt sürelerini önemli ölçüde artırır.

Sunucu Tarafı Yeniden Deneme'yi kullanmak için Azure Cosmos DB portalında Özellikler>Sunucu Tarafı Yeniden Deneme'yi seçin.

Screenshot that shows where to find the Server Side Retry feature.

Özellik devre dışıysa Etkinleştir'i seçin.

Screenshot that shows how to enable Server Side Retry.

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

İlk Veritabanı Geçiş Hizmeti örneğinizi oluşturmadan önce Microsoft.DataMigration kaynak sağlayıcısını kaydedin.

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

    Show portal subscriptions

  2. Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz aboneliği seçin ve ardından Kaynak sağlayıcıları'nı seçin.

    Show resource providers

  3. Geçiş için arama yapın ve ardından Microsoft.DataMigration için kaydet'i seçin.

    Register resource provider

Örnek oluşturma

  1. Azure portalda +Kaynak oluştur'u seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve açılan listeden Azure Veritabanı Geçiş Hizmeti'ni seçin.

    Screenshot that shows Azure Marketplace.

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

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. Geçiş Hizmeti Oluştur'da hizmet, abonelik ve yeni veya mevcut bir kaynak grubu için bir ad belirtin.

  4. Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz konumu seçin.

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

    Sanal ağ, Azure Veritabanı Geçiş Hizmeti kaynak MongoDB örneğine ve hedef Azure Cosmos DB hesabına erişim sağlar.

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

  6. Fiyatlandırma katmanını seçin.

    Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

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

Geçiş projesi oluşturma

Hizmeti oluşturduktan sonra Azure portalında bulun ve açın. Ardından 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.

    Screenshot that shows how to locate all instances of Azure Database Migration Service.

  2. Azure Veritabanı Geçiş Hizmeti ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğin adını arayın ve ardından örneği seçin.

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

  4. Yeni geçiş projesinde proje için bir ad belirtin ve Kaynak sunucu türü metin kutusunda MongoDB'yi seçin. Hedef sunucu türü metin kutusunda NoSQL için Azure Cosmos DB'yi seçin ve etkinlik türünü seçin için Çevrimdışı veri geçişi'ni seçin.

    Screenshot that shows project options.

  5. 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'i 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.

    • Bağlan ion Dizesi URI Biçimi'nde açıklandığı gibi mongoDB bağlantı dizesi kabul eden Bağlan dize modu.

    • Blob kapsayıcı SAS URL'sini kabul eden Azure depolamadan alınan veriler. Blob kapsayıcısının MongoDB bsondump aracı tarafından üretilen BSON dökümleri varsa Blob BSON dökümlerini içerir'i seçin. Kapsayıcıda JSON dosyaları varsa bu seçeneği belirtmeyin.

      Bu seçeneği belirlerseniz depolama hesabının bağlantı dizesi aşağıdaki biçimde göründüğünden emin olun:

      https://blobnameurl/container?SASKEY
      

      Bu blob kapsayıcı SAS bağlantı dizesi Azure Depolama gezgininde bulabilirsiniz. İlgili kapsayıcı için SAS oluşturmak, url'yi istenen biçimde sağlar.

      Ayrıca, Azure Depolama'daki tür dökümü bilgilerine bağlı olarak aşağıdakileri göz önünde bulundurun:

      • BSON dökümleri için blob kapsayıcısı içindeki verilerin bsondump biçiminde olması gerekir. Veri dosyalarını collection.bson biçimindeki içeren veritabanlarının adını taşıyan klasörlere yerleştirin. collection.metadata.json biçimini kullanarak tüm meta veri dosyalarını adlandırın.

      • JSON dökümleri için blob kapsayıcısı içindeki dosyalar, içeren veritabanlarının adını taşıyan klasörlere yerleştirilmelidir. Her veritabanı klasörünün içinde, veri dosyaları data adlı bir alt klasöre yerleştirilmeli ve collection.json biçimi kullanılarak adlandırılmalıdır. Meta veri dosyalarını metadata adlı ve aynı collection.json biçimini kullanarak adlandırılmış bir alt klasöre yerleştirin. Meta veri dosyaları MongoDB bsondump aracı tarafından üretilenle aynı biçimde olmalıdır.

    Önemli

    MongoDB sunucusunda otomatik olarak imzalanan bir sertifika kullanmanızı önermeyiz. Kullanmanız gerekiyorsa, bağlantı dizesi modunu kullanarak sunucuya bağlanın ve bağlantı dizesi tırnak işaretleri ("") olduğundan emin olun.

    &sslVerifyCertificate=false
    

    AYRıCA, DNS ad çözümlemesinin mümkün olmadığı durumlar için IP adresini de kullanabilirsiniz.

    Screenshot that shows specifying source details.

  2. Kaydet'i seçin.

Hedef ayrıntılarını belirtme

  1. Geçiş hedefi ayrıntıları ekranında, hedef Azure Cosmos DB hesabı için bağlantı ayrıntılarını belirtin. Bu hesap, MongoDB verilerinizi geçirmekte olduğunuz mongoDB için önceden sağlanan Azure Cosmos DB hesabıdır.

    Screenshot that shows specifying target details.

  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.

    Veritabanı adının yanında Oluştur görünürse, Azure Veritabanı Geçiş Hizmeti hedef veritabanını bulamadığını ve hizmetin veritabanını sizin için oluşturacağını gösterir.

    Geçişte bu noktada aktarım hızı sağlayabilirsiniz. Azure Cosmos DB'de, aktarım hızını veritabanı düzeyinde veya her koleksiyon için ayrı ayrı sağlayabilirsiniz. Aktarım hızı, istek birimleri cinsinden ölçülür. Azure Cosmos DB fiyatlandırması hakkında daha fazla bilgi edinin.

    Screenshot that shows mapping to target databases.

  2. Kaydet'i seçin.

  3. Koleksiyon ayarı ekranında koleksiyon 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 bulunan tüm koleksiyonları otomatik olarak seçer. Zaten veri içeren koleksiyonları yeniden silmek istiyorsanız, bu bölmedeki koleksiyonları açıkça seçmeniz gerekir.

    Koleksiyonların kullanmasını istediğiniz RU sayısını belirtebilirsiniz. Azure Veritabanı Geçiş Hizmeti koleksiyon boyutuna göre akıllı varsayılanlar önerir.

    Dekont

    Veritabanı geçişini ve koleksiyonunu paralel olarak gerçekleştirin. Gerekirse, çalıştırmayı hızlandırmak için birden çok Azure Veritabanı Geçiş Hizmeti örneğini kullanabilirsiniz.

    En iyi ölçeklenebilirlik için Azure Cosmos DB'de bölümlemeden yararlanmak için bir parça anahtarı da belirtebilirsiniz. Parça/bölüm anahtarı seçmek için en iyi yöntemleri gözden geçirin.

    Screenshot that shows selecting collections tables.

  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.

    Screenshot that shows the nigration summary.

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

Geçişi çalıştır'ı seçin. Geçiş etkinliği penceresi görüntülenir ve etkinliğin durumu Başlatılmaz.

Screenshot that shows the activity status.

Geçişi izleme

Geçiş etkinliği ekranında Yenile'yi seçerek geçişin durumu Tamamlandı olarak gösterilene kadar ekranı güncelleştirin.

Dekont

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

Screnshot that shows the activity status completed.

Azure Cosmos DB'de verileri doğrulama

Geçiş tamamlandıktan sonra Azure Cosmos DB hesabınızı denetledikten sonra tüm koleksiyonların başarıyla geçirildiğini doğrulayabilirsiniz.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

Geçiş sonrası iyileştirme

MongoDB veritabanında depolanan verileri MongoDB için Azure Cosmos DB'ye geçirdikten sonra Azure Cosmos DB'ye bağlanabilir ve verileri yönetebilirsiniz. Geçiş sonrası diğer iyileştirme adımlarını da gerçekleştirebilirsiniz. Bunlar dizin oluşturma ilkesini iyileştirmeyi, varsayılan tutarlılık düzeyini güncelleştirmeyi veya Azure Cosmos DB hesabınız için genel dağıtımı yapılandırmayı içerebilir. Daha fazla bilgi için bkz . Geçiş sonrası iyileştirme.

Ek kaynaklar

  • Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz?
    • Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdekleri veya vCPU'ları kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
    • Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin

Sonraki adımlar

Azure Veritabanı Geçiş Kılavuzu'ndaki ek senaryolar için geçiş kılavuzunu gözden geçirin.