Actualiza las recomendaciones

En esta página, se describen las recomendaciones para actualizar a versiones nuevas desde la base de datos de Cortex Framework personalizada . En cada lanzamiento, el equipo de Cortex se compromete a minimizar las interrupciones mientras agrega funciones nuevas a Cortex Framework. Las actualizaciones nuevas priorizan la retrocompatibilidad. Sin embargo, esta guía te ayuda a minimizar los posibles problemas.

La base de datos de Cortex Framework proporciona un conjunto de contenido y plantillas predefinidos para acelerar el valor de los datos replicados en BigQuery. Las organizaciones adaptan estas plantillas, módulos, SQL, secuencias de comandos de Python, canalizaciones y otro contenido proporcionado para satisfacer sus necesidades.

Componentes centrales

El contenido de la base de datos de Cortex Framework se diseñó con un principio de apertura en mente. Las organizaciones pueden usar las herramientas que mejor les funcionen cuando trabajen con los modelos de datos de BigQuery proporcionados. La única plataforma en la que la base tiene una dependencia estricta es BigQuery. Todas las demás herramientas se pueden intercambiar según sea necesario:

  • Integración de datos: Se puede aprovechar cualquier herramienta de integración que tenga interconectividad con BigQuery, siempre que pueda replicar tablas y estructuras sin procesar. Por ejemplo, las tablas sin procesar deben parecerse al mismo esquema que se creó en SAP (mismos nombres, campos y tipos de datos). Además, la herramienta de integración debe poder proporcionar servicios de transformación básicos, como actualizar los tipos de datos de destino para la compatibilidad con BigQuery, así como agregar campos adicionales, como la marca de tiempo o la marca de operaciones para destacar los registros nuevos y modificados.
  • Procesamiento de datos: Las secuencias de comandos de procesamiento de captura de datos modificados (CDC) proporcionan trabajo con Managed Service for Apache Airflow (o Apache Airflow) son opcionales. Por el contrario, las instrucciones de SQL se producen por separado de los archivos específicos de Airflow siempre que sea posible, de modo que los clientes puedan usar los archivos SQL separados en otra herramienta según sea necesario.
  • Visualización de datos: Si bien se proporcionan plantillas de paneles de Looker y contienen visualizaciones y lógica mínima, la lógica central permanece disponible en la base de datos dentro de BigQuery por diseño para crear visualizaciones con la herramienta de informes que elijan.

Ventajas clave

La base de datos de Cortex Framework está diseñada para adaptarse a diversas necesidades empresariales. Sus componentes se compilan con flexibilidad, lo que permite a las organizaciones adaptar la plataforma a sus requisitos específicos y obtener los siguientes beneficios:

  • Apertura: Se integra sin problemas con varias herramientas de integración, procesamiento y visualización de datos más allá de BigQuery.
  • Personalización: Las organizaciones pueden modificar y expandir componentes precompilados, como las vistas de SQL, para que coincidan con sus modelos de datos y lógica empresarial.
  • Optimización del rendimiento: Las técnicas como la partición, las verificaciones de calidad de los datos y la agrupación en clústeres se pueden ajustar en función de las cargas de trabajo individuales y los volúmenes de datos.
  • Retrocompatibilidad: Cortex se esfuerza por mantener la retrocompatibilidad en versiones futuras, lo que minimiza las interrupciones en las implementaciones existentes. Para obtener información sobre los cambios de versión, consulta las notas de la versión.
  • Contribución de la comunidad: Fomenta el intercambio de conocimientos y la colaboración entre los usuarios.

Proceso de actualización

En las siguientes secciones, se comparten las instrucciones para que los desarrolladores puedan mantener su código actualizado con el repositorio de la base de datos de Cortex Framework y, al mismo tiempo, conservar sus personalizaciones. Uso de las secuencias de comandos de implementación preentregadas en canalizaciones de CI/CD. Sin embargo, las organizaciones pueden emplear herramientas y metodologías alternativas para satisfacer sus preferencias, como Dataform, o herramientas de automatización proporcionadas por los diferentes hosts de Git, como las acciones de GitHub.

Configurar tu repositorio

En esta sección, se describe un enfoque para configurar tu repositorio. Antes de seguir estos pasos, se recomienda tener un conocimiento sólido de Git.

  1. Bifurca el repositorio principal: Crea una bifurcación del repositorio de la base de datos de Cortex Framework. La bifurcación mantiene ese repositorio recibiendo actualizaciones del Google Cloud repositorio y un repositorio separado para el principal de la empresa.

  2. Crea el repositorio de la empresa: Establece un nuevo host de Git para el repositorio de tu empresa (por ejemplo, Cloud Source). Crea un repositorio con los mismos nombres que tu repositorio bifurcado en el host nuevo.

  3. Inicializa el repositorio de la empresa: Copia el código de tu repositorio bifurcado en el repositorio de la empresa recién creado. Agrega el repositorio bifurcado original como un repositorio remoto ascendente con el siguiente comando, y verifica que se haya agregado el repositorio remoto. De esta manera, se establece una conexión entre el repositorio de tu empresa y el repositorio original.

    git remote add google <<remote URL>>
    git remote -v
    git push --all google
    
  4. Verifica la configuración del repositorio: Asegúrate de que el repositorio de tu empresa contenga el código y el historial clonados. Deberías ver los dos repositorios remotos, el origen y el que agregaste después de usar el comando:

    git remote -v:
    

    Ahora tienes el repositorio, el repositorio de la empresa, en el que los desarrolladores pueden enviar sus cambios. Los desarrolladores ahora pueden clonar y trabajar en ramas en el repositorio nuevo.

Combina tus cambios con una nueva versión de Cortex

En esta sección, se describe el proceso de combinación de cambios del repositorio de la empresa y los cambios que provienen del Google Cloud repositorio.

  1. Actualiza las bifurcaciones: Haz clic en Sincronizar bifurcación para actualizar las bifurcaciones de tu repositorio con los cambios del Google Cloud repositorio. Por ejemplo, se realizan los siguientes cambios en el repositorio de la empresa. Y hubo algunos otros cambios en el repositorio de la base de datos por en un nuevo lanzamiento. Google Cloud

    • Se creó y se incorporó el uso de una vista nueva en SQL.
    • Se modificaron las vistas existentes.
    • Se reemplazó una secuencia de comandos por completo con nuestra propia lógica.

    La siguiente secuencia de comandos agrega el repositorio de bifurcación como un repositorio remoto ascendente para extraer la versión actualizada de GitHub y extrae su rama principal como GitHub-main. Luego, en este ejemplo, se extrae la rama principal del repositorio de la empresa en Google Cloud Source y se crea una rama para combinar llamada merging_br.

    git remote add github <<github fork>>
    git fetch github main
    git checkout -b github-main github/main
    git checkout  main
    git checkout -b merging_br
    

    Hay varias formas de compilar este flujo. El proceso de combinación también podría ocurrir en la bifurcación en GitHub, reemplazarse por una nueva base en lugar de una combinación, y la rama de combinación también podría enviarse como una solicitud de combinación. Estas variaciones del proceso dependen de las políticas organizacionales actuales, la profundidad de los cambios y la conveniencia.

    Con esta configuración, puedes comparar los cambios entrantes con tus cambios locales. Se recomienda usar una herramienta en un IDE gráfico de elección para ver los cambios y elegir qué se combina. Por ejemplo, Visual Studio.

    Se recomienda marcar las personalizaciones con comentarios que se destaquen visualmente para facilitar el proceso de diferenciación.

  2. Inicia el proceso de combinación: Usa la rama creada (en este ejemplo, es la rama llamada merging_br) para converger todos los cambios y descartar archivos. Cuando esté listo, puedes volver a combinar esta rama en la rama principal o en otra rama del repositorio de tu empresa para crear una solicitud de combinación. Desde esa rama de combinación que se extrajo de la rama principal del repositorio de tu empresa (git checkout merging_br), combina los cambios entrantes de la bifurcación remota.

        ## git branch -a
        ## The command shows github-main which was created from the GitHub fork
        ## You are in merging_br
    
        git merge github-main
    
        ## If you don't want a list of the commits coming from GitHub in your history, use `--squash`
    

    Este comando genera una lista de conflictos. Usa la comparación gráfica del IDE para comprender los cambios y elegir entre actual, entrante y ambos. Aquí es donde resulta útil tener un comentario en el código sobre las personalizaciones. Elige descartar los cambios por completo, borrar los archivos que no deseas combinar y omitir los cambios en las vistas o secuencias de comandos que ya personalizaste.

  3. Combina los cambios: Después de decidir los cambios que deseas aplicar, revisa el resumen y confírmalos con el comando:

        git status
        ## If something doesn't look right, you can use git rm or git restore accordingly
        git add --all #Or . or individual files
        git commit -m "Your commit message"
    

    Si no te sientes seguro sobre algún paso, consulta Deshacer acciones básicas de Git.

  4. Prueba e implementa: Hasta ahora, solo estás combinando en una rama "temporal". Se recomienda ejecutar una implementación de prueba desde las secuencias de comandos cloudbuild\*.yaml en este punto para asegurarse de que todo se ejecute según lo previsto. Las pruebas automatizadas pueden ayudar a optimizar este proceso. Una vez que esta rama de combinación se vea bien, puedes extraer tu rama de destino principal y combinar la rama merging_br en ella.