Kurz: Migrace dat do rozhraní API Cassandra účtu

PLATÍ PRO: rozhraní API Cassandra

Jako vývojář můžete mít existující úlohy Cassandra, které běží místně nebo v cloudu, a možná je budete chtít migrovat do Azure. Tyto úlohy můžete migrovat do účtu rozhraní API Cassandra ve službě Azure Cosmos DB. Tento kurz obsahuje pokyny k různým dostupným možnostem migrace dat Apache Cassandra do účtu rozhraní API Cassandra ve službě Azure Cosmos DB.

Tento kurz se zabývá následujícími úkony:

  • Plánování migrace
  • Požadavky na migraci
  • Migrace dat pomocí cqlsh COPY příkazu
  • Migrace dat pomocí Sparku

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky na migraci

  • Odhad potřeb propustnosti: Před migrací dat do rozhraní API Cassandra účtu ve službě Azure Cosmos DB byste měli odhadnout požadavky na propustnost vaší úlohy. Obecně platí, že začněte s průměrnou propustností vyžadované operacemi CRUD a potom zahrujte další propustnost požadovanou pro operace extrakce a načítání transformací nebo náprsní operace. K naplánování migrace budete potřebovat následující podrobnosti:

    • Velikost stávajících dat nebo odhadovanou velikost dat: Definuje minimální požadavky na velikost a propustnost databáze. Pokud odhadujete velikost dat pro novou aplikaci, můžete předpokládat, že jsou data rovnoměrně distribuována napříč řádky, a odhadnout hodnotu vynásobením velikostí dat.

    • Požadovaná propustnost: Přibližná míra propustnosti operací čtení (dotazování/získání) a zápisu (aktualizace, odstranění nebo vložení). Tato hodnota se vyžaduje k výpočtu požadovaných jednotek žádosti spolu s daty o stabilním stavu.

    • Schéma: Připojení existujícímu clusteru Cassandra prostřednictvím a cqlsh exportujte schéma z Cassandry:

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

      Jakmile určíte požadavky stávající úlohy, vytvořte účet Azure Cosmos DB, databázi a kontejnery podle shromážděných požadavků na propustnost.

    • Určete poplatek za RU pro operaci: Počet RU můžete určit pomocí kterékoli ze sdk podporovaných rozhraní API Cassandra. Tento příklad ukazuje získání poplatků za RU pro verzi .NET.

      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ů. S odhadem vašich potřeb z hlediska propustnosti vám pomůže kalkulačka jednotek žádostí služby Azure Cosmos DB.

  • V účtu rozhraní API Cassandra tabulky: Než začnete s migrací dat, předem vytvořte všechny tabulky z Azure Portal nebo z cqlsh . Pokud migrujete na účet Azure Cosmos DB s propustností na úrovni databáze, nezapomeňte při vytváření kontejnerů zadat klíč oddílu.

  • Zvýšená propustnost: Doba trvání migrace dat závisí na propustnosti, kterou pro tabulky v Azure Cosmos DB zřídíte. Po dobu trvání migrace propustnost zvyšte. Vyšší propustnost vám umožní zabránit omezování rychlosti a zkrátit dobu migrace. Po dokončení migrace propustnost snižte, abyste dosáhli nižších nákladů. Také doporučujeme mít účet Azure Cosmos DB ve stejné oblasti jako zdrojová databáze.

  • Povolení protokolu TLS: Azure Cosmos DB má přísné požadavky na zabezpečení a standardy. Při interakci s účtem nezapomeňte povolit protokol TLS. Pokud používáte CQL s protokolem SSH, máte možnost zadat informace o protokolu TLS.

Možnosti migrace dat

Data z existujících úloh Cassandra můžete přesunout do Azure Cosmos DB pomocí příkazu cqlsh COPY nebo pomocí Sparku.

Migrace dat pomocí příkazu cqlsh COPY

Pomocí příkazu CQL COPY zkopírujte místní data do rozhraní API Cassandra ve službě Azure Cosmos DB.

  1. Pokud si chcete být jistí, že váš soubor CSV obsahuje správnou strukturu souborů, použijte příkaz k exportu dat přímo ze zdrojové tabulky Cassandra do souboru CSV (ujistěte se, že je cqlsh připojený ke zdrojové tabulce pomocí příslušných přihlašovacích COPY TO údajů):

    COPY exampleks.tablename TO 'data.csv' WITH HEADER = TRUE;   
    
  2. Teď získejte rozhraní API Cassandra připojovacího řetězce účtu vašeho účtu:

    • Přihlaste se k Azure Portala přejděte ke svému účtu Azure Cosmos DB.

    • Otevřete podokno Připojovací řetězec. Tady vidíte všechny informace, které potřebujete pro připojení ke svému účtu rozhraní API Cassandra z cqlsh .

  3. Přihlaste cqlsh se k účtu pomocí informací o připojení z portálu.

  4. Pomocí příkazu CQL COPY FROM zkopírujte data.csv (stále se nachází v kořenovém adresáři uživatele, kde cqlsh je nainstalovaný):

    COPY exampleks.tablename FROM 'data.csv' WITH HEADER = TRUE;
    

Důležité

Podporuje se pouze open source verze nástroje CQLSH COPY pro Apache Cassandra. U Enterprise CQLSH (Datastax Enterprise DSE) může dojít k chybám.

Migrace dat pomocí Sparku

Pomocí následujícího postupu migrujte data do účtu rozhraní API Cassandra pomocí Sparku:

  1. Zřízení clusteru Azure Databricks clusteru nebo Azure HDInsight clusteru.

  2. Přesuňte data do cílového rozhraní API Cassandra koncového bodu. Informace o migraci s Azure Databricks najdete v tomto Azure Databricks.

Migrace dat pomocí úloh Sparku je doporučenou možností, pokud máte data v existujícím clusteru ve virtuálních počítačích Azure nebo jakémkoli jiném cloudu. K tomu je nutné nastavit Spark jako prostředníka pro časový nebo pravidelný příjem dat. Tuto migraci můžete urychlit pomocí Azure ExpressRoute mezi místním prostředím a Azure.

Migrace za provozu

Pokud se vyžaduje migrace bez výpadků z nativního clusteru Apache Cassandra, doporučujeme nakonfigurovat duální zápisy a samostatné hromadné načítání dat pro migraci historických dat. Implementace tohoto modelu je teď jednodušší tím, že poskytuje open source proxy pro duální zápis, který umožňuje minimální změny kódu aplikace. Další podrobnosti o implementaci tohoto modelu najdete v našem článku o migraci za provozu s využitím proxy systému se dvěma Apache Spark a další podrobnosti.

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

Pokud už je nepotřebujete, můžete odstranit skupinu prostředků, účet Azure Cosmos DB a všechny související prostředky. Pokud to chcete udělat, vyberte skupinu prostředků pro virtuální počítač, vyberte Odstranit a potvrďte název skupiny prostředků, která se má odstranit.

Další kroky

V tomto kurzu jste zjistili, jak migrovat data do účtu rozhraní API Cassandra Azure Cosmos DB. V Azure Cosmos DB se teď můžete dozvědět víc o dalších konceptech: