Öğretici: MongoDB'yi MongoDB için Azure Cosmos DB'ye çevrimdışı 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.

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

Geçiş adımlarının 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 veritabanlarının çevrimdışı, tek seferlik geçişini gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanın.

Bu öğreticide şunların nasıl yapıldığı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.

Önkoş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.

    Not

    Sunucusuz modla sağlanan bir MongoDB için Azure Cosmos DB hesabına geçiş yaptığınızda DMS şu anda desteklenmemektedir.

  • Azure Resource Manager kullanarak Azure Veritabanı Geçiş Hizmeti için Microsoft Bir 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 de adım adım ayrıntıları içeren "hızlı başlangıç" makalelerine bakın.

    Not

    Sanal ağ kurulumu sırasında ExpressRoute'u Microsoft için ağ eşlemesi ile kullanırsanız, hizmetin sağlandığı 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 internet 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 veritabanınızın önünde bir güvenlik duvarı gereci kullanırken, Azure Veritabanı Geçiş Hizmeti geçiş için kaynak veritabanına erişmesine izin vermek 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 idaresi özelliklerinden yararlanabilirsiniz. Bu özelliklerle, sağlanan istek birimlerinizden (RU/sn) aktarım hızını tam olarak kullanabilirsiniz. Azure Cosmos DB, kapsayıcı tarafından sağlanan RU/sn değerini aşarsa geçiş işlemi boyunca belirli bir Veritabanı Geçiş Hizmeti isteğini kısıtlayabilir. Ardından bu isteğin yeniden denenmesi gerekir.

Veritabanı Geçiş Hizmeti yeniden 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. Azaltılan 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 hata kodlarını engellemesine ve çok daha düşük 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 bulunduğunu gösteren ekran görüntüsü.

Özellik devre dışı bırakıldı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österme

  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österme

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

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

Örnek oluşturma

  1. Azure portal + 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 sanal ağ oluşturma hakkında daha fazla bilgi için bkz. Azure portal 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 içinde 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.

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

  2. Azure Veritabanı Geçiş Hizmetleri 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ışı verigeç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ığı gibi mongoDB bağlantı dizesini kabul eder.

    • Blob kapsayıcıSı SAS URL'sini kabul eden Azure depolamadan 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 seçerseniz depolama hesabı bağlantı dizesinin aşağıdaki biçimde göründüğünden emin olun:

      https://blobnameurl/container?SASKEY
      

      Bu blob kapsayıcıSı SAS bağlantı dizesini Azure Depolama gezgininde bulabilirsiniz. İlgili kapsayıcının SAS'sini 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çimini kullanarak adlandırılmalıdır. Meta veri dosyalarını metadata adlı bir alt klasöre yerleştirin ve aynı collection.json biçimini 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ı önermiyoruz. Kullanmanız gerekiyorsa, bağlantı dizesi modunu kullanarak sunucuya bağlanın ve bağlantı dizenizde tırnak işaretleri ("") bulunduğundan emin olun.

    &sslVerifyCertificate=false
    

    IP adresini, DNS ad çözümlemesinin mümkün olmadığı durumlar için 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 geçirmekte olduğunuz mongoDB için önceden sağlanan 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.

    Geçişin bu noktası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 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 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.

    Nigration özetini gösteren ekran görüntüsü.

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.

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üzeyi geçiş ölçümlerinin ayrıntılarını almak için etkinliği seçebilirsiniz.

Tamamlanan etkinlik durumunu 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

Sonraki adımlar

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