Självstudie: Migrera data till ett Cassandra API-konto i Azure Cosmos DBTutorial: Migrate your data to Cassandra API account in Azure Cosmos DB

GÄLLER för: API för Cassandra

Som utvecklare kan du ha befintliga Cassandra-arbetsbelastningar som körs lokalt eller i molnet och du kan vilja migrera dem till Azure.As a developer, you might have existing Cassandra workloads that are running on-premises or in the cloud, and you might want to migrate them to Azure. Du kan migrera sådana arbetsbelastningar till ett Cassandra-API-konto i Azure Cosmos DB.You can migrate such workloads to a Cassandra API account in Azure Cosmos DB. Den här självstudien ger instruktioner för olika alternativ som finns för att migrera Apache Cassandra-data till Cassandra-API-kontot i Azure Cosmos DB.This tutorial provides instructions on different options available to migrate Apache Cassandra data into the Cassandra API account in Azure Cosmos DB.

Den här självstudien omfattar följande uppgifter:This tutorial covers the following tasks:

  • Planera för migreringPlan for migration
  • Krav för migreringPrerequisites for migration
  • Migrera data med hjälp av COPY-kommandot i cqlshMigrate data using cqlsh COPY command
  • Migrera data med SparkMigrate data using Spark

Om du inte har en Azure-prenumeration kan du skapa ett kostnads fritt konto innan du börjar.If you don’t have an Azure subscription, create a free account before you begin.

Krav för migreringPrerequisites for migration

  • Beräkna dina dataflödesbehov: Innan du migrerar data till Cassandra-API-kontot i Azure Cosmos DB bör du beräkna dataflödesbehoven för din arbetsbelastning.Estimate your throughput needs: Before migrating data to the Cassandra API account in Azure Cosmos DB, you should estimate the throughput needs of your workload. I allmänhet rekommenderar vi att du börjar med ett genomsnittligt dataflöde som krävs av CRUD-åtgärderna och att du sedan lägger till det ytterligare dataflödet som krävs för ETL-åtgärder (Extract Transform Load) eller vid belastningstoppar.In general, it's recommended to start with the average throughput required by the CRUD operations and then include the additional throughput required for the Extract Transform Load (ETL) or spiky operations. Du behöver följande information för att planera för migreringen:You need the following details to plan for migration:

    • Befintlig datastorlek eller beräknad datastorlek: Definierar den minsta databasstorleken och det minsta dataflödet som krävs.Existing data size or estimated data size: Defines the minimum database size and throughput requirement. Om du beräknar datastorleken för ett nytt program kan du anta att data är jämnt fördelade över raderna och beräkna värdet genom att multiplicera med datastorleken.If you are estimating data size for a new application, you can assume that the data is uniformly distributed across the rows and estimate the value by multiplying with the data size.

    • Nödvändigt dataflöde: Ungefärlig dataflödeshastighet för läsningar (fråga/hämta) och skrivningar (uppdatera/ta bort/infoga).Required throughput: Approximate read (query/get) and write (update/delete/insert) throughput rate. Det här värdet krävs för att beräkna de nödvändiga enheterna för programbegäran tillsammans med datastorleken för stabilt tillstånd.This value is required to compute the required request units along with steady state data size.

    • Schemat: Anslut till ditt befintliga Cassandra-kluster via cqlsh och exportera schemat från Cassandra:The schema: Connect to your existing Cassandra cluster through cqlsh and export the schema from Cassandra:

      cqlsh [IP] "-e DESC SCHEMA" > orig_schema.cql
      

      När du har identifierat kraven för din befintliga arbetsbelastning bör du skapa ett konto, en databas och containrar för Azure Cosmos baserat på dataflödesbehovet.After you identify the requirements of your existing workload, you should create an Azure Cosmos account, database, and containers according to the gathered throughput requirements.

    • Fastställ RU-avgiften för en åtgärd: Du kan fastställa RU med hjälp av SDK:erna som stöds av Cassandra-API.Determine the RU charge for an operation: You can determine the RUs by using any of the SDKs supported by the Cassandra API. I det här exemplet används .NET-versionen för att hämta RU-kostnaden.This example shows the .NET version of getting RU charges.

      var tableInsertStatement = table.Insert(sampleEntity);
      var insertResult = await tableInsertStatement.ExecuteAsync();
      
      foreach (string key in insertResult.Info.IncomingPayload)
        {
           byte[] valueInBytes = customPayload[key];
           double value = Encoding.UTF8.GetString(valueInBytes);
           Console.WriteLine($"CustomPayload:  {key}: {value}");
        }
      
  • Allokera det nödvändiga dataflödet: Azure Cosmos DB kan automatiskt skala lagringen och dataflödet allteftersom dina behov ökar.Allocate the required throughput: Azure Cosmos DB can automatically scale storage and throughput as your requirements grow. Du kan beräkna dataflödesbehovet med hjälp av RU-kalkylatorn för Azure Cosmos DB.You can estimate your throughput needs by using the Azure Cosmos DB request unit calculator.

  • Skapa tabeller i kontot för Cassandra-API:t: Innan du börjar migrera data skapar du alla dina tabeller i förväg från Azure-portalen eller från cqlsh.Create tables in the Cassandra API account: Before you start migrating data, pre-create all your tables from the Azure portal or from cqlsh. Om du migrerar till ett Azure Cosmos-konto som har dataflöde på databasnivå ser du till att tillhandahålla en partitionsnyckel när du skapar Azure Cosmos-containrar.If you are migrating to an Azure Cosmos account that has database level throughput, make sure to provide a partition key when creating the Azure Cosmos containers.

  • Öka dataflödet: Hur lång tid datamigreringen tar beror på hur stort dataflöde du etablerade för tabellerna i Azure Cosmos DB.Increase throughput: The duration of your data migration depends on the amount of throughput you provisioned for the tables in Azure Cosmos DB. Öka dataflödet under migreringen.Increase the throughput for the duration of migration. Med ett högre dataflöde kan du undvika begränsningar och migrera snabbare.With the higher throughput, you can avoid rate limiting and migrate in less time. När du har slutfört migreringen minskar du dataflödet för att spara kostnader.After you've completed the migration, decrease the throughput to save costs. Vi rekommenderar också att du har ett Azure Cosmos-konto i samma region som din källdatabas.It’s also recommended to have the Azure Cosmos account in the same region as your source database.

  • Aktivera TLS: Azure Cosmos DB har strikta säkerhets krav och standarder.Enable TLS: Azure Cosmos DB has strict security requirements and standards. Se till att aktivera TLS när du interagerar med ditt konto.Be sure to enable TLS when you interact with your account. När du använder CQL med SSH har du ett alternativ för att tillhandahålla TLS-information.When you use CQL with SSH, you have an option to provide TLS information.

Alternativ för att migrera dataOptions to migrate data

Du kan flytta data från befintliga Cassandra-arbetsbelastningar till Azure Cosmos DB med hjälp av följande alternativ:You can move data from existing Cassandra workloads to Azure Cosmos DB by using the following options:

Migrera data med hjälp av COPY-kommandot i cqlshMigrate data using cqlsh COPY command

COPY-kommandot i CQL används för att kopiera lokala data till Cassandra-API-kontot i Azure Cosmos DB.The CQL COPY command is used to copy local data to the Cassandra API account in Azure Cosmos DB. Använd följande steg för att kopiera data:Use the following steps to copy data:

  1. Hämta information om anslutningssträngen för Cassandra-API:ets konto:Get your Cassandra API account’s connection string information:

    • Logga in på Azure-portalen och navigera till ditt Azure Cosmos-konto.Sign in to the Azure portal, and navigate to your Azure Cosmos account.

    • Öppna fönstret Anslutningssträng som innehåller all information som du behöver för att ansluta till kontot för Cassandra-API:et från cqlsh.Open the Connection String pane that contains all the information that you need to connect to your Cassandra API account from cqlsh.

  2. Logga in i cqhsh med hjälp av informationen från portalen.Sign in to cqlsh using the connection information from the portal.

  3. Använd COPY-kommandot i CQL för att kopiera lokala data till kontot för Cassandra-API:et.Use the CQL COPY command to copy local data to the Cassandra API account.

    COPY exampleks.tablename FROM filefolderx/*.csv 
    

Migrera data med SparkMigrate data using Spark

Använd följande steg för att migrera data till Cassandra-API-kontot med Spark:Use the following steps to migrate data to the Cassandra API account with Spark:

Vi rekommenderar att du migrerar data med hjälp av Spark-jobb om du har data som finns i ett befintligt kluster på virtuella Azure-datorer eller i ett annat moln.Migrating data by using Spark jobs is a recommended option if you have data residing in an existing cluster in Azure virtual machines or any other cloud. Det här alternativet kräver att Spark konfigureras som mellanhand för en engångsinmatning eller för regelbunden datainmatning.This option requires Spark to be set up as an intermediary for one time or regular ingestion. Du kan påskynda migreringen med hjälp av Azure ExpressRoute-anslutningar mellan den lokala infrastrukturen och Azure.You can accelerate this migration by using Azure ExpressRoute connectivity between on-premises and Azure.

Rensa resurserClean up resources

Du kan ta bort resursgruppen, Azure Cosmos-kontot och alla relaterade resurser när de inte längre behövs.When they're no longer needed, you can delete the resource group, the Azure Cosmos account, and all the related resources. Om du vill göra detta väljer du resursgruppen för den virtuella datorn. Välj sedan Ta bort och kontrollera namnet på resursgruppen som du vill ta bort.To do so, select the resource group for the virtual machine, select Delete , and then confirm the name of the resource group to delete.

Nästa stegNext steps

I den här självstudien har du lärt dig hur du migrerar data till ett Cassandra-API-konto i Azure Cosmos DB.In this tutorial, you've learned how to migrate your data to Cassandra API account in Azure Cosmos DB. Du kan fortsätta till följande artikel för att få information om andra Azure Cosmos DB-begrepp:You can now proceed to the following article to learn about other Azure Cosmos DB concepts: