Kurz: migrace dat na účet rozhraní API Cassandra v Azure Cosmos DBTutorial: Migrate your data to Cassandra API account in Azure Cosmos DB

Jako vývojář můžete mít stávající Cassandra úlohy, které běží místně nebo v cloudu, a můžete je chtít migrovat do 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. Tyto úlohy můžete migrovat na účet rozhraní API Cassandra v Azure Cosmos DB.You can migrate such workloads to a Cassandra API account in Azure Cosmos DB. V tomto kurzu najdete informace o různých možnostech, které jsou k dispozici pro migraci dat Apache Cassandra do účtu rozhraní API Cassandra v 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.

Tento kurz se zabývá následujícími úkony:This tutorial covers the following tasks:

  • Plánování migracePlan for migration
  • Požadavky pro migraciPrerequisites for migration
  • Migrace dat pomocí příkazu cqlsh COPYMigrate data using cqlsh COPY command
  • Migrace dat pomocí SparkuMigrate data using Spark

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don’t have an Azure subscription, create a free account before you begin.

Požadavky pro migraciPrerequisites for migration

  • Odhad vašich potřeb propustnosti: Před migrací dat na účet rozhraní API Cassandra v Azure Cosmos DB byste měli odhadnout nároky na propustnost vašich úloh.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. Obecně se doporučuje začít s průměrnou propustností vyžadovanou pro operace CRUD a potom přidat další propustnost požadovanou pro extrakci, transformaci a načítání (ETL) a nárazové operace.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. K naplánování migrace budete potřebovat následující podrobnosti:You need the following details to plan for migration:

    • Velikost stávajících dat nebo odhadovanou velikost dat: Definuje minimální požadavky na velikost a propustnost databáze.Existing data size or estimated data size: Defines the minimum database size and throughput requirement. Při odhadování velikosti dat pro novou aplikaci můžete předpokládat, že data jsou rovnoměrně distribuována mezi řádky, a odhadnout hodnotu vynásobením velikostí dat.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.

    • Požadovaná propustnost: Přibližná míra propustnosti čtení (dotazů/získání) a zápis (aktualizace/odstranění/vložení).Required throughput: Approximate read (query/get) and write (update/delete/insert) throughput rate. Tato hodnota je nutná k výpočtu požadovaných jednotek žádostí (RU) spolu s velikostí dat při stabilním stavu.This value is required to compute the required request units along with steady state data size.

    • Schéma: Připojte se ke stávajícímu clusteru Cassandra prostřednictvím cqlsh a exportujte schéma z 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
      

      Po zjištění požadavků na stávající zatížení byste měli vytvořit účet, databázi a kontejnery Azure Cosmos podle shromážděných požadavků na propustnost.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.

    • Určení poplatků za ru za operaci: Ru můžete určit pomocí kterékoli sady SDK podporované rozhraní API Cassandra.Determine the RU charge for an operation: You can determine the RUs by using any of the SDKs supported by the Cassandra API. Tento příklad ukazuje získání poplatků za RU pro verzi .NET.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}");
        }
      
  • Přidělení požadované propustnosti: Azure Cosmos DB dokáže automaticky škálovat úložiště a propustnost podle vašich rostoucích požadavků.Allocate the required throughput: Azure Cosmos DB can automatically scale storage and throughput as your requirements grow. S odhadem vašich potřeb z hlediska propustnosti vám pomůže kalkulačka jednotek žádostí služby Azure Cosmos DB.You can estimate your throughput needs by using the Azure Cosmos DB request unit calculator.

  • Vytvořte v účtu rozhraní API Cassandra tabulky: Před zahájením migrace dat Představte všechny tabulky z Azure Portal nebo z 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. Pokud migrujete na účet Azure Cosmos, který má propustnost na úrovni databáze, nezapomeňte při vytváření kontejnerů Azure Cosmos zadat klíč oddílu.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.

  • Zvýšená propustnost: Doba trvání migrace dat závisí na propustnosti, kterou pro tabulky v Azure Cosmos DB zřídíte.Increase throughput: The duration of your data migration depends on the amount of throughput you provisioned for the tables in Azure Cosmos DB. Po dobu trvání migrace propustnost zvyšte.Increase the throughput for the duration of migration. Vyšší propustnost vám umožní zabránit omezování rychlosti a zkrátit dobu migrace.With the higher throughput, you can avoid rate limiting and migrate in less time. Po dokončení migrace propustnost snižte, abyste dosáhli nižších nákladů.After you've completed the migration, decrease the throughput to save costs. Doporučuje se také účet Azure Cosmos ve stejné oblasti jako zdrojová databáze.It’s also recommended to have the Azure Cosmos account in the same region as your source database.

  • Povolit protokol TLS: Azure Cosmos DB má přísné požadavky na zabezpečení a standardy.Enable TLS: Azure Cosmos DB has strict security requirements and standards. Při interakci s vaším účtem Nezapomeňte povolit protokol TLS.Be sure to enable TLS when you interact with your account. Při použití CQL s protokolem SSH máte možnost zadat informace o protokolu TLS.When you use CQL with SSH, you have an option to provide TLS information.

Možnosti migrace datOptions to migrate data

Data můžete přesunout data z existujících úloh Cassandra do Azure Cosmos DB pomocí následujících možností:You can move data from existing Cassandra workloads to Azure Cosmos DB by using the following options:

Migrace dat pomocí příkazu cqlsh COPYMigrate data using cqlsh COPY command

Příkaz pro kopírování CQL slouží ke zkopírování místních dat do účtu rozhraní API Cassandra v Azure Cosmos DB.The CQL COPY command is used to copy local data to the Cassandra API account in Azure Cosmos DB. Zkopírujte data provedením následujících kroků:Use the following steps to copy data:

  1. Získejte informace o připojovacím řetězci vašeho účtu rozhraní API Cassandra:Get your Cassandra API account’s connection string information:

    • Přihlaste se k Azure Portala přejděte k účtu Azure Cosmos.Sign in to the Azure portal, and navigate to your Azure Cosmos account.

    • Otevřete podokno Připojovací řetězec, které obsahuje všechny informace potřebné pro připojení k vašemu účtu rozhraní API Cassandra z cqlsh.Open the Connection String pane that contains all the information that you need to connect to your Cassandra API account from cqlsh.

  2. Přihlaste se ke cqhsh pomocí informací o připojení z portálu.Sign in to cqlsh using the connection information from the portal.

  3. Pomocí příkazu CQL COPY zkopírujte místní data do účtu rozhraní API Cassandra.Use the CQL COPY command to copy local data to the Cassandra API account.

    COPY exampleks.tablename FROM filefolderx/*.csv 
    

Migrace dat pomocí SparkuMigrate data using Spark

Pomocí následujících kroků migrujte data na účet rozhraní API Cassandra pomocí Sparku:Use the following steps to migrate data to the Cassandra API account with Spark:

Migrace dat pomocí úloh Spark je doporučená možnost, pokud máte data umístěná v existujícím clusteru na virtuálních počítačích Azure nebo v jakémkoli jiném cloudu.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. Tato možnost vyžaduje, aby Spark byl nastavený jako prostředník pro jednorázovou a běžnou příjemovou dobu.This option requires Spark to be set up as an intermediary for one time or regular ingestion. Tuto migraci můžete zrychlit pomocí připojení Azure ExpressRoute mezi místními počítači a Azure.You can accelerate this migration by using Azure ExpressRoute connectivity between on-premises and Azure.

Vyčištění prostředkůClean up resources

Když už je nepotřebujete, můžete odstranit skupinu prostředků, účet Azure Cosmos a všechny související prostředky.When they're no longer needed, you can delete the resource group, the Azure Cosmos account, and all the related resources. Pokud to chcete udělat, vyberte skupinu prostředků pro virtuální počítač, vyberte Odstranita pak potvrďte název skupiny prostředků, která se má odstranit.To do so, select the resource group for the virtual machine, select Delete, and then confirm the name of the resource group to delete.

Další krokyNext steps

V tomto kurzu jste se naučili, jak migrovat data na účet rozhraní API Cassandra v Azure Cosmos DB.In this tutorial, you've learned how to migrate your data to Cassandra API account in Azure Cosmos DB. Nyní můžete přejít k následujícímu článku a získat informace o dalších Azure Cosmos DB konceptech:You can now proceed to the following article to learn about other Azure Cosmos DB concepts: