Arcion kullanarak Verileri Cassandra'dan Apache Cassandra için Azure Cosmos DB hesabına geçirme

ŞUNLAR IÇIN GEÇERLIDIR: Cassandra

Azure Cosmos DB'de Cassandra API'si, Apache Cassandra üzerinde çalışan kurumsal iş yükleri için aşağıdaki gibi birçok nedenden dolayı harika bir seçenek haline gelmiştir:

  • Yönetim ve izleme yükü yoktur: İşletim sistemi, JVM ve yaml dosyalarında ve bunların etkileşimlerinde çok sayıda ayarı yönetme ve izleme yükünü ortadan kaldırır.

  • Önemli maliyet tasarrufları: VM'nin, bant genişliğinin ve geçerli lisansların maliyetini içeren Azure Cosmos DB ile maliyet tasarrufu yapabilirsiniz. Ayrıca veri merkezlerini, sunucuları, SSD depolamayı, ağ ve elektrik maliyetlerini yönetmeniz gerekmez.

  • Mevcut kodu ve araçları kullanma olanağı: Azure Cosmos DB, mevcut Cassandra SDK'ları ve araçlarıyla kablo protokolü düzeyinde uyumluluk sağlar. Bu uyumluluk, mevcut kod tabanınızı Apache Cassandra için Azure Cosmos DB ile önemsiz değişikliklerle kullanabilmenizi sağlar.

Veritabanı iş yüklerini bir platformdan diğerine geçirmenin çeşitli yolları vardır. Arcion , diğer veritabanlarından Azure Cosmos DB'ye sıfır kapalı kalma süresi geçişi gerçekleştirmek için güvenli ve güvenilir bir yol sunan bir araçtır. Bu makalede Arcion kullanarak Apache Cassandra veritabanından Apache Cassandra için Azure Cosmos DB'ye veri geçirmek için gereken adımlar açıklanmaktadır.

Not

Arcion tarafından sunulan bu teklif şu anda beta sürümündedir. Daha fazla bilgi için lütfen Arcion Desteği'nde onlarla iletişime geçin

Geçiş için Arcion kullanmanın avantajları

Arcion'ın geçiş çözümü, karmaşık operasyonel iş yüklerini geçirmek için adım adım bir yaklaşım izler. Arcion'ın sıfır kapalı kalma süresi geçiş planının önemli yönlerinden bazıları şunlardır:

  • İş mantığının (tablolar, dizinler, görünümler) Apache Cassandra veritabanından Azure Cosmos DB'ye otomatik geçişini sağlar. Şemaları el ile oluşturmanız gerekmez.

  • Arcion yüksek hacimli ve paralel veritabanı çoğaltması sunar. Change-Data-Capture (CDC) adlı bir teknik kullanarak geçiş sırasında hem kaynak hem de hedef platformların eşitlenmesini sağlar. Arcion, CDC kullanarak kaynak veritabanından (Apache Cassandra) sürekli olarak bir değişiklik akışı çeker ve bunu hedef veritabanına (Azure Cosmos DB) uygular.

  • Hataya dayanıklıdır ve sistemdeki bir donanım veya yazılım hatası sırasında bile verilerin tam olarak bir kez teslimini sağlar.

  • TLS, şifreleme gibi güvenlik yöntemlerini kullanarak aktarım sırasında verilerin güvenliğini sağlar.

Verileri geçirme adımları

Bu bölümde Arcion'ı ayarlamak için gereken adımlar açıklanır ve verileri Apache Cassandra veritabanından Azure Cosmos DB'ye geçirir.

  1. Arcion çoğaltmasını yüklemeyi planladığınız bilgisayardan bir güvenlik sertifikası ekleyin. Bu sertifika, belirtilen Azure Cosmos DB hesabıyla TLS bağlantısı kurmak için Arcion çoğaltması tarafından gereklidir. Sertifikayı aşağıdaki adımlarla ekleyebilirsiniz:

    wget https://cacert.omniroot.com/bc2025.crt
    mv bc2025.crt bc2025.cer
    keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
    
  2. Arcion web sitesinde bir tanıtım isteyerek Arcion yüklemesini ve ikili dosyaları alabilirsiniz. Alternatif olarak, ekibİnize bir e-posta da gönderebilirsiniz.

    Arcion replicant aracı indirme

    Arcion çoğaltılabilir dosyaları

  3. CLI terminalinden kaynak veritabanı yapılandırmasını ayarlayın. komutunu kullanarak vi conf/conn/cassandra.yml yapılandırma dosyasını açın ve Cassandra düğümlerinin IP adreslerinin virgülle ayrılmış listesini, bağlantı noktası numarasını, kullanıcı adını, parolayı ve diğer gerekli ayrıntıları ekleyin. Aşağıda, yapılandırma dosyasındaki bir içerik örneği verilmiştir:

    type: CASSANDRA
    
    host: 172.17.0.2
    port: 9042
    
    username: 'cassandra'
    password: 'cassandra'
    
    max-connections: 30
    
    

    Cassandra bağlantı düzenleyicisini açma

    Cassandra bağlantı yapılandırması

    Yapılandırma ayrıntılarını doldurduktan sonra dosyayı kaydedin ve kapatın.

  4. İsteğe bağlı olarak, kaynak veritabanı filtre dosyasını ayarlayabilirsiniz. Filtre dosyası hangi şemaların veya tabloların geçirilip geçirilmez olduğunu belirtir. komutunu kullanarak vi filter/cassandra_filter.yml yapılandırma dosyasını açın ve aşağıdaki yapılandırma ayrıntılarını girin:

    
    allow:
    -	schema: “io_arcion”
    Types: [TABLE]
    

    Veritabanı filtresi ayrıntılarını doldurduktan sonra dosyayı kaydedin ve kapatın.

  5. Ardından hedef veritabanı yapılandırmasını ayarlayacaksınız. Yapılandırmayı tanımlamadan önce Apache Cassandra için Azure Cosmos DB hesabı oluşturun ve ardından bir Keyspace ve geçirilen verileri depolamak için bir tablo oluşturun. Azure Cosmos DB'de Apache Cassandra'dan Cassandra için API'ye geçiş yaptığınız için Apache cassandra ile kullandığınız bölüm anahtarının aynısını kullanabilirsiniz.

  6. Verileri geçirmeden önce kapsayıcı aktarım hızını uygulamanızın hızlı bir şekilde geçirilmesi için gereken miktara yükseltin. Örneğin, aktarım hızını 100000 RU'ya çıkarabilirsiniz. Geçişe başlamadan önce aktarım hızını ölçeklendirmek, verilerinizi daha kısa sürede geçirmenize yardımcı olur.

    Azure Cosmos DB kapsayıcısı genelinde ölçeklendirme

    Geçiş tamamlandıktan sonra aktarım hızını azaltın. Depolanan veri miktarına ve her işlem için gereken RU'lara bağlı olarak, veri geçişi sonrasında gereken aktarım hızını tahmin edebilirsiniz. Gerekli RU'ları tahmin etme hakkında daha fazla bilgi edinmek için Azure Cosmos DB kapasite planlayıcısımakalelerini kullanarak kapsayıcılarda ve veritabanlarında aktarım hızı sağlama ve RU/sn tahmini makalelerine bakın.

  7. Bağlantı Dizesi bölmesinden Azure Cosmos DB hesabınızın Kişi Noktası, Bağlantı Noktası, Kullanıcı Adı ve Birincil Parolasını alın. Bu değerleri yapılandırma dosyasında kullanacaksınız.

  8. CLI terminalinden hedef veritabanı yapılandırmasını ayarlayın. komutunu kullanarak vi conf/conn/cosmosdb.yml yapılandırma dosyasını açın ve konak URI'sinin, bağlantı noktası numarasının, kullanıcı adının, parolanın ve diğer gerekli parametrelerin virgülle ayrılmış bir listesini ekleyin. Aşağıdaki örnekte yapılandırma dosyasının içeriği gösterilmektedir:

    type: COSMOSDB
    
    host: '<Azure Cosmos DB account’s Contact point>'
    port: 10350
    
    username: 'arciondemo'
    password: '<Your Azure Cosmos DB account’s primary password>'
    
    max-connections: 30
    
  9. Ardından Arcion kullanarak verileri geçirin. Arcion çoğaltmasını tam veya anlık görüntü modunda çalıştırabilirsiniz:

    • Tam mod – Bu modda, çoğaltma geçiş sonrasında çalışmaya devam eder ve kaynak Apache Cassandra sistemindeki değişiklikleri dinler. Herhangi bir değişiklik algılarsa, bunlar gerçek zamanlı olarak hedef Azure Cosmos DB hesabında çoğaltılır.

    • Anlık görüntü modu – Bu modda şema geçişi ve tek seferlik veri çoğaltma gerçekleştirebilirsiniz. Bu seçenekte gerçek zamanlı çoğaltma desteklenmez.

    Yukarıdaki iki mod kullanılarak geçiş sıfır kapalı kalma süresiyle gerçekleştirilebilir.

  10. Verileri geçirmek için Arcion çoğaltılabilir CLI terminalinden aşağıdaki komutu çalıştırın:

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing
    

    Çoğaltılabilir kullanıcı arabirimi çoğaltma ilerleme durumunu gösterir. Şema geçişi ve anlık görüntü işlemi tamamlandıktan sonra ilerleme %100 gösterilir. Geçiş tamamlandıktan sonra, hedef Azure Cosmos DB veritabanındaki verileri doğrulayabilirsiniz.

    Cassandra veri geçişi çıkışı

  11. Geçiş için tam modu kullandığınızdan, kaynak Apache Cassandra veritabanında veri ekleme, güncelleştirme veya silme gibi işlemler gerçekleştirebilirsiniz. Daha sonra hedef Azure Cosmos DB veritabanında gerçek zamanlı olarak çoğaltıldıklarını doğrulayın. Geçiş sonrasında Azure Cosmos DB kapsayıcınız için yapılandırılan aktarım hızını azalttığınızdan emin olun.

  12. Çoğaltmayı herhangi bir noktada durdurabilir ve --resume anahtarıyla yeniden başlatabilirsiniz. Çoğaltma, veri tutarlılığından ödün vermeden durdurulduğu noktadan devam eder. Aşağıdaki komut özgeçmiş anahtarının nasıl kullanılacağını gösterir.

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
    

Hedefe, gerçek zamanlı geçişe veri geçişi hakkında daha fazla bilgi edinmek için Arcion replicant tanıtımına bakın.

Sonraki adımlar