Udostępnij za pośrednictwem


Migrowanie danych z bazy danych Cassandra do usługi Azure Cosmos DB dla konta apache Cassandra przy użyciu usługi Arcion

DOTYCZY: Kasandra

Interfejs API dla bazy danych Cassandra w usłudze Azure Cosmos DB stał się doskonałym wyborem dla obciążeń przedsiębiorstwa działających na platformie Apache Cassandra z wielu powodów, takich jak:

  • Brak obciążeń związanych z zarządzaniem i monitorowaniem: eliminuje obciążenie związane z zarządzaniem i monitorowaniem niezliczonych ustawień w systemach operacyjnych, JVM i plikach yaml oraz ich interakcjach.

  • Znaczne oszczędności kosztów: możesz zaoszczędzić koszty dzięki usłudze Azure Cosmos DB, która obejmuje koszty maszyn wirtualnych, przepustowości i wszelkich odpowiednich licencji. Ponadto nie trzeba zarządzać centrami danych, serwerami, magazynem SSD, siecią i kosztami energii elektrycznej.

  • Możliwość używania istniejącego kodu i narzędzi: usługa Azure Cosmos DB udostępnia zgodność na poziomie protokołu przewodowego z istniejącymi zestawami SDK i narzędziami platformy Cassandra. Ta zgodność zapewnia możliwość użycia istniejącej bazy kodu z usługą Azure Cosmos DB dla systemu Apache Cassandra z prostymi zmianami.

Istnieją różne sposoby migrowania obciążeń bazy danych z jednej platformy do innej. Arcion to narzędzie, które oferuje bezpieczny i niezawodny sposób przeprowadzania migracji bez przestojów z innych baz danych do usługi Azure Cosmos DB. W tym artykule opisano kroki wymagane do migracji danych z bazy danych Apache Cassandra do usługi Azure Cosmos DB dla systemu Apache Cassandra przy użyciu usługi Arcion.

Uwaga

Ta oferta firmy Arcion jest obecnie dostępna w wersji beta. Aby uzyskać więcej informacji, skontaktuj się z nimi w pomocy technicznej aplikacji Arcion

Korzyści wynikające z używania usługi Arcion do migracji

Rozwiązanie migracji usługi Arcion jest zgodne z podejściem krok po kroku do migrowania złożonych obciążeń operacyjnych. Poniżej przedstawiono niektóre kluczowe aspekty planu migracji bez przestoju usługi Arcion:

  • Oferuje ona automatyczną migrację logiki biznesowej (tabele, indeksy, widoki) z bazy danych Apache Cassandra do usługi Azure Cosmos DB. Nie trzeba tworzyć schematów ręcznie.

  • Usługa Arcion oferuje replikację bazy danych o dużej ilości i równoległej. Umożliwia synchronizację zarówno platform źródłowych, jak i docelowych podczas migracji przy użyciu techniki o nazwie Change-Data-Capture (CDC). Korzystając z usługi CDC, usługa Arcion stale ściąga strumień zmian ze źródłowej bazy danych (Apache Cassandra) i stosuje go do docelowej bazy danych (Azure Cosmos DB).

  • Jest to odporne na uszkodzenia i zapewnia dokładnie jednokrotne dostarczanie danych nawet podczas awarii sprzętu lub oprogramowania w systemie.

  • Zabezpiecza dane podczas przesyłania przy użyciu metodologii zabezpieczeń, takich jak TLS, szyfrowanie.

Kroki migracji danych

W tej sekcji opisano kroki wymagane do skonfigurowania usługi Arcion i migracji danych z bazy danych Apache Cassandra do usługi Azure Cosmos DB.

  1. Z komputera, na którym planujesz zainstalować replikator Arcion, dodaj certyfikat zabezpieczeń. Ten certyfikat jest wymagany przez replikator arcion do nawiązania połączenia TLS z określonym kontem usługi Azure Cosmos DB. Możesz dodać certyfikat, wykonując następujące czynności:

    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. Możesz pobrać instalację usługi Arcion i pliki binarne, żądając pokazu w witrynie internetowej Arcion. Alternatywnie możesz również wysłać wiadomość e-mail do zespołu.

    Pobieranie narzędzia replikatora arcion

    Pliki replikantów Arcion

  3. W terminalu interfejsu wiersza polecenia skonfiguruj konfigurację źródłowej bazy danych. Otwórz plik konfiguracji przy użyciu vi conf/conn/cassandra.yml polecenia i dodaj rozdzielaną przecinkami listę adresów IP węzłów Cassandra, numer portu, nazwę użytkownika, hasło i inne wymagane szczegóły. Poniżej przedstawiono przykład zawartości w pliku konfiguracji:

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

    Otwórz edytor połączeń Cassandra

    Konfiguracja połączenia bazy danych Cassandra

    Po wypełnieniu szczegółów konfiguracji zapisz i zamknij plik.

  4. Opcjonalnie możesz skonfigurować źródłowy plik filtru bazy danych. Plik filtru określa, które schematy lub tabele mają być migrowane. Otwórz plik konfiguracji przy użyciu vi filter/cassandra_filter.yml polecenia i wprowadź następujące szczegóły konfiguracji:

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

    Po wypełnieniu szczegółów filtru bazy danych zapisz i zamknij plik.

  5. Następnie skonfigurujesz docelową konfigurację bazy danych. Przed zdefiniowaniem konfiguracji utwórz konto usługi Azure Cosmos DB dla bazy danych Apache Cassandra, a następnie utwórz przestrzeń kluczy oraz tabelę do przechowywania zmigrowanych danych. Ponieważ migrujesz z bazy danych Apache Cassandra do interfejsu API dla bazy danych Cassandra w usłudze Azure Cosmos DB, możesz użyć tego samego klucza partycji, który był używany z bazą danych Apache cassandra.

  6. Przed migracją danych zwiększ przepływność kontenera do ilości wymaganej do szybkiej migracji aplikacji. Można na przykład zwiększyć przepływność do 100000 jednostek RU. Skalowanie przepływności przed rozpoczęciem migracji ułatwi migrowanie danych w krótszym czasie.

    Skalowanie kontenera usługi Azure Cosmos DB w całym

    Zmniejsz przepływność po zakończeniu migracji. Na podstawie ilości przechowywanych danych i jednostek RU wymaganych dla każdej operacji można oszacować przepływność wymaganą po migracji danych. Aby dowiedzieć się więcej na temat szacowania wymaganych jednostek RU, zobacz Aprowizowanie przepływności dla kontenerów i baz danych oraz Szacowanie jednostek RU/s przy użyciu planisty pojemności usługi Azure Cosmos DB.

  7. Pobierz punkt kontaktu, port, nazwę użytkownika i hasło podstawowe konta usługi Azure Cosmos DB z okienka Parametry połączenia. Użyjesz tych wartości w pliku konfiguracji.

  8. W terminalu interfejsu wiersza polecenia skonfiguruj docelową konfigurację bazy danych. Otwórz plik konfiguracji przy użyciu vi conf/conn/cosmosdb.yml polecenia i dodaj rozdzielaną przecinkami listę identyfikatorów URI hosta, numer portu, nazwę użytkownika, hasło i inne wymagane parametry. Poniższy przykład przedstawia zawartość pliku konfiguracji:

    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. Następnie zmigruj dane przy użyciu usługi Arcion. Replikator Arcion można uruchomić w trybie pełnym lub migawki :

    • Tryb pełny — w tym trybie replikator nadal działa po migracji i nasłuchuje wszelkich zmian w źródłowym systemie Apache Cassandra. Jeśli wykryje jakiekolwiek zmiany, są one replikowane na docelowym koncie usługi Azure Cosmos DB w czasie rzeczywistym.

    • Tryb migawki — w tym trybie można przeprowadzić migrację schematu i jednorazową replikację danych. Replikacja w czasie rzeczywistym nie jest obsługiwana w przypadku tej opcji.

    Korzystając z powyższych dwóch trybów, migrację można wykonać z zerowym przestojem.

  10. Aby przeprowadzić migrację danych, uruchom następujące polecenie z terminalu interfejsu wiersza polecenia replikatora arcion:

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

    Interfejs użytkownika replikatora pokazuje postęp replikacji. Po zakończeniu migracji schematu i operacji migawki postęp pokazuje 100%. Po zakończeniu migracji możesz zweryfikować dane w docelowej bazie danych usługi Azure Cosmos DB.

    Dane wyjściowe migracji danych bazy danych Cassandra

  11. Ponieważ do migracji użyto trybu pełnego, można wykonywać operacje, takie jak wstawianie, aktualizowanie lub usuwanie danych w źródłowej bazie danych Apache Cassandra. Później sprawdź, czy są replikowane w czasie rzeczywistym w docelowej bazie danych usługi Azure Cosmos DB. Po migracji upewnij się, że zmniejszysz przepływność skonfigurowaną dla kontenera usługi Azure Cosmos DB.

  12. Replikator może zatrzymać dowolny punkt i ponownie uruchomić go za pomocą przełącznika --resume . Replikacja zostanie wznowiona od momentu zatrzymania bez naruszania spójności danych. Poniższe polecenie pokazuje, jak używać przełącznika wznawiania.

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

Aby dowiedzieć się więcej na temat migracji danych do miejsca docelowego, migracji w czasie rzeczywistym, zobacz pokaz replikatora Arcion.

Następne kroki