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.
Aperçu du déploiement
-
In this section
Updated 25 mai 2020 -
Vue d'ensemble
Quelles sont les options de déploiement prises en charge par Yellowfin ?
Yellowfin est agnostique – vous pouvez le déployer où vous le souhaitez. Vous pouvez le déployer où vous le souhaitez, que ce soit sur site ou dans le nuage. Vous pouvez choisir le système d’exploitation que vous voulez, à condition qu’il prenne en charge une JVM. Vous avez également un large éventail de choix pour la base de données de configuration.
De nombreux clients choisissent de déployer Yellowfin en utilisant des technologies de conteneurs telles que Docker.Quels sont les fournisseurs de cloud que je peux utiliser avec Yellowfin ?
Yellowfin fonctionnera avec tous les principaux fournisseurs de cloud, y compris AWS, Azure, GCP, et plus encore.
-
Environnements
Sur quelles plates-formes fonctionne Yellowfin ?
Yellowfin peut être installé sur un ordinateur de bureau ou un ordinateur portable fonctionnant sous Windows, Linux ou Mac OSX à des fins d’évaluation ou de formation et installé sur des serveurs fonctionnant sous Windows, Linux ou Mac OSX à des fins d’évaluation, de formation et de production.
Pour en savoir plus :
De quelle capacité aurai-je besoin et quelles sont les conditions préalables ?
-
Bases de données
Où Yellowfin stocke-t-il les données de configuration ?
Les données de configuration sont stockées dans la base de données Yellowfin, qui est créée dans le cadre du processus d’installation standard. Lors de l’installation, vous définissez l’emplacement, le type et les détails de connexion de cette base de données.
Quels sont les choix possibles en matière de base de données ?
La configuration de Yellowfin peut être hébergée sur une série de bases de données
-
Cloud et sur site
Quelles sont les plateformes cloud supportées par Yellowfin ?
Yellowfin fonctionnera avec tous les principaux fournisseurs de cloud, y compris AWS, Azure, GCP, et plus encore.
Puis-je choisir de fonctionner sur site ?
Yellowfin peut être déployé dans n’importe quel environnement, car il est à la fois agnostique en termes d’OS et auto-hébergé. Cela peut aller de serveurs physiques sur un réseau interne privé, à des services de conteneurs cloud hautement dynamiques tels que AWS ECS ou Kubernetes.
Comment Yellowfin supporte-t-il Docker et la conteneurisation ?
Dans les déploiements Docker, le conteneur lui-même contient des serveurs d’application individuels qui agissent comme des nœuds de cluster, communiquant avec une base de données de configuration statique (souvent située dans quelque chose comme AWS RDS). L’application est ensuite mise à l’échelle horizontalement en déployant des conteneurs supplémentaires.
-
Hébergement
Un service d’hébergement entièrement géré pour Yellowfin est disponible dans toutes les régions. Les services d’hébergement vous permettent de déployer Yellowfin rapidement, sans les coûts et les distractions liés à l’embauche ou à la formation de votre propre personnel. Contactez votre représentant Yellowfin pour plus d’informations.
-
Déploiements régionaux et synchronisation
Comment puis-je déployer Yellowfin dans des régions géographiquement distinctes ? Quels sont les modèles pris en charge ?
Des déploiements mondiaux de Yellowfin sont possibles, selon plusieurs modèles de mise en œuvre distincts.
Pour permettre l’administration locale des utilisateurs et des groupes, des instances distinctes de Yellowfin peuvent être déployées au niveau régional et donner accès au même contenu de rapport. Cela nécessite la synchronisation du contenu entre les instances. Les administrateurs locaux peuvent gérer les utilisateurs locaux et leur accès au contenu partagé.
Une instance globale unique de Yellowfin peut être déployée dans une région centrale, mais avec des points d’entrée régionaux distincts. Chaque point d’entrée met en cache le contenu statique de la région et ne transmet au serveur que les demandes de contenu dynamique. Le fait de disposer d’une instance centrale unique (qui pourrait être regroupée dans le même centre de données) signifie qu’aucune migration de contenu n’est nécessaire et que les mises à niveau sont relativement simples. Dans ce modèle, les points d’entrée globaux peuvent être mis en œuvre avec un serveur web doté de règles spécifiques de proxy et de mise en cache. Les services DNS basés sur la localisation peuvent diriger les utilisateurs vers le point d’entrée régional le plus proche lorsqu’ils utilisent une URL commune.
Il est également possible de mettre en œuvre un cluster global de Yellowfin avec des serveurs d’application positionnés régionalement, avec des copies locales de la base de données du référentiel Yellowfin. Cette méthode de déploiement repose sur un cluster de base de données à écriture multiple, permettant aux nœuds distribués de Yellowfin de partager la même base de données de référentiel. Yellowfin supporte la base de données TiDB pour ce type de déploiement.
-
Internationalisation
Yellowfin prend-il en charge les déploiements multilingues ?
Yellowfin supporte les déploiements multilingues où différents utilisateurs peuvent utiliser des langues spécifiques dans la même instance. La sélection de la langue de l’utilisateur peut être héritée de son navigateur Internet ou des paramètres du profil dans l’application.
Yellowfin supporte-t-il les jeux de caractères à double octet ?
Oui, l’interface Yellowfin est compatible avec les doubles octets. Les utilisateurs peuvent également choisir des jeux de polices spécifiques pour l’exportation de contenu, par exemple au format PDF, afin de s’assurer que le contenu généré est lisible.
Quelles sont les langues prises en charge par Yellowfin ?
Les langues suivantes sont actuellement prises en charge :
- Anglais
- Espagnol
- Français
- Japonais
- Chinois simplifié
- Allemand
- Portugais brésilien
- Italien
- Néerlandais
Consultez notre offre d’assistance pour les mises à jour
Puis-je traduire le contenu de manière dynamique en fonction de la langue préférée de l’utilisateur ?
Yellowfin dispose d’un mécanisme permettant de traduire le contenu dans les langues supportées par l’instance d’application. Cela permet d’afficher les méta-données du contenu, telles que les titres des rapports, les descriptions des rapports et les noms des champs dans la langue préférée de l’utilisateur. La traduction de ce contenu peut être effectuée via un processus d’exportation/importation en masse.
Pour en savoir plus, cliquez ici
Les formats de date peuvent-ils être modifiés dynamiquement pour s’adapter à la langue de l’utilisateur ?
Oui, les formats de date peuvent être rendus différemment en fonction de leur localisation et de leurs préférences personnelles.
Puis-je changer dynamiquement les unités de mesure (par exemple, miles en km) en fonction du profil de l’utilisateur ?
Oui, vous pouvez créer des filtres dynamiques dans la couche de métadonnées et les appliquer aux tableaux afin d’afficher les mesures dans le format préféré de l’utilisateur.
Cette fonction peut être utilisée pour :
Convertir les montants des ventes dans la devise préférée de la personne
Convertir le volume ou la distance dans les formats préférés de la personne, etc.Quels sont les éléments de Yellowfin qui peuvent être configurés pour chaque région concernée ?
Yellowfin permet de traduire les méta-données des sources de données, des rapports, des tableaux de bord et des vues dans les langues prises en charge. D’autres paramètres régionaux permettent de configurer le fuseau horaire et les formats de date et d’heure en fonction de la localisation de l’utilisateur.
-
Haute disponibilité
Comment puis-je mettre Yellowfin en cluster pour assurer une haute disponibilité ?
Yellowfin peut être mis en cluster en superposant plusieurs serveurs d’application sur une seule base de données de configuration partagée. Les nœuds d’application peuvent résider à l’endroit de votre choix tant qu’ils sont capables de communiquer entre eux. En outre, il est possible de configurer chaque nœud de cluster pour qu’il exécute des tâches spécifiques, ce qui vous permet de dédier des serveurs à des processus à ressources élevées tels que les signaux ou les diffusions.
Pour en savoir plus :
Comment fonctionne l’octroi de licences ?
Yellowfin fournit un fichier de licence unique qui est téléchargé via l’interface utilisateur de l’application (il est également possible de le faire via WS). Une fois la licence appliquée, les paramètres de licence sont stockés dans la base de données de configuration partagée. Lorsque de nouveaux nœuds d’application se connectent à cette base de données, ils se comparent à la licence stockée.
-
Améliorations
À quelle fréquence Yellowfin publie-t-il de nouvelles versions ?
Yellowfin publie des mises à jour « mineures » de l’application tous les trimestres et des mises à jour « majeures » tous les ans. Les versions mineures contiennent de petites améliorations, des changements et des correctifs, tandis que les versions majeures présentent des changements plus importants sous la forme de fonctionnalités nouvelles ou retravaillées.
Comment Yellowfin gère-t-il les mises à jour ?
En tant que solution auto-hébergée, les mises à jour sont programmées et gérées par vous. Les mises à jour sont effectuées en téléchargeant une application exécutable depuis le site web de Yellowfin et en pointant cette application vers votre installation Yellowfin actuelle, où elle effectuera automatiquement les mises à jour nécessaires du schéma et de l’application.
Quelles sont les meilleures pratiques en matière de gestion des mises à niveau ?
Lorsque vous effectuez une mise à niveau, nous vous recommandons de tester d’abord le processus dans un environnement de développement. Bien que les mises à jour de Yellowfin se déroulent généralement sans problème, cela vous donnera l’occasion de vérifier les changements et de limiter l’accès aux nouvelles fonctionnalités avant qu’elles ne soient diffusées à l’ensemble de la communauté des utilisateurs.
Nous vous recommandons également de sauvegarder d’abord la base de données de configuration ainsi que le serveur d’application, ce qui nous permettra de revenir facilement en arrière si cela s’avère nécessaire.
Je dispose d’un environnement en grappe 24×7, comment puis-je effectuer une mise à niveau sans interruption de service ?
Sur un serveur à nœud unique, il est nécessaire d’arrêter l’application Yellowfin avant la mise à jour. Cependant, dans un environnement en grappe, nous sommes en mesure d’offrir des mises à jour sans interruption de service, en déployant la mise à jour sur tous les nœuds de l’application. En maintenant deux copies de la base de données de configuration, une sur chaque version, nous pouvons régulièrement éteindre et rallumer les nœuds, les migrer/mettre à niveau vers la version la plus récente, sans que les utilisateurs s’en aperçoivent.
-
Débogage et audit
En tant que solution autogérée, il est nécessaire pour nos clients d’avoir une vision claire de ce qui se passe au sein de leur instance, et de savoir où chercher lorsque les choses vont mal. Pour faciliter cela, Yellowfin fournit plusieurs ressources à l’intérieur et à l’extérieur de l’application.
Contrôle de l'utilisation
La base de données de configuration de Yellowfin conserve un enregistrement non seulement du contenu et des utilisateurs qui existent actuellement dans l’application, mais aussi des événements qui se sont produits. En interrogeant cette base de données, nous pouvons obtenir une image claire de la façon dont l’application est utilisée.
Pour ce faire, Yellowfin fournit un ensemble importable de « contenu d’audit », qui est essentiellement une collection de vues et de rapports préconstruits conçus pour répondre aux questions les plus courantes qu’un administrateur Yellowfin typique peut avoir sur son instance :
- Quels sont les rapports les plus populaires ?
- Combien d’utilisateurs se sont connectés aujourd’hui ?
- Quel contenu a été créé et supprimé récemment ?
- Quelles sont les tables et les colonnes auxquelles un utilisateur spécifique a ou a eu accès ?
Je possède des données sensibles. Puis-je obtenir un enregistrement de toutes les données auxquelles un utilisateur a eu accès ?
Par défaut, Yellowfin ne stocke aucune donnée de rapport. Cependant, il est possible de configurer Yellowfin pour qu’il stocke l’ensemble des résultats de chaque rapport exécuté, ainsi qu’un enregistrement de l’utilisateur qui l’a exécuté et de l’heure à laquelle il l’a fait, ce qui vous permet de disposer d’un historique clair de toutes les transactions de données.
Quels sont les paramètres du serveur que je dois surveiller pour faire évoluer le serveur Yellowfin ?
Lors de la mise à l’échelle de l’application Yellowfin, vous devez surveiller deux paramètres principaux :
CPU – Chaque processus dans Yellowfin consommera un thread, donc le nombre de processus pouvant être exécutés à un moment donné est déterminé par le nombre de threads disponibles sur le CPU. Plus il y a d’utilisateurs dans l’application, plus il y aura de threads consommés par leurs activités. Cela se reflète directement dans l’utilisation de l’unité centrale du serveur. Lorsque l’utilisation de l’unité centrale approche de sa limite, les demandes supplémentaires sont retardées et les utilisateurs constatent une forte baisse des performances.
Mémoire – De nombreux processus de Yellowfin consomment de la mémoire d’application, proportionnellement à la taille des données traitées et à la quantité de travail à effectuer sur ces données. Lorsque Yellowfin s’approche de la limite de la mémoire allouée à la JVM, il devra travailler plus dur pour libérer de l’espace pour d’autres processus, et peut éventuellement se planter.
Suivi des performances
Les performances de Yellowfin sont constituées de plusieurs facteurs différents, c’est pourquoi le contrôle des performances implique d’examiner chacun de ces éléments individuellement.
Quelle est la rapidité des rapports de Yellowfin ?
En tant qu’application à lecture directe, la vitesse d’un rapport Yellowfin est largement basée sur deux facteurs :
- Durée de la requête
Chaque rapport comporte au moins une requête de base de données, et la durée de traitement de la requête par la base de données a un impact direct sur le temps de rendu au sein de Yellowfin. - La taille de l’ensemble de résultats et la quantité de post-traitement effectuée sur cet ensemble de résultats
Le traitement ultérieur d’un rapport après le retour de la requête, tel que les fonctions avancées et les graphiques, est effectué en Java et consommera des ressources sur le serveur en fonction de la complexité de ce rapport.
Comment puis-je contrôler les rapports en cours d’exécution ?
Le contenu de l’audit Yellowfin contient plusieurs rapports utiles qui peuvent être utilisés pour surveiller et optimiser l’utilisation des rapports. Il s’agit notamment d’un enregistrement de chaque rapport exécuté ainsi que des informations clés relatives à cette exécution, notamment le nombre de lignes renvoyées et la durée de traitement de la requête.
Comment puis-je empêcher les utilisateurs de créer des requêtes longues et gourmandes en ressources ?
Pour éviter que les requêtes ne s’éternisent, vous pouvez définir un délai d’attente pour votre base de données. Par défaut, ce délai est de 3 minutes.
Pour éviter que les ensembles de résultats ne soient trop volumineux, vous pouvez limiter le nombre de lignes de toutes les requêtes effectuées dans cette base de données.
La plupart des contenus peuvent également être créés avec des « données fictives » plutôt qu’avec des données réelles, ce qui limite le nombre de fois où la requête du rapport doit être exécutée.
Pour en savoir plus sur les restrictions relatives aux sources de données, cliquez ici
Est-il possible de programmer des tâches d’arrière-plan pour qu’elles s’exécutent à des moments où l’utilisation est faible ?
Toutes les tâches d’arrière-plan de Yellowfin sont exécutées selon un calendrier défini, généralement lors de la création de la tâche. Ces plannings peuvent être modifiés via la page « gestion des plannings » de la console d’administration, ce qui vous permet d’optimiser le moment où les processus à forte ressource sont exécutés.
Puis-je arrêter des processus en cours depuis longtemps ?
Tous les processus d’arrière-plan en cours depuis longtemps peuvent être arrêtés à partir de la page « Exécution en arrière-plan » de la console d’administration.
Les utilisateurs qui lancent des processus de longue durée dans l’application ont la possibilité d’annuler la demande à tout moment.
Pour en savoir plus sur la file d’attente d’exécution en arrière-plan, cliquez ici
Débogage et enregistrement des erreurs
Parfois, les choses se passent mal, et la plupart du temps, Yellowfin fournit une erreur claire qui en indique la raison. Pour les autres fois, nous vous suggérons de regarder d’abord dans les fichiers journaux. Chaque serveur Yellowfin a un dossier appelé « /appserver/logs » qui contient plusieurs fichiers qui suivent les différents composants de l’application. La journalisation générale est stockée dans le fichier principal « yellowfin.log ».
Ces journaux peuvent être modifiés pour afficher plus ou moins d’informations en configurant le fichier de propriétés de log4j.
Puis-je transmettre mes journaux à un programme de surveillance tel que datadog ou splunk ?
Dans un environnement en grappe, il est courant d’utiliser un service de transfert de journaux (aws cloud watch, splunk forwarding, etc.) pour permettre l’analyse des erreurs sur tous les nœuds d’application simultanément.