Verileri Cassandra'dan Azure Cosmos DB Cassandra API hesabına geçirme
Uygulama hedefı:
Cassandra API
Cassandra API Azure Cosmos DB,Apache Cassandra üzerinde çalışan kurumsal iş yükleri için şu çeşitli nedenlerle harika bir seçenek haline geldi:
Yönetim ve izleme yükü yoktur: Bu, işletim sistemi, JVM ve yaml dosyaları ile bunların etkileşimleri genelinde çok fazla ayarı yönetme ve izleme yükünü ortadan kaldırıyor.
Önemli maliyet tasarrufları: Vm'lerinin, bant genişliğinin ve tüm geçerli lisansların maliyetini içeren Azure Cosmos DB ile maliyet tasarrufu sabilirsiniz. Ayrıca veri merkezleri, sunucular, SSD depolama, ağ ve elektrik maliyetlerini de yönetmenize gerek yok.
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, küçük değişikliklerle Azure Cosmos DB Cassandra API’si ile mevcut kod tabanınızı kullanabilmenizi sağlar.
Veritabanı iş yüklerini bir platformdan diğerine geçirmenin çeşitli yolları vardır. Belirtiz, çeşitli veritabanlarından Azure veritabanına sıfır kapalı kalma süresi geçirmesi gerçekleştirmenin güvenli ve güvenilir bir yolunu Cosmos araçtır. Bu makalede, Verileri Apache Cassandra veritabanından Azure Cosmos DB veritabanına geçirmek için gerekli Cassandra API adımlar açıklanmıştır.
Geçiş için Blitzz kullanmanın avantajları
Complexz'in geçiş çözümü, karmaşık operasyonel iş yüklerini geçirmek için adım adım bir yaklaşım benimser. Aşağıda, Aşağıdakiler, Elez'in sıfır kapalı kalma süresine sahip geçiş planının temel yönlerinden bazılarıdır:
İş mantığının (tablolar, dizinler, görünümler) Apache Cassandra veritabanından Azure Cosmos DB'ye geçişini sağlar. Şemaları el ile oluşturmanız gerekmez.
Dfsz, yüksek hacimli ve paralel veritabanı çoğaltması sunar. Geçiş sırasında Change-Data-Capture (CDC) adlı bir teknik kullanarak hem kaynak hem de hedef platformların eşit durumda olmasına olanak sağlar. CdC'yi kullanarak, Pullz sürekli olarak kaynak veritabanından (Apache Cassandra) bir değişiklik akışı çeker ve bunu hedef veritabanına (Azure Cosmos DB) uygular.
Hataya karşı koruma sağlar ve sistemde bir donanım veya yazılım hatası sırasında bile verilerin tam olarak bir kez teslimi sağlar.
TLS ve şifreleme gibi çeşitli güvenlik yöntemlerini kullanarak geçiş sırasında verilerin güvenliğini sağlar.
Verileri geçirme adımları
Bu bölümde, Apache Cassandra veritabanından Azure Cosmos DB'ye veri geçirmek için Gerekli Olan Adımlar anlatılacaktır.
Saldırız çoğaltmasını yükleme planınız olan bilgisayardan bir güvenlik sertifikası ekleyin. Belirtilen Azure veritabanı veritabanı hesabıyla TLS bağlantısı kurmak için Bu sertifika, Değil çoğaltması tarafından Cosmos gereklidir. Sertifikayı aşağıdaki adımlarla eklemek için:
wget https://cacert.omniroot.com/bc2025.crt mv bc2025.crt bc2025.cer keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cerBir Tanıtım isteği olarak OlarakTelez yüklemesini ve ikili dosyaları edinebilirsiniz. Alternatif olarak, takıma bir e-posta da gönderebilirsiniz.
CLI terminalinde kaynak veritabanı yapılandırmasını ayarlayın. komutunu kullanarak 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
vi conf/conn/cassandra.ymlayrıntıları ekleyin. Aşağıda, yapılandırma dosyasındaki bir içindekiler örneği ve ardından ve ardından yer alan bilgiler ve bilgilertype: CASSANDRA host: 172.17.0.2 port: 9042 username: 'cassandra' password: 'cassandra' max-connections: 30
Yapılandırma ayrıntılarını doldurduktan sonra dosyayı kaydedin ve kapatın.
İsteğe bağlı olarak, kaynak veritabanı filtre dosyasını da kurabilirsiniz. Filtre dosyası hangi şemaların veya tabloların geçirilir olduğunu belirtir. komutunu kullanarak yapılandırma dosyasını
vi filter/cassandra_filter.ymlaçın ve aşağıdaki yapılandırma ayrıntılarını girin:allow: - schema: “io_blitzz” Types: [TABLE]Veritabanı filtresi ayrıntılarını doldurduktan sonra dosyayı kaydedin ve kapatın.
Ardından hedef veritabanı yapılandırmasını ayarlayabilirsiniz. Yapılandırmayı tanımlamadan önce bir Azure Cosmos DB Cassandra API hesabı oluşturun ve ardından geçirilen verileri depolamak için bir Keyspace ve bir tablo oluşturun. Azure Cosmos DB'de Apache Cassandra'dan Azure Cassandra API DB'ye geçenlerle aynı bölüm anahtarını kullanabilirsiniz.
Verileri geçirmeden önce kapsayıcı aktarım hızını, uygulamanın hızlı bir şekilde geçirmesi için gereken miktara yükseltin. Örneğin, aktarım hızını 100000 RU'ya artırebilirsiniz. Geçişe başlamadan önce aktarım hızını ölçeklendirmek, verilerinizi daha kısa sürede geçirmenize yardımcı olur.
Geçiş tamamlandıktan sonra aktarım hızını düşürün. Depolanan veri miktarına ve her işlem için gereken RU miktarına bağlı olarak, veri geçişinin ardından gereken aktarım hızıyla ilgili tahminde bulundurabilirsiniz. Gereken RU'ları tahmin etmek için bkz. Kapsayıcılarda ve veritabanlarında aktarım hızı sağlama ve Azure Cosmos DB kapasite planlayıcısı kullanarak RU/sn tahmini.
Bağlantı Dizesi bölmesinden Azure hesap hesabınız için Kişi Noktası, Bağlantı Noktası, Kullanıcı Adı Cosmos Ve Birincil Parola bilgilerini edinin. Bu değerleri yapılandırma dosyasında kullanacağız.
CLI terminalinde hedef veritabanı yapılandırmasını ayarlayın. komutunu kullanarak yapılandırma dosyasını açın ve konak URI'si, bağlantı noktası numarası, kullanıcı adı, parola ve diğer gerekli parametrelerin
vi conf/conn/cosmosdb.ymlvirgülle ayrılmış bir listesini ekleyin. Aşağıdaki örnek yapılandırma dosyasının içeriğini gösterir:type: COSMOSDB host: '<Azure Cosmos account’s Contact point>' port: 10350 username: 'blitzzdemo' password: '<Your Azure Cosmos account’s primary password>' max-connections: 30Ardından, Verileri Geçiş'i Kullanarak Geçirme. Blizz çoğaltmasını tam veya anlık görüntü modunda çalıştırabilirsiniz:
Tam mod – Bu modda, çoğaltma geçiş sonrasında da çalışır ve kaynak Apache Cassandra sisteminde yapılan değişiklikleri dinler. Herhangi bir değişiklik algılarsa, bunlar hedef Azure Cosmos gerçek zamanlı olarak çoğaltılır.
Anlık görüntü modu – Bu modda şema geçişini ve tek kez veri çoğaltmayı gerçekleştirebilirsiniz. Bu seçenekte gerçek zamanlı çoğaltma desteklenmiyor.
Yukarıdaki iki mod kullanılarak geçiş sıfır kapalı kalma süresiyle yapılabilir.
Verileri geçirmek için, Blitzz çoğaltmalı CLI terminalinde 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ğaltma kullanıcı arabirimi çoğaltmanın ilerlemesini gösterir. Şema geçişi ve anlık görüntü işlemi tamam olduktan sonra ilerleme %100 olarak gösterilmektedir. Geçiş tamamlandıktan sonra, hedef Azure Veritabanı'Cosmos doğruabilirsiniz.
Geçiş için tam modu kullandınız, kaynak Apache Cassandra veritabanında veri ekleme, güncelleştirme veya silme gibi işlemler gerçekleştirebilirsiniz. Daha sonra hedef Azure veritabanı üzerinde gerçek zamanlı olarak çoğaltıldıklarını Cosmos olun. Geçiş sonrasında Azure Cosmos kapsayıcınız için yapılandırılan aktarım hızını düşürün.
Çoğaltmayı herhangi bir noktada durdurabilir ve --resume anahtarıyla yeniden başlatılabilir. Çoğaltma, veri tutarlılığını tehlikeye atmadan durdurulma noktasından devam eder. Aşağıdaki komut, resume anahtarının nasıl kullanılalı olduğunu 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, Bkz.Nt..