Migrowanie danych z rozwiązania Cassandra do usługi Azure Cosmos DB dla konta apache Cassandra przy użyciu usługi Arcion
DOTYCZY: Cassandra
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 to obciążenie związane z zarządzaniem wieloma ustawieniami i monitorowaniem wielu ustawień w systemach operacyjnych, maszynach JVM i plikach yaml oraz ich interakcjach.
Znaczne oszczędności kosztów: Możesz zaoszczędzić koszt 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ść korzystania z istniejącego kodu i narzędzi: Usługa Azure Cosmos DB zapewnia zgodność na poziomie protokołu przewodowego z istniejącymi zestawami SDK i narzędziami Cassandra. Ta zgodność zapewnia możliwość korzystania z istniejącej bazy kodu z usługą Azure Cosmos DB dla platformy Apache Cassandra z trywialnymi 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 for 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 korzystania z usługi Arcion do migracji
Rozwiązanie migracji usługi Arcion jest zgodne z podejściem krok po kroku do migracji złożonych obciążeń operacyjnych. Poniżej przedstawiono niektóre kluczowe aspekty planu migracji bez przestoju usługi Arcion:
Oferuje automatyczną migrację logiki biznesowej (tabele, indeksy, widoki) z bazy danych Apache Cassandra do usługi Azure Cosmos DB. Nie musisz ręcznie tworzyć schematów.
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 migrowania danych z bazy danych Apache Cassandra do usługi Azure Cosmos DB.
Na komputerze, 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. Certyfikat można dodać, wykonując następujące kroki:
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
Instalację usługi Arcion i pliki binarne można uzyskać, żądając pokazu w witrynie internetowej Arcion. Możesz również wysłać wiadomość e-mail do zespołu.
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
Po wypełnieniu szczegółów konfiguracji zapisz i zamknij plik.
Opcjonalnie można skonfigurować źródłowy plik filtru bazy danych. Plik filtru określa schematy lub tabele do migracji. 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.
Następnie skonfiguruj konfigurację docelowej 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 i tabelę do przechowywania migrowanych 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 został użyty w usłudze Apache cassandra.
Przed migracją danych zwiększ przepływność kontenera do ilości wymaganej do szybkiej migracji aplikacji. Na przykład można zwiększyć przepływność do 100000 jednostek RU. Skalowanie przepływności przed rozpoczęciem migracji pomoże Ci przeprowadzić migrację danych w krótszym czasie.
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 kontenerów i baz danych oraz Szacowanie jednostek RU/s przy użyciu planisty pojemności usługi Azure Cosmos DB .
Pobierz punkt kontaktowy, port, nazwę użytkownika i hasło podstawowe konta usługi Azure Cosmos DB w okienku Parametry połączenia . Te wartości będą używane w pliku konfiguracji.
W terminalu interfejsu wiersza polecenia skonfiguruj konfigurację docelowej 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
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 kontynuuje działanie po migracji i nasłuchuje wszelkich zmian w źródłowym systemie Apache Cassandra. Jeśli wykryje ona jakiekolwiek zmiany, są one replikowane na docelowym koncie usługi Azure Cosmos DB w czasie rzeczywistym.
Tryb migawek — w tym trybie można przeprowadzić migrację schematu i jednorazową replikację danych. Replikacja w czasie rzeczywistym nie jest obsługiwana za pomocą tej opcji.
Przy użyciu powyższych dwóch trybów migracja może być wykonywana z zerowym przestojem.
Aby przeprowadzić migrację danych, uruchom następujące polecenie z terminalu interfejsu wiersza polecenia repliki usługi 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żna zweryfikować dane w docelowej bazie danych usługi Azure Cosmos DB.
Ponieważ do migracji użyto trybu pełnego, możesz 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 zmniejsz przepływność skonfigurowaną dla kontenera usługi Azure Cosmos DB.
Replikator można zatrzymać dowolny punkt i uruchomić go ponownie za pomocą przełącznika --resume . Replikacja jest wznawiana 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.