Yellowfin Evaluation Guide
Yellowfin is used for both enterprise analytics and embedded analytics use cases and for building bespoke analytical applications. Use this guide to ensure Yellowfin is the right technical fit for your requirements.
Visión general del despliegue
-
In this section
Updated 25 mayo 2020 -
Visión general
¿Qué opciones de despliegue admite Yellowfin?
Yellowfin es una plataforma agnóstica: puedes implantarla donde quieras. Esto incluye in situ o en la nube. Puedes elegir el sistema operativo que quieras, siempre que admita una JVM. También tienes una amplia gama de opciones para la base de datos de configuración.
Muchos clientes optan por desplegar Yellowfin utilizando tecnologías de contenedores como Docker.¿Qué proveedores en la nube puedo utilizar con Yellowfin?
Yellowfin trabajará con los principales proveedores de la nube, como AWS, Azure, GCP y otros.
-
Entornos
¿En qué plataformas funciona Yellowfin?
Yellowfin puede instalarse en ordenadores de sobremesa o portátiles basados en Windows, Linux o Mac OSX para fines de evaluación o formación, e instalarse en servidores basados en Windows, Linux o Mac OSX para fines de evaluación, formación y producción.
Lectura adicional:
¿Cuánta capacidad necesitaré y cuáles son los requisitos previos?
-
Bases de datos
¿Dónde almacena Yellowfin los datos de configuración?
Los datos de configuración se almacenan en la base de datos Yellowfin, esta base de datos se crea como parte del proceso de instalación estándar. En la instalación, defines la ubicación, el tipo y los detalles de conexión de esta base de datos.
¿Qué opciones de base de datos tengo?
La configuración de Yellowfin puede alojarse en diversas bases de datos
-
En la nube y en las instalaciones
¿Qué plataformas en la nube admite Yellowfin?
Yellowfin trabajará con los principales proveedores de la nube, como AWS, Azure, GCP y otros.
¿Puedo elegir la ejecución in situ?
Yellowfin puede desplegarse en cualquier entorno, ya que es independiente del sistema operativo y autoalojado. Puede ir desde servidores físicos en una red interna privada, hasta servicios de contenedores en la nube altamente dinámicos como AWS ECS o Kubernetes.
¿Cómo soporta Yellowfin Docker y la contenedorización?
En las implementaciones Docker, el propio contenedor contendrá servidores de aplicaciones individuales que actúan como nodos de clúster, comunicándose con una base de datos de configuración estática (a menudo ubicada en algo como AWS RDS). A continuación, la aplicación se escala horizontalmente desplegando contenedores adicionales.
-
Alojamiento
Hay disponible un servicio de alojamiento totalmente gestionado para Yellowfin en todas las regiones. Los servicios de alojamiento te permiten desplegar Yellowfin rápidamente, sin el coste y la distracción de contratar o formar a tu propio personal. Ponte en contacto con tu representante de Yellowfin para obtener más información.
-
Despliegues regionales y sincronización
¿Cómo puedo desplegar Yellowfin en regiones geográficamente distintas? ¿Qué modelos son compatibles?
Es posible el despliegue global de Yellowfin, en varios modelos de implantación distintos.
Para permitir la administración local de usuarios y grupos, pueden desplegarse regionalmente instancias separadas de Yellowfin que den acceso al mismo contenido de informes. Esto requiere la sincronización del contenido entre instancias. Los administradores locales pueden gestionar los usuarios locales y su acceso al contenido compartido.
Se puede desplegar una única instancia global de Yellowfin en una región central, pero con puntos de entrada regionales separados. Cada punto de entrada almacena en caché el contenido estático de la región, y sólo reenvía al servidor las solicitudes de contenido dinámico. Tener una única instancia central (que podría estar agrupada en el mismo centro de datos) significa que no es necesario migrar contenidos y que las actualizaciones son relativamente sencillas. Los puntos de entrada globales en este modelo pueden implementarse con un servidor web con reglas específicas de proxy y caché. Los servicios DNS basados en la ubicación pueden dirigir a los usuarios al punto de entrada regional más cercano cuando utilicen una URL común.
También es posible implementar un clúster global de Yellowfin con servidores de aplicaciones posicionados regionalmente, con copias locales de la base de datos del repositorio de Yellowfin. Este método de despliegue se basa en un clúster de base de datos multiescritura, que permite que los nodos distribuidos de Yellowfin compartan la misma base de datos de repositorio. Yellowfin admite la base de datos de repositorios TiDB para este tipo de despliegue.
-
Internacionalización
¿Admite Yellowfin implantaciones multilingües?
Yellowfin admite implantaciones multilingües en las que diferentes usuarios pueden utilizar idiomas específicos dentro de la misma instancia. La selección de idioma del usuario puede heredarse de su navegador de Internet, o mediante la configuración del perfil dentro de la aplicación.
¿Admite Yellowfin juegos de caracteres de doble Byte?
Sí, la interfaz Yellowfin está habilitada para doble byte. Los usuarios también pueden elegir conjuntos de fuentes específicos para la exportación de contenidos, por ejemplo a PDF, para garantizar que se generan contenidos legibles.
¿Qué idiomas admite Yellowfin desde el principio?
Por ahora se admiten las siguientes lenguas:
- Inglés
- Español
- Francés
- Japonés
- Chino simplificado
- Alemán
- Portugués de Brasil
- Italiano
- Holandés
Consulta nuestra oferta de asistencia para estar al día
¿Puedo traducir el contenido dinámicamente en función de la lengua preferida del usuario?
Yellowfin dispone de un mecanismo para que el contenido se traduzca a los idiomas soportados por la instancia de la aplicación. Esto permite que los metadatos del contenido, como los Títulos de los Informes, las Descripciones de los Informes y los Nombres de los Campos, se muestren en el idioma preferido del usuario. La traducción de este contenido puede realizarse mediante un proceso de exportación/importación masiva.
¿Se pueden modificar dinámicamente los formatos de fecha para adaptarlos a la configuración regional del usuario?
Sí, los formatos de fecha se pueden representar de forma diferente para adaptarse a su localización y preferencias personales.
¿Puedo cambiar dinámicamente las unidades de medida (por ejemplo, de millas a km) en función del perfil de un usuario?
Sí, puedes crear filtros dinámicos en la capa de metadatos y aplicarlos a las tablas para que, en función del usuario, puedas mostrar las métricas en el formato que prefiera.
Puede utilizarse para:
Convertir importes de ventas en la moneda preferida de una persona
Convertir volumen o distancia en sus formatos preferidos, etc.¿Qué elementos de Yellowfin pueden configurarse para cada región aplicable?
Yellowfin permite traducir los metadatos de fuentes de datos, informes, cuadros de mando y vistas a los idiomas admitidos. Otros ajustes regionales permiten configurar la zona horaria y los formatos de fecha y hora en función de la configuración regional del usuario.
-
Alta disponibilidad
¿Cómo puedo agrupar Yellowfin en clústeres para garantizar una alta disponibilidad?
Yellowfin puede agruparse en clusters superponiendo varios servidores de aplicaciones sobre una única base de datos de configuración compartida. Los nodos de aplicación pueden residir donde tú elijas, siempre que puedan comunicarse entre sí. Además, es posible configurar cada nodo del cluster para que ejecute tareas específicas, lo que te permite dedicar servidores a procesos con muchos recursos, como señales o difusiones.
Lectura adicional:
Yellowfin Recuperación de Catástrofes
¿Cómo funciona la concesión de licencias?
Yellowfin proporciona un único archivo de licencia que se carga a través de la interfaz de usuario de la aplicación (también es posible hacerlo a través de WS). Una vez aplicada la licencia, los parámetros de licencia se almacenan en la base de datos de configuración compartida. Cuando nuevos nodos de la aplicación se conectan a esa base de datos, se comparan con la licencia almacenada.
-
Actualizaciones
¿Con qué frecuencia publica Yellowfin nuevas versiones?
Yellowfin publica actualizaciones «menores» de la aplicación trimestralmente y actualizaciones «mayores» de la versión anualmente. Las versiones menores contienen pequeñas mejoras, cambios y correcciones, mientras que las versiones mayores incluyen cambios más importantes en forma de funciones nuevas o modificadas.
¿Cómo gestiona Yellowfin las actualizaciones?
Como solución autoalojada, las actualizaciones las programas y gestionas tú. Las actualizaciones se realizan descargando una aplicación ejecutable del sitio web de Yellowfin y apuntando esa aplicación a tu instalación actual de Yellowfin, donde realizará automáticamente las actualizaciones necesarias de esquemas y aplicaciones.
¿Cuáles son las mejores prácticas para gestionar las actualizaciones?
Cuando realices una actualización, te recomendamos que primero pruebes el proceso en un entorno de desarrollo. Aunque las actualizaciones de Yellowfin suelen realizarse sin problemas, esto te dará la oportunidad de examinar cualquier cambio y limitar el acceso a las nuevas funciones antes de su lanzamiento a tu comunidad general de usuarios.
También te recomendamos que primero hagas una copia de seguridad tanto de la base de datos de configuración como del servidor de aplicaciones, ya que esto nos permitirá revertirla fácilmente si fuera necesario.
Tengo un entorno en clúster 24×7, ¿cómo puedo actualizar sin que se produzca una interrupción?
En un servidor de un solo nodo, es necesario apagar la aplicación Yellowfin antes de actualizar. Sin embargo, en un entorno en clúster, podemos ofrecer actualizaciones sin tiempo de inactividad, haciendo rodar la actualización por los nodos de la aplicación. Manteniendo dos copias de la base de datos de configuración, una en cada versión, podemos apagar y encender los nodos constantemente, migrando/actualizándolos a la versión más reciente, sin que los usuarios se den cuenta.
-
Depuración y auditoría
Como solución autogestionada, es necesario que nuestros clientes tengan una visión clara de lo que ocurre en su instancia, y de dónde buscar cuando las cosas van mal. Para facilitar esto, Yellowfin proporciona varios recursos tanto dentro como fuera de la aplicación.
Seguimiento del uso
La base de datos de configuración de Yellowfin mantiene un registro no sólo del contenido y los usuarios que existen actualmente en la aplicación, sino también de los eventos que se han producido. Consultando esta base de datos podemos obtener una imagen clara de cómo se está utilizando la aplicación.
Para ello, Yellowfin proporciona un conjunto importable de «Contenido de auditoría», que es esencialmente una colección de vistas e informes preconstruidos diseñados para responder a las preguntas más comunes que un administrador típico de Yellowfin puede tener de su instancia:
- ¿Qué informes son los más populares?
- ¿Cuántos usuarios se han conectado hoy?
- ¿Qué contenidos se han creado y eliminado recientemente?
- A qué tablas y columnas tiene/ha tenido acceso un usuario concreto
Tengo datos sensibles, ¿puedo obtener un registro de todos los datos a los que ha tenido acceso un usuario?
Por defecto, Yellowfin no almacenará ningún dato de informe. Sin embargo, es posible configurar Yellowfin para que almacene el conjunto de resultados de cada informe que se haya ejecutado junto con un registro de qué usuario lo ejecutó y a qué hora, proporcionándote un historial de auditoría claro de todas las transacciones de datos.
¿Qué métricas del servidor debo controlar para escalar el servidor Yellowfin?
Al escalar la aplicación Yellowfin, necesitas controlar dos métricas principales:
CPU – Cada proceso en Yellowfin consumirá un hilo, por lo que el número de procesos que pueden ejecutarse en un momento dado viene determinado por el número de hilos disponibles en la CPU. Cuantos más usuarios haya en la aplicación, más hilos consumirán sus actividades. Esto se reflejará directamente en el uso de CPU del servidor. Una vez que el uso de la CPU se acerque a su límite, las peticiones adicionales se retrasarán, y los usuarios notarán un fuerte descenso en el rendimiento.
Memoria – Muchos procesos de Yellowfin consumen memoria de la aplicación, proporcional al tamaño de los datos que se procesan y a la cantidad de trabajo que hay que hacer con esos datos. A medida que Yellowfin se acerque al límite de la memoria asignada a la JVM, tendrá que trabajar más para liberar espacio para procesos adicionales, y puede llegar a bloquearse.
Control del rendimiento
El rendimiento en Yellowfin se compone de varios factores diferentes, por lo que supervisar el rendimiento significa examinar cada uno de estos componentes individualmente
¿Cómo de rápidos son los informes de Yellowfin?
Como aplicación de lectura principalmente directa, la velocidad de un informe Yellowfin se basa en gran medida en dos factores:
- Cuánto tarda la consulta
Cada ejecución de informe consistirá en al menos una consulta a la base de datos, y el tiempo que tarde la base de datos en procesar la consulta influirá directamente en el tiempo que tarde en renderizarse en Yellowfin. - Cómo de grande es el conjunto de resultados y cuánto postprocesamiento se produce en ese conjunto de resultados
El postprocesamiento de un informe tras la devolución de la consulta, como las funciones avanzadas y los gráficos, se realiza en Java y consumirá recursos en el servidor adecuados a la complejidad de ese informe.
¿Cómo controlo los informes que se están ejecutando?
El contenido de auditoría de Yellowfin contiene varios informes útiles que pueden utilizarse para supervisar y optimizar el uso de los informes. Esto incluye un registro de cada informe ejecutado junto con información clave relativa a esa ejecución, incluyendo cuántas filas devolvió y cuánto tiempo tardó en procesarse la consulta.
¿Cómo puedo evitar que los usuarios creen consultas de larga duración que consuman muchos recursos?
Para evitar consultas de larga duración, puedes establecer un tiempo de espera en tu base de datos. Por defecto es de 3 minutos.
Para evitar conjuntos de resultados excesivamente grandes, puedes poner un límite de filas a todas las consultas de esa base de datos.
La mayoría de los contenidos también pueden crearse con «datos ficticios» en lugar de datos reales, lo que limita el número de veces que hay que ejecutar la consulta del informe.
Lee más sobre las restricciones de las fuentes de datos aquí
¿Se pueden programar tareas en segundo plano para que se ejecuten en horas de poco uso?
Todas las tareas en segundo plano de Yellowfin se ejecutan según una programación establecida, que suele definirse cuando se crea la tarea por primera vez. Estas programaciones pueden realizarse a través de la página de «gestión de programaciones» de la consola de administración, lo que te permite optimizar cuándo se ejecutan los procesos de altos recursos.
¿Puedo detener los procesos que se ejecutan durante mucho tiempo?
Todos los procesos en segundo plano que se ejecuten durante mucho tiempo pueden detenerse desde la página «Ejecución en segundo plano» de la consola de administración.
Los usuarios que inician procesos de larga duración dentro de la aplicación tienen la opción de cancelar la solicitud en cualquier momento.
Depuración y registro de errores
A veces las cosas van mal, y la mayoría de las veces, Yellowfin proporcionará un error claro que indica por qué. Para las otras veces, el primer lugar donde sugerimos buscar es en los archivos de registro. Cada servidor Yellowfin tiene una carpeta llamada «/appserver/logs» que contiene varios archivos de seguimiento de los distintos componentes de la aplicación. El registro general se almacena en el archivo principal «yellowfin.log».
Estos registros pueden activarse para mostrar más o menos información configurando el archivo de propiedades de log4j.
¿Puedo reenviar mis logs a un programa de monitorización como datadog o splunk?
En un entorno en clúster es habitual utilizar un servicio de reenvío de logs (aws cloud watch, splunk forwarding, etc) para permitir el análisis de errores en todos los nodos de la aplicación simultáneamente.