Habilitar la búsqueda de texto completo en las bases de datos de Neptune existentes - Amazon Neptune

Habilitar la búsqueda de texto completo en las bases de datos de Neptune existentes

Estos son los enfoques establecidos para habilitar la búsqueda de texto completo en bases de datos de Amazon Neptune existentes. Los pasos pueden variar ligeramente en función de si puede o no pausar las cargas de trabajo de escritura. En esta guía se describen los pasos recomendados para ambos escenarios: cuando pueda pausar las escritura y cuando no pueda hacerlo. Incluye la habilitación de las transmisiones de Neptune, la creación de un clon de base de datos, la sincronización de datos con un dominio de OpenSearch y la configuración de actualizaciones continuas. La guía aprovecha los servicios de AWS y las herramientas de código abierto para agilizar el proceso y minimizar el tiempo de inactividad.

Si puede pausar sus cargas de trabajo de escritura

La mejor forma de habilitar la búsqueda de texto completo en una base de datos de Neptune existente suele ser la siguiente, siempre que pueda pausar las cargas de trabajo de escritura. Para ello, es necesario crear un clon, habilitar los flujos mediante un parámetro de clúster y reiniciar todas las instancias. La creación de un clon es una operación relativamente rápida, por lo que el tiempo de inactividad necesario es limitado.

Estos son los pasos necesarios:

  1. Detenga todas las cargas de trabajo de escritura en la base de datos.

  2. Habilite los flujos en la base de datos (consulte Enabling Neptune Streams).

  3. Cree un clon de la base de datos (consulte Database Cloning in Neptune).

  4. Reanude las cargas de trabajo de escritura.

  5. Use la herramienta export-neptune-to-elasticsearch en github para realizar una sincronización única desde la base de datos clonada al dominio de OpenSearch.

  6. Use la plantilla de CloudFormation de su región para iniciar la sincronización desde su base de datos original con una actualización continua (no es necesario cambiar la configuración de la plantilla).

  7. Elimine la base de datos clonada y la pila de CloudFormation creada para la herramienta export-neptune-to-elasticsearch.

nota

export-neptune-to-elasticsearch actualmente no es compatible con Opensearch sin servidor. Las implementaciones que requieren una sincronización única de los datos existentes en Neptune deben usar clústeres administrados de OpenSearch.

Si no puede pausar sus cargas de trabajo de escritura

Si no puede permitirse suspender las cargas de trabajo de escritura en su base de datos, aquí tiene un enfoque que requiere incluso menos tiempo de inactividad que el enfoque recomendado anteriormente, pero debe hacerse con cuidado:

  1. Habilite los flujos en la base de datos (consulte Enabling Neptune Streams).

  2. Cree un clon de la base de datos (consulte Database Cloning in Neptune).

  3. Obtenga el último eventID de los flujos de la base de datos clonada mediante la ejecución de un comando de este tipo en el punto de conexión de la API de flujos (consulte Calling the Neptune Streams REST API para obtener más información):

    curl "https://(your neptune endpoint):(port)/(propertygraph or sparql)/stream?iteratorType=LATEST"

    Anote los valores de los campos commitNum y opNum del objeto lastEventId en la respuesta.

  4. Use la herramienta export-neptune-to-elasticsearch en github para realizar una sincronización única desde la base de datos clonada al dominio de OpenSearch.

  5. Use la plantilla de CloudFormation de su región para iniciar la sincronización desde su base de datos original con una actualización continua.

    Realice el siguiente cambio al crear la pila: en la página de detalles de la pila, en la sección Parámetros, establezca el valor del campo StartingCheckpoint en commitNum:opnum utilizando los valores commitNum y opNum que registró anteriormente.

  6. Elimine la base de datos clonada y la pila de CloudFormation creada para la herramienta export-neptune-to-elasticsearch.