Kılavuz: Azure Veritabanı Geçiş Hizmeti kullanarak MongoDB'yi çevrimdışı bir şekilde MongoDB API'si için Azure Cosmos DB'ye taşıma

Şunlar için geçerlidir: MongoDB

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.

Geçiş adımları diyagramı.

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ır.
  • 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.

Önkoşullar

Bu öğreticiyi tamamlamak için şunları yapmanız gerekmektedir:

  • Geçiş öncesi adımları tamamlayın, örneğin aktarım hızını tahmin etme ve bölüm anahtarı seçme.

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

    Not

    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.

    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 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 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, belirli bir Veritabanı Geçiş Hizmeti isteğini, geçiş işlemi süresince, eğer bu istek kapsayıcı tarafından sağlanan RU/sn değerini aşarsa, sınırlayabilir. Daha sonra bu isteğin yeniden denenmesi gerekir.

Veritabanı Geçiş Hizmeti, tekrar denemeler 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 kısıtlama 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 iyileştirir.

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

Sunucu Tarafı Yeniden Deneme özelliğinin nerede bulunacağı gösteren ekran görüntüsü.

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

Sunucu Tarafı Yeniden Deneme'nin nasıl etkinleştirildiğini gösteren ekran görüntüsü.

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’ında oturum açın. Abonelikler'i arayın ve seçin.

    Portal aboneliklerini gösteren ekran görüntüsü.

  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.

    Kaynak sağlayıcılarını gösteren ekran görüntüsü.

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

    Kaynak sağlayıcısını kaydet ekranının ekran görüntüsü.

Örnek oluşturma

  1. Azure portalında + Kaynak oluştur'u seçin, Azure Veritabanı Geçiş Hizmeti arayın ve açılan listeden Azure Veritabanı Geçiş Hizmeti seçin.

    Azure Market'i gösteren ekran görüntüsü.

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

    Azure Veritabanı Geçiş Hizmeti örneğinin nasıl oluşturulacağını gösteren ekran görüntüsü.

  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.

    Azure Veritabanı Geçiş Hizmeti örneğinin yapılandırma ayarlarını gösteren ekran görüntüsü.

  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.

    tüm Azure Veritabanı Geçiş Hizmeti örneklerinin nasıl bulunduğunu gösteren ekran görüntüsü.

  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.

    Proje seçeneklerini gösteren ekran görüntüsü.

  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ğlantı dizesi modu, Bağlantı Dizesi URI Biçimi'nde açıklandığı şekilde bir MongoDB bağlantı dizesi kabul eder.

    • Blob kapsayıcı SAS URL'sini kabul eden Azure depolamadan alınan veriler. Blob kapsayıcısı MongoDB bsondump aracı tarafından üretilen BSON dökümlerine sahipse, Blob BSON dökümlerini içerir seçeneğini 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
      

      Blob kapsayıcı SAS bağlantı dizisini Azure Depolama Gezgini'nde 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ştirilmelidir ve collection.json biçimi kullanılarak adlandırılmalıdır. Meta veri dosyalarını meta veriler adlı bir alt klasöre yerleştirin ve collection.json aynı biçimi kullanarak adlandırın. 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ı dizenizin tırnak işaretleri ("") içerdiğinden emin olun.

      &sslVerifyCertificate=false
      

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

    Kaynak ayrıntılarını belirtmeyi gösteren ekran görüntüsü.

  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 taşımakta olduğunuz, önceden sağlanmış MongoDB için Azure Cosmos DB hesabıdır.

    Hedef ayrıntılarını belirtmeyi gösteren ekran görüntüsü.

  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.

    Bu noktada, geçiş işlemi sırasında 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.

    Hedef veritabanlarına eşlemeyi gösteren ekran görüntüsü.

  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.

    Not

    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.

    Koleksiyon tablolarını seçmeyi gösteren ekran görüntüsü.

  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ş özetini gösteren ekran görüntüsü.

Geçişi başlat

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

Etkinlik durumunu gösteren ekran görüntüsü.

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.

Not

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

Etkinlik durumunun tamamlandığını gösteren ekran görüntüsü.

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.

Tüm koleksiyonların başarıyla geçirildiğini doğrulamak için Azure Cosmos DB hesabınızın nerede denetlendiğini gösteren ekran görüntüsü.

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