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.
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
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.
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ż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.
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.
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.
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.
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.
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
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.
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.
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.
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
- Aprowizacja przepływności kontenerów i baz danych
- Szacowanie jednostek RU/s przy użyciu artykułów planisty pojemności usługi Azure Cosmos DB