Utilizzo di un cluster del servizio OpenSearch di Amazon come destinazione per AWS Database Migration Service - AWS Servizio di migrazione del Database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di un cluster del servizio OpenSearch di Amazon come destinazione per AWS Database Migration Service

È possibile utilizzare AWS DMS per migrare i dati nel servizio OpenSearch di Amazon (servizio OpenSearch). OpenSearch è un servizio gestito che consente di implementare, utilizzare e dimensionare i cluster del servizio OpenSearch.

Nel servizio OpenSearch è possibile utilizzare indici e documenti. Un indice è una raccolta di documenti e un documento è un oggetto JSON contenente valori scalari, matrici e altri oggetti. OpenSearch fornisce un linguaggio di query basato su JSON, in modo da poter eseguire le query sui dati di un indice e recuperare i documenti corrispondenti.

Quando AWS DMS crea gli indici per un endpoint di destinazione del servizio OpenSearch, viene creato un indice per ogni tabella dall'endpoint di origine. Il costo per la creazione di un indice del servizio OpenSearch dipende da diversi fattori. Tali fattori sono il numero di indici creati, la quantità totale di dati in questi indici e la piccola quantità di metadati che OpenSearch archivia per ogni documento.

Configura il cluster del servizio OpenSearch con risorse di calcolo e storage appropriate per l'ambito della migrazione. È consigliabile considerare i seguenti fattori, a seconda dell'attività di replica che desideri utilizzare:

  • Per un caricamento di dati completo, considera la quantità totale di dati da migrare, nonché la velocità del trasferimento.

  • Per la replica di modifiche in corso, considera la frequenza degli aggiornamenti e i requisiti di latenza end-to-end.

Inoltre, configura le impostazioni dell'indice sul cluster OpenSearch, prestando molta attenzione al conteggio dei documenti.

Impostazioni attività a pieno carico multithread

Per contribuire ad aumentare la velocità di trasferimento, AWS DMS supporta il pieno carico multithread su un cluster di destinazione del servizio OpenSearch. AWS DMS supporta questo multithreading con le seguenti impostazioni delle attività:

  • MaxFullLoadSubTasks: imposta questa opzione per indicare il numero massimo di tabelle da caricare in parallelo. DMS consente di caricare ogni tabella nell’indice di destinazione del servizio OpenSearch corrispondente utilizzando una attività secondaria dedicata. Il valore predefinito è 8; il valore il massimo è 49.

  • ParallelLoadThreads: imposta questa opzione per specificare il numero di thread che AWS DMS utilizza per caricare ogni tabella in un indice di destinazione del servizio OpenSearch. Il valore massimo per una destinazione del servizio OpenSearch è 32. Puoi chiedere che questo limite massimo venga aumentato.

    Nota

    Se non si modifica il valore predefinito di ParallelLoadThreads (0), AWS DMS trasferisce un singolo record alla volta. Questo approccio pone un carico non richiesto nel cluster del servizio OpenSearch. Assicurati di impostare questa opzione per 1 o più.

  • ParallelLoadBufferSize: imposta questa opzione per specificare il numero massimo di record da archiviare nel buffer utilizzato dai thread di caricamento parallelo per caricare i dati nella destinazione del servizio OpenSearch. Il valore predefinito è 50. Il valore massimo è 1.000. Utilizzare questo parametro con ParallelLoadThreads; ParallelLoadBufferSize è valido solo quando è presente più di un thread.

Per ulteriori informazioni su come DMS consente di caricare un cluster del servizio OpenSearch utilizzando il multithreading, consulta il post del blog AWS Scale Amazon OpenSearch Service for AWS Database Migration Service migrations.

Impostazioni attività di carico CDC multithread

È possibile migliorare le prestazioni dell'acquisizione dei dati di modifica (CDC) per un cluster di destinazione del servizio OpenSearch utilizzando le impostazioni delle attività per modificare il comportamento della chiamata API PutRecords. A tale scopo, è possibile specificare il numero di thread simultanei, di code per thread e di record da memorizzare in un buffer utilizzando le impostazioni delle attività ParallelApply*. Ad esempio, si supponga di voler eseguire un carico CDC e applicare 32 thread in parallelo. Si desidera inoltre accedere a 64 code per thread, con 50 record memorizzati per buffer.

Nota

Il supporto per l'uso delle impostazioni delle attività ParallelApply* durante la CDC negli endpoint di destinazione del servizio OpenSearch di Amazon è disponibile in AWS DMS 3.4.0 e versioni successive.

Per promuovere le prestazioni del CDC, AWS DMS supporta le seguenti impostazioni di attività:

  • ParallelApplyThreads: specifica il numero di thread simultanei utilizzati da AWS DMS durante un carico CDC per eseguire il push di record di dati a un endpoint di destinazione del servizio OpenSearch. Il valore predefinito è zero (0) e il valore massimo è 32.

  • ParallelApplyBufferSize: specifica il numero massimo di record da archiviare in ogni coda di buffer per il push di thread simultanei a un endpoint di destinazione del servizio OpenSearch durante un carico CDC. Il valore predefinito è 100 e il valore massimo è 1.000. Utilizzare questa opzione quando ParallelApplyThreads specifica più di un thread.

  • ParallelApplyQueuesPerThread: specifica il numero di code a cui ogni thread accede per eliminare i record di dati dalle code e generare un carico batch per un endpoint del servizio OpenSearch durante CDC.

Quando si utilizzano le impostazioni delle attività ParallelApply*, l'impostazione di partition-key-type predefinita è la primary-key della tabella, non schema-name.table-name.

Migrazione da una tabella di database relazionale a un indice del servizio OpenSearch

AWS DMS supporta la migrazione dei dati a tipi di dati scalari del servizio OpenSearch. Durante la migrazione da un database relazionale, ad esempio Oracle o MySQL, al servizio OpenSearch, potresti voler ristrutturare il modo in cui vengono archiviati i dati.

AWS DMS supporta i seguenti tipi di dati scalari del servizio OpenSearch:

  • Boolean

  • Data

  • Float

  • Int

  • Stringa

AWS DMS converte i dati di tipo Date nel tipo String. Puoi specificare la mappatura personalizzata per interpretare queste date.

AWS DMS non supporta la migrazione dei tipi di dati LOB.

Prerequisiti per l'utilizzo del servizio OpenSearch di Amazon come destinazione per AWS Database Migration Service

Prima di iniziare a utilizzare un database del servizio OpenSearch come destinazione per AWS DMS, è necessario creare un ruolo AWS Identity and Access Management (IAM). Questo ruolo deve consentire a AWS DMS di accedere agli indici del servizio OpenSearch sull'endpoint di destinazione. Nella seguente policy IAM viene mostrato il set minimo di autorizzazioni di accesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Il ruolo utilizzato per la migrazione al servizio OpenSearch deve disporre delle seguenti autorizzazioni.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpDelete", "es:ESHttpGet", "es:ESHttpHead", "es:ESHttpPost", "es:ESHttpPut" ], "Resource": "arn:aws:es:region:account-id:domain/domain-name/*" } ] }

Nell'esempio precedente, sostituisci region con l'identificatore della regione AWS, account-id con l'ID dell'account AWS e domain-name con il nome del dominio del servizio OpenSearch di Amazon. Un esempio è arn:aws:es:us-west-2:123456789012:domain/my-es-domain

Impostazioni dell'endpoint quando si utilizza il servizio OpenSearch come destinazione per AWS DMS

È possibile utilizzare le impostazioni degli endpoint per configurare il database di destinazione del servizio OpenSearch in modo simile a come si usano gli attributi aggiuntivi di connessione. Le impostazioni vengono specificate quando si crea l'endpoint di destinazione utilizzando la console AWS DMS o il comando create-endpoint nella AWS CLI, con la sintassi JSON --elasticsearch-settings '{"EndpointSetting": "value", ...}'.

Nella tabella seguente vengono elencate le impostazioni degli endpoint che è possibile utilizzare con il servizio OpenSearch come destinazione.

Nome attributo Valori validi Valore predefinito e descrizione

FullLoadErrorPercentage

Un numero intero positivo maggiore di 0 ma non superiore a 100.

10 - Per un'attività di caricamento completo, questo attributo determina la soglia di errori consentita prima che l'attività abbia esito negativo. Ad esempio, supponiamo che vi siano 1.500 righe sull'endpoint di origine e che questo parametro sia impostato su 10. Quindi, l'attività ha esito negativo se AWS DMS rileva più di 150 errori (10 percento del conteggio di righe) quando si esegue l'operazione di scrittura sull'endpoint di destinazione.

ErrorRetryDuration

Un numero intero positivo maggiore di 0.

300 - Se si verifica un errore sull'endpoint di destinazione, AWS DMS tenta di nuovo per questo numero di secondi. In caso contrario, l'attività ha esito negativo.

Limitazioni all'utilizzo del servizio OpenSearch di Amazon come destinazione per AWS Database Migration Service

Quando si utilizza il servizio OpenSearch di Amazon come destinazione si applicano le seguenti limitazioni:

  • Il servizio OpenSearch utilizza la mappatura dinamica (stima automatica) per determinare i tipi di dati da utilizzare per i dati migrati.

  • Il servizio OpenSearch archivia ogni documento con un ID univoco. Di seguito è riportato un ID di esempio.

    "_id": "D359F8B537F1888BC71FE20B3D79EAE6674BE7ACA9B645B0279C7015F6FF19FD"

    Ogni ID documento è lungo 64 byte, quindi è possibile prevedere questo valore come requisito di storage. Ad esempio, se esegui la migrazione di 100.000 righe da un'origine AWS DMS, l'indice del servizio OpenSearch risultante richiede uno spazio di storage per ulteriori 6.400.000 byte.

  • Con il servizio OpenSearch non puoi effettuare aggiornamenti agli attributi di chiave primaria. Questa restrizione è importante quando si utilizza la replica continua con l'acquisizione dei dati di modifica (CDC), perché può causare la presenza di dati indesiderati nella destinazione. In modalità CDC, le chiavi primarie sono mappate ai valori SHA256, che sono lunghi 32 byte. Questi vengono convertiti in stringhe a 64 byte leggibili e sono utilizzati come ID documento del servizio OpenSearch.

  • Se AWS DMS rileva voci che non possono essere migrate, scrive e invia i messaggi di errore a File di log Amazon CloudWatch. Questo comportamento differisce da quello di altri endpoint di destinazione AWS DMS, che scrivono gli errori in una tabella di eccezioni.

  • AWS DMS non supporta la connessione a un cluster Amazon ES con controllo granulare degli accessi abilitato con utente master e password.

  • AWS DMS non supporta il servizio OpenSearch serverless.

  • Il servizio OpenSearch non supporta la scrittura di dati in indici preesistenti.

Tipi di dati di destinazione per il servizio OpenSearch di Amazon

Quando AWS DMS esegue la migrazione dei dati da database eterogenei, il servizio mappa i tipi di dati dal database di origine ai tipi di dati intermedi, denominati tipi di dati AWS DMS. Il servizio mappa quindi i tipi di dati intermedi ai tipi di dati di destinazione. La seguente tabella mostra ciascun tipo di dati AWS DMS e il tipo di dati a cui viene mappato nel servizio OpenSearch.

Tipo di dati AWS DMS Tipo di dati del servizio OpenSearch

Boolean

booleano

Data

stringa

Orario

date

Timestamp

date

INT4

integer

Real4

float

UINT4

integer

Per ulteriori informazioni sui tipi di dati AWS DMS, consulta Tipi di dati per AWS Database Migration Service.