migrace dat z Cassandra na účet Azure Cosmos DB rozhraní API Cassandra pomocí Blitzz
PLATÍ PRO:
rozhraní API Cassandra
rozhraní API Cassandra v Azure Cosmos DB se stal skvělou volbou pro podniková zatížení, která běží na Apache Cassandra, z nejrůznějších důvodů:
Žádná režie správy a monitorování: Eliminuje režijní náklady na správu a monitorování nesčetných nastavení napříč systémy souborů OS, JVM a YAML a jejich interakcemi.
Významné úspory nákladů: náklady můžete ušetřit pomocí Azure Cosmos DB, což zahrnuje náklady na virtuální počítač, šířku pásma a příslušné licence. Navíc nemusíte spravovat datové centra, servery, úložiště SSD, sítě a náklady na elektřinu.
Možnost použít existující kód a nástroje: Azure Cosmos DB poskytuje kompatibilitu na úrovni přenosů protokolů se stávajícími sadami sdk a nástroji Cassandra. Tato kompatibilita zajišťuje, že můžete použít stávající základ kódu s rozhraním API Cassandra v Azure Cosmos DB s nepatrnými změnami.
Existují různé způsoby, jak migrovat databázové úlohy z jedné platformy do jiné. Blitzz je nástroj, který nabízí zabezpečený a spolehlivý způsob, jak provést migraci s nulovými výpadky z různých databází, aby se Azure Cosmos DB. tento článek popisuje kroky potřebné k migraci dat z databáze Apache Cassandra do Azure Cosmos DB rozhraní API Cassandra pomocí Blitzz.
Výhody použití Blitzz pro migraci
Řešení migrace Blitzz se řídí postupem, jak migrovat složitá provozní zatížení. Tady jsou některé klíčové aspekty plánu migrace v rámci nulového výpadku Blitzz:
nabízí automatickou migraci obchodní logiky (tabulky, indexy, zobrazení) z databáze Apache Cassandra do Azure Cosmos DB. Schémata nemusíte vytvářet ručně.
Blitzz nabízí vysoce velký objem a paralelní replikaci databáze. Umožňuje, aby zdrojové i cílové platformy byly během migrace synchronizované pomocí techniky označované jako Change-Data-Capture (CDC). pomocí funkce CDC Blitzz nepřetržitě vyžádá datový proud změn ze zdrojové databáze (Apache Cassandra) a použije ho pro cílovou databázi (Azure Cosmos DB).
Je odolná proti chybám a poskytuje přesně jedno doručení dat, i když dojde v systému k selhání hardwaru nebo softwaru.
Zabezpečuje data během přenosu s využitím nejrůznějších metod zabezpečení, jako je TLS, šifrování.
Postup migrace dat
tato část popisuje kroky potřebné k nastavení Blitzz a migraci dat z databáze Apache Cassandra na Azure Cosmos DB.
Z počítače, do kterého plánujete nainstalovat Blitzz replicant, přidejte certifikát zabezpečení. tento certifikát vyžaduje Blitzz replicant k navázání připojení TLS se zadaným účtem Azure Cosmos DB. Certifikát můžete přidat pomocí následujících kroků:
wget https://cacert.omniroot.com/bc2025.crt mv bc2025.crt bc2025.cer keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cerInstalaci Blitzz a binární soubory můžete získat buď tak, že si vyžádáte ukázku na webu Blitzz. Alternativně můžete také odeslat e-mail týmu.
V terminálu CLI nastavte konfiguraci zdrojové databáze. Otevřete konfigurační soubor pomocí
vi conf/conn/cassandra.ymlpříkazu a přidejte čárkami oddělený seznam IP adres uzlů Cassandra, číslo portu, uživatelské jméno, heslo a další požadované podrobnosti. Následuje příklad obsahu v konfiguračním souboru:type: CASSANDRA host: 172.17.0.2 port: 9042 username: 'cassandra' password: 'cassandra' max-connections: 30
Po vyplnění podrobností konfigurace soubor uložte a zavřete.
Volitelně můžete nastavit soubor filtru zdrojové databáze. Soubor filtru určuje, která schémata nebo tabulky se mají migrovat. Otevřete konfigurační soubor pomocí
vi filter/cassandra_filter.ymlpříkazu a zadejte následující konfigurační údaje:allow: - schema: “io_blitzz” Types: [TABLE]Po vyplnění podrobností filtru databáze uložte a zavřete soubor.
V dalším kroku nastavíte konfiguraci cílové databáze. před definováním konfigurace vytvořte účet Azure Cosmos DB rozhraní API Cassandra a pak vytvořte místo na disku a tabulku pro uložení migrovaných dat. vzhledem k tomu, že migrujete z apache Cassandra na rozhraní API Cassandra v Azure Cosmos DB, můžete použít stejný klíč oddílu, který jste použili s Apache Cassandra.
Před migrací dat zvyšte propustnost kontejneru na množství potřebné k rychlé migraci vaší aplikace. Můžete například zvýšit propustnost na 100000 ru. Škálování propustnosti před zahájením migrace vám pomůže s migrací dat za kratší dobu.
Snižte propustnost po dokončení migrace. Na základě množství uložených dat a ru vyžadovaných pro jednotlivé operace můžete odhadnout propustnost vyžadovanou po migraci dat. další informace o tom, jak odhadovat požadované ru, najdete v tématech zřízení propustnosti pro kontejnery a databáze a odhad RU/s pomocí článků Azure Cosmos DB kapacity pro plánování .
v podokně připojovací řetězec získejte kontaktní bod, Port, uživatelské jméno a primární heslo účtu Azure Cosmos. Tyto hodnoty použijete v konfiguračním souboru.
V terminálu CLI nastavte konfiguraci cílové databáze. Otevřete konfigurační soubor pomocí
vi conf/conn/cosmosdb.ymlpříkazu a přidejte čárkami oddělený seznam identifikátorů URI hostitele, číslo portu, uživatelské jméno, heslo a další požadované parametry. Následující příklad ukazuje obsah konfiguračního souboru:type: COSMOSDB host: '<Azure Cosmos account’s Contact point>' port: 10350 username: 'blitzzdemo' password: '<Your Azure Cosmos account’s primary password>' max-connections: 30Dále migrujte data pomocí Blitzz. Blizz replicant můžete spustit v režimu úplného nebo snímku :
Úplný režim – v tomto režimu se replicant i nadále spouští po migraci a naslouchá jakýmkoli změnám ve zdrojovém systému Apache Cassandra. pokud se nějaké změny zjistí, replikují se v reálném čase do cílového účtu Azure Cosmos.
Režim snímků – v tomto režimu můžete provést migraci schématu a jednorázovou replikaci dat. Replikace v reálném čase není touto možností podporována.
Pomocí předchozích dvou režimů se dá migrace provést bez výpadků.
K migraci dat z terminálu Blitzz replicant CLI spusťte následující příkaz:
./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existingUživatelské rozhraní replicant zobrazuje průběh replikace. Po dokončení operace migrace schématu a snímku se zobrazí průběh 100%. po dokončení migrace můžete ověřit data v cílové databázi Azure Cosmos.
Vzhledem k tomu, že jste použili úplný režim migrace, můžete provádět operace, jako je například vložení, aktualizace nebo odstranění dat ve zdrojové databázi Apache Cassandra. později ověřte, jestli jsou replikované v reálném čase v cílové databázi Azure Cosmos. po dokončení migrace nezapomeňte snížit propustnost nakonfigurovanou pro váš kontejner Azure Cosmos.
Replicant můžete zastavit v jakémkoli bodě a restartovat ho pomocí přepínače --Resume . Replikace se obnoví z bodu, který se zastavil, aniž by došlo k narušení konzistence dat. Následující příkaz ukazuje, jak použít přepínač Resume.
./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
Další informace o migraci dat do cíle v reálném čase najdete v ukázce Blitzz replicant.