Öğretici: Azure Veritabanı Geçiş Hizmeti kullanarak MongoDB'yi MongoDB ru için Azure Cosmos DB'ye çevrimiçi 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.

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 çevrimiçi 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 çevrimiçi (en düşük kapalı kalma süresi) geçişini gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanabilirsiniz.

Bu öğreticide MongoDB verilerini Azure Cosmos DB'ye geçirmek için Azure Veritabanı Geçiş Hizmeti kullanmayla ilgili adımlar gösterilmektedir:

  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Geçiş projesi oluşturma.
  • Kaynağı belirtin.
  • Hedefi belirtin.
  • Hedef veritabanlarıyla eşle'yi seçin.
  • Geçişi çalıştırma.
  • Geçişi izleme.
  • Azure Cosmos DB'deki verileri doğrulayın.
  • Hazır olduğunuzda geçişi tamamlayın.

Bu öğreticide, Azure sanal makinesinde barındırılan MongoDB'deki bir veri kümesini, Azure Veritabanı Geçiş Hizmeti aracılığıyla minimum kapalı kalma süresiyle 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.

Dekont

Çevrimiçi geçiş gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanmak için Premium fiyatlandırma katmanını temel alan bir örnek oluşturmanız gerekir.

Önemli

En iyi geçiş deneyimi için Microsoft, hedef veritabanıyla aynı Azure bölgesinde bir Azure Veritabanı Geçiş Hizmeti örneği oluşturmanızı önerir. Verileri bölgeler veya coğrafyalar arasında taşımak geçiş sürecini yavaşlatabilir.

Bahşiş

Azure Veritabanı Geçiş Hizmeti veritabanlarınızı çevrimdışı veya çevrimiçiyken geçirebilirsiniz. Çevrimdışı geçişte, geçiş başladığında uygulama kapalı kalma süresi başlar. Kapalı kalma süresini geçişten sonra yeni ortama geçme süresiyle sınırlamak için çevrimiçi geçiş kullanın. Kapalı kalma süresinin kabul edilebilir olup olmadığını belirlemek için çevrimdışı geçişi test etmenizi öneririz. Beklenen kapalı kalma süresi kabul edilebilir değilse çevrimiçi geçiş yapın.

Bu makalede MongoDB'den MongoDB için Azure Cosmos DB'ye çevrimiçi geçiş açıklanmaktadır. Çevrimdışı geçiş için bkz . MongoDB'yi DMS kullanarak mongoDB için Azure Cosmos DB'ye çevrimdışı geçirme.

Ön koş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ı tamamlayın.

  • MongoDB için Azure Cosmos DB hesabı oluşturun ve SSR'nin (sunucu tarafı yeniden deneme) etkinleştirildiğinden emin olun.

    Dekont

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

  • ExpressRoute veya VPN kullanarak ş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 bir Microsoft Azure Sanal Ağ oluşturun.

    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ı, Azure Cosmos DB uç noktası, vb.)
    • 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ğ 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 trafiği filtreleme hakkında daha fazla ayrıntı için Ağ trafiğini ağ güvenlik gruplarıyla filtreleme makalesine bakın.

  • 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ı gereci kullanırken, Azure Veritabanı Geçiş Hizmeti geçiş için kaynak veritabanlarına erişmesine izin vermek için güvenlik duvarı kuralları eklemeniz gerekebilir.

Verimli geçiş için Azure Cosmos DB Sunucu Tarafı Yeniden Denemelerini yapılandırma

MongoDB'den Azure Cosmos DB'ye geçiş yapan müşteriler, sağlanan ru/sn aktarım hızınızı tam olarak kullanabilmeyi garanti eden kaynak idare özelliklerinden yararlanır. Azure Cosmos DB, geçiş işlemi boyunca sağlanan kapsayıcı RU/sn'yi aşarsa belirli bir Veri Geçiş Hizmeti isteğini kısıtlar; ardından bu isteğin yeniden denenmesi gerekir. Veri Geçiş Hizmeti yeniden denemeler gerçekleştirebilir, ancak Veri Geçiş Hizmeti ile Azure Cosmos DB arasındaki ağ atlamasında 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 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 düşük 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 özelliğini Azure Cosmos DB portalının Özellikler dikey penceresinde bulabilirsiniz

Screenshot of MongoDB Server-Side Retry feature.

Devre Dışı ise aşağıda gösterildiği gibi etkinleştirmenizi öneririz

Screenshot of MongoDB Server-Side Retry enable.

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.

    Azure Marketplace

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

    Create Azure Database Migration Service instance

  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. 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 Azure portalını kullanarak sanal ağ oluşturma makalesine bakın.

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

    Dekont

    Ç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.

    Configure Azure Database Migration Service instance settings

  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.

    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.

    Alternatif olarak, Azure portalındaki arama bölmesinden Azure Veritabanı Geçiş hizmeti örneğini bulabilirsiniz.

    Use the Search pane in the Azure portal

  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ü metin kutusunda MongoDB için Azure Cosmos DB'yi seçin ve etkinlik türünü seçin için Çevrimiçi veri geçişi [önizleme] öğesini seçin.

    Create Database Migration Service project

  5. Kaydet'i seçin ve ardından Projeyi oluşturup 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 modu, Bağlan ion Dizesi URI Biçimi makalesinde açıklandığı gibi mongoDB Bağlan ion dizesini kabul eder.

    • 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 ve kapsayıcı JSON dosyaları içeriyorsa bu dökümü kaldırın.

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

      https://blobnameurl/container?SASKEY
      

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

      • BSON dökümleri için, blob kapsayıcısı içindeki verilerin bsondump biçiminde olması gerekir; böylece veri dosyaları collection.bson biçimindeki içeren veritabanlarının adını taşıyan klasörlere yerleştirilir. Meta veri dosyaları (varsa) collection.metadata.json biçimi kullanılarak adlandırılmalıdır.

      • 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ı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ştirilmeli ve aynı collection.json biçimi kullanılarak adlandırılmalıdır. Meta veri dosyaları MongoDB bsondump aracı tarafından üretilenle aynı biçimde olmalıdır.

    Önemli

    MongoDB sunucusunda otomatik olarak imzalanan bir sertifika kullanmak önerilmez. Ancak, kullanılıyorsa lütfen bağlantı dizesi modunu kullanarak sunucuya bağlanın ve bağlantı dizesi "" olduğundan emin olun

    &sslVerifyCertificate=false
    

    DNS ad çözümlemesinin mümkün olmadığı durumlar için IP Adresini kullanabilirsiniz.

    Specify source details

  2. Kaydet'i seçin.

    Dekont

    Kaynak bir çoğaltma kümesiyse Kaynak sunucu adresi birincil adresi, kaynak parçalanmış bir MongoDB kümesiyse yönlendirici olmalıdır. Parçalı MongoDB kümesi için Azure Veritabanı Geçiş Hizmeti kümedeki tek tek parçalara bağlanabilmelidir ve bu da güvenlik duvarının daha fazla makinede açılmasını gerektirebilir.

Hedef ayrıntılarını belirtme

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

    Specify 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 dizesi görünürse, Azure Veritabanı Geçiş Hizmeti hedef veritabanını bulmadığını ve hizmetin veritabanını sizin için oluşturacağını gösterir.

    Geçiş işleminin bu noktasında, veritabanında aktarım hızını paylaşmak istiyorsanız bir aktarım hızı RU'sunu belirtin. 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ı İstek Birimleri (RU) cinsinden ölçülür. Azure Cosmos DB fiyatlandırması hakkında daha fazla bilgi edinin.

    Map 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 ekrandaki koleksiyonları açıkça seçmeniz gerekir.

    Koleksiyonların kullanmasını istediğiniz RU sayısını belirtebilirsiniz. Çoğu durumda, 500 (parçalı koleksiyonlar için en az 1000) ile 4000 arasında bir değer yeterli olmalıdır. Azure Veritabanı Geçiş Hizmeti koleksiyon boyutuna göre akıllı varsayılanlar önerir.

    Dekont

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

    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çmeye yönelik en iyi yöntemleri gözden geçirmeyi unutmayın. Bölüm anahtarınız yoksa, daha iyi aktarım hızı için her zaman _id parça anahtarı olarak kullanabilirsiniz.

    Select 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.

    Migration 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 görüntülenir.

    Activity status

Geçişi izleme

  • Geçiş etkinliği ekranında, Geçişin Durumu Yeniden Yürütme olarak gösterilene kadar ekranı güncelleştirmek için Yenile'yi seçin.

    Dekont

    Veritabanı ve koleksiyon düzeyi geçiş ölçümlerinin ayrıntılarını almak için Etkinlik'i seçebilirsiniz.

    Activity status replaying

Azure Cosmos DB'de 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ıldığını doğrulamak için Azure Cosmos DB'ye Bağlan.

    Screenshot that shows where you can verify that the data was replicated.

Geçişi tamamlama

  • Kaynaktan gelen tüm belgeler Azure Cosmos DB hedefinde kullanılabildikten sonra geçişi tamamlamak için geçiş etkinliğinin bağlam menüsünden Son'u seçin.

    Bu eylem, bekleyen tüm değişiklikleri yeniden yürütmeyi tamamlar ve geçişi tamamlar.

    Screenshot that shows the Finish menu option.

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. Ayrıca, dizin oluşturma ilkesini iyileştirme, varsayılan tutarlılık düzeyini güncelleştirme veya Azure Cosmos DB hesabınız için genel dağıtımı yapılandırma gibi diğer geçiş sonrası iyileştirme adımlarını da gerçekleştirebilirsiniz. Daha fazla bilgi için Geçiş sonrası iyileştirme makalesine bakın.

Ek kaynaklar

  • Azure Cosmos DB hizmet bilgileri
  • 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