Gegevens migreren van Cassandra naar Azure Cosmos DB voor Apache Cassandra-account met behulp van Arcion

VAN TOEPASSING OP: Cassandra

API voor Cassandra in Azure Cosmos DB is om verschillende redenen een uitstekende keuze geworden voor zakelijke workloads die worden uitgevoerd op Apache Cassandra, zoals:

  • Geen overhead voor het beheren en bewaken: Het elimineert de overhead van het beheren en bewaken van talloze instellingen in os-, JVM- en yaml-bestanden en hun interacties.

  • Aanzienlijke kostenbesparingen: U kunt kosten besparen met Azure Cosmos DB, inclusief de kosten van VM's, bandbreedte en eventuele toepasselijke licenties. Bovendien hoeft u de kosten voor datacentra, servers, SSD-opslag, netwerken en elektriciteit niet te beheren.

  • Mogelijkheid om bestaande code en hulpprogramma's te gebruiken: Azure Cosmos DB biedt compatibiliteit op wire-protocolniveau met bestaande Cassandra-SDK's en hulpprogramma's. Deze compatibiliteit zorgt ervoor dat u uw bestaande codebasis kunt gebruiken met Azure Cosmos DB voor Apache Cassandra met kleine wijzigingen.

Er zijn verschillende manieren om databaseworkloads van het ene platform naar het andere te migreren. Arcion is een hulpprogramma dat een veilige en betrouwbare manier biedt om een migratie zonder downtime uit te voeren van andere databases naar Azure Cosmos DB. In dit artikel worden de stappen beschreven die nodig zijn voor het migreren van gegevens van de Apache Cassandra-database naar Azure Cosmos DB voor Apache Cassandra met behulp van Arcion.

Notitie

Dit aanbod van Arcion is momenteel in bètaversie. Neem voor meer informatie contact met hen op via Arcion Support

Voordelen van het gebruik van Arcion voor migratie

De migratieoplossing van Arcion volgt een stapsgewijze benadering voor het migreren van complexe operationele workloads. Hier volgen enkele van de belangrijkste aspecten van het migratieplan zonder downtime van Arcion:

  • Het biedt automatische migratie van bedrijfslogica (tabellen, indexen, weergaven) van de Apache Cassandra-database naar Azure Cosmos DB. U hoeft geen schema's handmatig te maken.

  • Arcion biedt databasereplicatie met een groot volume en parallelle databasereplicatie. Hiermee kunnen zowel het bron- als het doelplatform tijdens de migratie worden gesynchroniseerd met behulp van een techniek met de naam Change-Data-Capture (CDC). Met behulp van CDC haalt Arcion continu een stroom wijzigingen op uit de brondatabase (Apache Cassandra) en past deze toe op de doeldatabase (Azure Cosmos DB).

  • Het is fouttolerant en levert gegevens precies één keer, zelfs tijdens een hardware- of softwarefout in het systeem.

  • Het beveiligt de gegevens tijdens de overdracht met behulp van beveiligingsmethoden zoals TLS, versleuteling.

Stappen voor het migreren van gegevens

In deze sectie worden de stappen beschreven die nodig zijn voor het instellen van Arcion en worden gegevens van de Apache Cassandra-database naar Azure Cosmos DB gemigreerd.

  1. Voeg een beveiligingscertificaat toe vanaf de computer waarop u de Arcion-replicant wilt installeren. Dit certificaat is vereist voor de Arcion-replicant om een TLS-verbinding tot stand te brengen met het opgegeven Azure Cosmos DB-account. U kunt het certificaat toevoegen met de volgende stappen:

    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. U kunt de Arcion-installatie en de binaire bestanden ophalen door een demo aan te vragen op de Arcion-website. U kunt ook een e-mail naar het team verzenden.

    Arcion replicant hulpprogramma downloaden

    Arcion-replicantbestanden

  3. Stel vanuit de CLI-terminal de configuratie van de brondatabase in. Open het configuratiebestand met behulp van vi conf/conn/cassandra.yml de opdracht en voeg een door komma's gescheiden lijst met IP-adressen van de Cassandra-knooppunten, poortnummer, gebruikersnaam, wachtwoord en eventuele andere vereiste details toe. Hier volgt een voorbeeld van inhoud in het configuratiebestand:

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

    Cassandra-verbindingseditor openen

    Configuratie van Cassandra-verbinding

    Nadat u de configuratiegegevens hebt ingevuld, slaat u het bestand op en sluit u het.

  4. U kunt desgewenst het filterbestand van de brondatabase instellen. Het filterbestand geeft aan welke schema's of tabellen moeten worden gemigreerd. Open het configuratiebestand met de vi filter/cassandra_filter.yml opdracht en voer de volgende configuratiegegevens in:

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

    Nadat u de details van het databasefilter hebt ingevuld, slaat u het bestand op en sluit u het.

  5. Vervolgens stelt u de configuratie van de doeldatabase in. Voordat u de configuratie definieert, maakt u een Azure Cosmos DB voor Apache Cassandra-account en maakt u vervolgens een keyspace en een tabel om de gemigreerde gegevens op te slaan. Omdat u migreert van Apache Cassandra naar API voor Cassandra in Azure Cosmos DB, kunt u dezelfde partitiesleutel gebruiken die u hebt gebruikt met Apache cassandra.

  6. Voordat u de gegevens migreert, verhoogt u de doorvoer van de container tot de hoeveelheid die nodig is om uw toepassing snel te migreren. U kunt bijvoorbeeld de doorvoer verhogen tot 100000 RU's. Door de doorvoer te schalen voordat de migratie wordt gestart, kunt u uw gegevens in minder tijd migreren.

    Azure Cosmos DB-container overal schalen

    Verlaag de doorvoer nadat de migratie is voltooid. Op basis van de hoeveelheid opgeslagen gegevens en RU's die voor elke bewerking zijn vereist, kunt u een schatting maken van de vereiste doorvoer na de gegevensmigratie. Zie De artikelen Doorvoer voor containers en databases inrichten enRU/s schatten met behulp van de Azure Cosmos DB-capaciteitsplanner voor meer informatie over het schatten van de vereiste RU's.

  7. Haal het contactpunt, de poort, de gebruikersnaam en het primaire wachtwoord van uw Azure Cosmos DB-account op in het deelvenster Verbindingsreeks . U gebruikt deze waarden in het configuratiebestand.

  8. Stel vanuit de CLI-terminal de configuratie van de doeldatabase in. Open het configuratiebestand met behulp van vi conf/conn/cosmosdb.yml de opdracht en voeg een door komma's gescheiden lijst met host-URI, poortnummer, gebruikersnaam, wachtwoord en andere vereiste parameters toe. In het volgende voorbeeld ziet u de inhoud van het configuratiebestand:

    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. Migreer vervolgens de gegevens met arcion. U kunt de Arcion-replicant uitvoeren in de volledige modus of in de momentopnamemodus :

    • Volledige modus : in deze modus blijft de replicant actief na de migratie en luistert deze naar eventuele wijzigingen in het Apache Cassandra-bronsysteem. Als er wijzigingen worden gedetecteerd, worden deze in realtime gerepliceerd op het Azure Cosmos DB-doelaccount.

    • Momentopnamemodus : in deze modus kunt u schemamigratie en eenmalige gegevensreplicatie uitvoeren. Realtime-replicatie wordt niet ondersteund met deze optie.

    Door de bovenstaande twee modi te gebruiken, kan de migratie zonder downtime worden uitgevoerd.

  10. Als u gegevens wilt migreren, voert u vanuit de replicant CLI-terminal van Arcion de volgende opdracht uit:

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

    De replicerende gebruikersinterface toont de voortgang van de replicatie. Zodra de schemamigratie en momentopnamebewerking zijn voltooid, wordt de voortgang 100% weergegeven. Nadat de migratie is voltooid, kunt u de gegevens in de doeldatabase van Azure Cosmos DB valideren.

    Uitvoer van Cassandra-gegevensmigratie

  11. Omdat u de volledige modus voor migratie hebt gebruikt, kunt u bewerkingen uitvoeren zoals het invoegen, bijwerken of verwijderen van gegevens in de Apache Cassandra-brondatabase. Controleer later of ze in realtime worden gerepliceerd in de doeldatabase van Azure Cosmos DB. Zorg ervoor dat u na de migratie de doorvoer verlaagt die is geconfigureerd voor uw Azure Cosmos DB-container.

  12. U kunt de replicant elk punt stoppen en opnieuw starten met de schakeloptie --resume . De replicatie wordt hervat vanaf het punt dat deze is gestopt, zonder dat dit ten koste gaat van de gegevensconsistentie. De volgende opdracht laat zien hoe u de cv-schakeloptie gebruikt.

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

Zie de arcion replicant-demo voor meer informatie over de gegevensmigratie naar het doel en realtimemigratie.

Volgende stappen