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.

eval colourful guide banner

Visão geral da implantação

  • In this section

    Updated 25 Maio 2020
  • Visão geral

    Que opções de implementação são suportadas pelo Yellowfin?

    O Yellowfin é agnóstico em termos de plataforma – podes implementá-lo onde quiseres. Isso inclui no local ou na nuvem. É possível escolher o sistema operacional que desejar, desde que ele suporte uma JVM. Também tem uma ampla gama de opções para o banco de dados de configuração.
    Muitos clientes optam por implantar o Yellowfin usando tecnologias de contêineres, como o Docker.

    Que fornecedores de serviços em nuvem posso utilizar com o Yellowfin?

    O Yellowfin funcionará com todos os principais fornecedores de nuvem, incluindo AWS, Azure, GCP e muito mais.

  • Ambientes

    Em que plataformas funciona o Yellowfin?

    O Yellowfin pode ser instalado em computadores de secretária ou portáteis baseados em Windows, Linux ou Mac OSX para fins de avaliação ou formação e instalado em servidores baseados em Windows, Linux ou Mac OSX para fins de avaliação, formação e produção.

    Lê mais:

    Qual é a arquitetura?

    Qual é a capacidade de que necessito e quais são os pré-requisitos?

  • Bases de dados

    Onde é que o Yellowfin armazena os dados de configuração?

    Os dados de configuração são armazenados na base de dados Yellowfin. Esta base de dados é criada como parte do processo de instalação padrão. Na instalação, define a localização, o tipo e os detalhes de ligação desta base de dados.

    Que opções de base de dados tenho?

    A configuração do Yellowfin pode ser alojada numa série de bases de dados

    Consulta a lista completa de apoios aqui

  • Nuvem e no local

    Quais são as plataformas de nuvem suportadas pela Yellowfin?

    O Yellowfin funcionará com todos os principais fornecedores de nuvem, incluindo AWS, Azure, GCP e muito mais.

    Posso optar por executar no local?

    O Yellowfin pode ser implantado em qualquer ambiente, pois é agnóstico em relação ao sistema operacional e auto-hospedado. Isso pode variar de servidores físicos em uma rede interna privada a serviços de contêineres em nuvem altamente dinâmicos, como o AWS ECS ou o Kubernetes.

    Como é que o Yellowfin suporta o Docker e a contentorização?

    Nas implantações do docker, o próprio contêiner conterá servidores de aplicativos individuais que atuam como nós de cluster, comunicando-se com um banco de dados de configuração estática (geralmente localizado em algo como o AWS RDS). A aplicação é então escalada horizontalmente através da implementação de contentores adicionais.

  • Alojamento

    Um serviço de alojamento totalmente gerido para o Yellowfin está disponível em todas as regiões. Os serviços de alojamento permitem-lhe implementar a Yellowfin rapidamente, sem o custo e a distração de contratar ou formar o seu próprio pessoal. Contacta o teu representante da Yellowfin para obteres mais informações.

  • Implantações regionais e sincronização

    Como posso implementar o Yellowfin em regiões geograficamente distintas? Que modelos são suportados?

    São possíveis implementações globais do Yellowfin, em vários modelos de implementação distintos.

    Para permitir a administração local de utilizadores e grupos, podem ser implementadas regionalmente instâncias separadas do Yellowfin que dão acesso ao mesmo conteúdo de relatório. Isso requer a sincronização do conteúdo entre as instâncias. Os administradores locais podem gerir os utilizadores locais e o respetivo acesso ao conteúdo partilhado.

    Uma única instância global do Yellowfin pode ser implantada em uma região central, mas com pontos de entrada regionais separados. Cada ponto de entrada armazena em cache o conteúdo estático na região, encaminhando apenas os pedidos de conteúdo dinâmico para o servidor. Ter uma única instância central (que pode ser agrupada no mesmo centro de dados) significa que não é necessária qualquer migração de conteúdos e que as actualizações são relativamente simples. Os pontos de entrada globais neste modelo podem ser implementados com um servidor Web com regras específicas de proxy e caching. Os serviços DNS baseados na localização podem encaminhar os utilizadores para o ponto de entrada regional mais próximo quando utilizam um URL comum.

    Também é possível implementar um cluster global de Yellowfin com servidores de aplicação posicionados regionalmente, com cópias locais da base de dados do repositório Yellowfin. Esse método de implantação depende de um cluster de banco de dados com várias gravações, permitindo que nós distribuídos do Yellowfin compartilhem o mesmo banco de dados de repositório. O Yellowfin suporta o banco de dados do repositório TiDB para esse tipo de implantação.

  • Internacionalização

    O Yellowfin suporta implementações multilingues?

    O Yellowfin suporta implementações multilingues em que diferentes utilizadores podem utilizar idiomas específicos na mesma instância. A seleção do idioma do utilizador pode ser herdada do seu navegador de Internet ou através de definições de perfil na aplicação.

    O Yellowfin suporta conjuntos de caracteres de byte duplo?

    Sim, a interface do Yellowfin é compatível com bytes duplos. Os utilizadores também podem escolher conjuntos de tipos de letra específicos para a exportação de conteúdos, por exemplo, para PDF, para garantir a criação de conteúdos legíveis.

    Que idiomas são suportados pelo Yellowfin?

    Atualmente, são suportados os seguintes idiomas:

    • Inglês
    • Espanhol
    • Francês
    • Japonês
    • Chinês simplificado
    • Alemão
    • Português do Brasil
    • Italiano
    • holandês

    Consulta a nossa oferta de apoio para obteres actualizações

    Posso traduzir o conteúdo dinamicamente com base no idioma preferido do utilizador?

    O Yellowfin tem um mecanismo para que o conteúdo seja traduzido para os idiomas suportados pela instância da aplicação. Isto permite que os meta-dados do conteúdo, como os títulos dos relatórios, as descrições dos relatórios e os nomes dos campos, sejam apresentados no idioma preferido do utilizador. A tradução deste conteúdo pode ser efectuada através de um processo de exportação/importação em massa.

    Descobre mais aqui

    Os formatos de data podem ser alterados dinamicamente para se adequarem ao local de um utilizador?

    Sim, os formatos de data podem ser processados de forma diferente para se adequarem à tua localidade e às tuas preferências pessoais.

    Posso alterar dinamicamente as unidades de medida (por exemplo, milhas para km) com base no perfil de um utilizador?

    Sim, podes criar filtros dinâmicos na camada de metadados e aplicá-los às tabelas para que, dependendo do utilizador, possas mostrar as métricas no seu formato preferido.

    Pode ser utilizado para:
    Converter os montantes de vendas na moeda preferida de uma pessoa
    Converter o volume ou a distância nos seus formatos preferidos, etc.

    Lê mais aqui

    Que elementos do Yellowfin podem ser configurados para cada região aplicável?

    O Yellowfin permite que os metadados da fonte de dados, do relatório, do painel e da vista sejam traduzidos para os idiomas suportados. Outras definições regionais permitem que o fuso horário e os formatos de data e hora sejam configurados com base na localidade do utilizador.

    Lê mais aqui

  • Alta disponibilidade

    Como posso agrupar o Yellowfin para fornecer alta disponibilidade?

    O Yellowfin pode ser agrupado em clusters, colocando vários servidores de aplicações em cima de uma única base de dados de configuração partilhada. Os nós de aplicação podem residir onde quiseres, desde que sejam capazes de comunicar entre si. Além disso, é possível configurar cada nó do cluster para executar tarefas específicas, permitindo-te dedicar servidores a processos com muitos recursos, como sinais ou transmissões.

    Lê mais:

    Guia de agrupamento do Yellowfin

    Recuperação de desastres Yellowfin

    Como funciona o licenciamento

    O Yellowfin fornece um único ficheiro de licença que é carregado através da IU da aplicação (também é possível fazê-lo através do WS). Uma vez aplicada a licença, os parâmetros de licenciamento são armazenados na base de dados de configuração partilhada. À medida que novos nós de aplicação se ligam a essa base de dados, comparam-se com a licença armazenada.

  • Actualizações

    Com que frequência é que o Yellowfin lança novas versões

    A Yellowfin lança actualizações “menores” da aplicação trimestralmente e actualizações “maiores” da versão anualmente. As versões secundárias contêm pequenas melhorias, alterações e correcções, enquanto as versões principais incluem alterações maiores sob a forma de funcionalidades novas ou reformuladas.

    Como é que a Yellowfin gere as actualizações?

    Como uma solução auto-hospedada, as actualizações são programadas e geridas por ti. As atualizações são realizadas baixando um aplicativo executável do site da Yellowfin e apontando esse aplicativo para sua instalação atual da Yellowfin, onde ele executará automaticamente as atualizações necessárias de esquema e aplicativo.

    Quais são as melhores práticas para gerir as actualizações?

    Ao realizar uma atualização, recomendamos que primeiro teste o processo em um ambiente de desenvolvimento. Embora as actualizações do Yellowfin sejam geralmente fáceis, isto dar-te-á a oportunidade de verificar quaisquer alterações e limitar o acesso a novas funcionalidades antes do seu lançamento para a comunidade geral de utilizadores.

    Também recomendamos que faças primeiro uma cópia de segurança da base de dados de configuração e do servidor de aplicações, uma vez que isso nos permitirá fazer um roll-back facilmente, caso seja necessário.

    Tenho um ambiente de cluster 24×7, como posso atualizar sem interrupções?

    Em um servidor de nó único, é necessário encerrar o aplicativo Yellowfin antes de atualizar. No entanto, em um ambiente em cluster, podemos oferecer atualizações sem tempo de inatividade, rolando a atualização entre os nós do aplicativo. Ao mantermos duas cópias da base de dados de configuração, uma em cada versão, podemos desligar e ligar constantemente os nós, migrando-os/atualizando-os para a versão mais recente, sem que os utilizadores se apercebam.

  • Depuração e auditoria

    Como uma solução autogerida, é necessário que os nossos clientes tenham uma visão clara do que está a acontecer na sua instância e onde procurar quando as coisas correm mal. Para facilitar isto, a Yellowfin fornece vários recursos dentro e fora da aplicação.

    Monitorização da utilização

    A base de dados de configuração do Yellowfin mantém um registo não só do conteúdo e dos utilizadores que existem atualmente na aplicação, mas também dos eventos que ocorreram. Ao consultar esta base de dados, podemos obter uma imagem clara de como a aplicação está a ser utilizada.

    Para isso, o Yellowfin fornece um conjunto importável de “Conteúdo de auditoria”, que é essencialmente uma coleção de vistas e relatórios pré-construídos concebidos para responder às perguntas mais comuns que um administrador típico do Yellowfin pode ter sobre a sua instância:

    • Quais são os relatórios mais populares?
    • Quantos utilizadores iniciaram sessão hoje?
    • Que conteúdos foram criados e eliminados recentemente?
    • A que tabelas e colunas um determinado utilizador tem/teve acesso

    Tenho dados sensíveis, posso obter um registo de todos os dados a que um utilizador teve acesso?

    Por padrão, o Yellowfin não armazena nenhum dado de relatório. No entanto, é possível configurar o Yellowfin para armazenar o conjunto de resultados de cada relatório executado, juntamente com um registo do utilizador que o executou e a que horas, fornecendo-te um histórico de auditoria claro de todas as transacções de dados.

    Que métricas de servidor devo monitorizar para escalar o servidor Yellowfin?

    Ao escalar a aplicação Yellowfin, tens de monitorizar duas métricas principais:

    CPU – Cada processo no Yellowfin consome uma thread, portanto, o número de processos que podem ser executados a qualquer momento é determinado pelo número de threads disponíveis na CPU. Quanto mais utilizadores estiverem na aplicação, mais threads serão consumidas pelas suas actividades. Isso se refletirá diretamente no uso da CPU do servidor. Quando a utilização da CPU se aproxima do seu limite, os pedidos adicionais serão atrasados e os utilizadores notarão um declínio acentuado no desempenho.

    Memória – Muitos processos no Yellowfin consomem memória do aplicativo, proporcional ao tamanho dos dados que estão sendo processados e à quantidade de trabalho que precisa ser feito com esses dados. À medida que o Yellowfin se aproxima do limite da memória alocada para a JVM, ele precisará trabalhar mais para liberar espaço para processos adicionais e, eventualmente, poderá falhar.

    Monitorização do desempenho

    O desempenho no Yellowfin é composto por vários factores diferentes, pelo que monitorizar o desempenho significa analisar cada um destes componentes individualmente

    Qual é a velocidade dos relatórios do Yellowfin?

    Sendo uma aplicação de leitura direta, a velocidade de um relatório Yellowfin baseia-se em dois factores:

    1. Quanto tempo demora a consulta
      Cada relatório será constituído por, pelo menos, uma consulta à base de dados e o tempo que a base de dados demora a processar a consulta terá um impacto direto no tempo que demora a ser apresentado no Yellowfin
    2. Qual o tamanho do conjunto de resultados e quanto pós-processamento ocorre nesse conjunto de resultados
      O processamento subsequente de um relatório após o retorno da consulta, como funções avançadas e gráficos, é feito em Java e consumirá recursos no servidor de acordo com a complexidade desse relatório.

    Como posso monitorizar os relatórios que estão a ser executados?

    O conteúdo de auditoria do Yellowfin contém vários relatórios úteis que podem ser utilizados para monitorizar e otimizar a utilização de relatórios. Inclui um registo de cada execução de relatório, juntamente com informações importantes relacionadas com essa execução, incluindo o número de linhas devolvidas e o tempo que a consulta demorou a ser processada.

    Como posso impedir que os utilizadores criem consultas de longa duração que consomem muitos recursos?

    Para evitar consultas de longa duração, podes definir um tempo limite na tua base de dados. Por defeito, este tempo é de 3 minutos.

    Para evitar conjuntos de resultados excessivamente grandes, podes colocar um limite de linhas em todas as consultas nessa base de dados.

    A maioria dos conteúdos também pode ser criada com “dados fictícios” em vez de dados reais, limitando o número de vezes que a consulta do relatório tem de ser executada.

    Lê mais sobre as restrições da fonte de dados aqui

    As tarefas em segundo plano podem ser programadas para serem executadas em períodos de baixa utilização?

    Todas as tarefas em segundo plano no Yellowfin são executadas num horário definido, normalmente definido quando a tarefa é criada pela primeira vez. Estes horários podem ser definidos através da página “gestão de horários” da consola de administração, permitindo-te otimizar o momento em que os processos com muitos recursos são executados.

    Posso parar processos em execução há muito tempo?

    Todos os processos em segundo plano em execução há muito tempo podem ser interrompidos a partir da página “execução em segundo plano” na consola de administração.

    Os utilizadores que iniciam processos de longa duração na aplicação têm a possibilidade de cancelar o pedido a qualquer momento.

    Lê mais sobre a fila de execução em segundo plano aqui

    Depuração e registo de erros

    Por vezes as coisas correm mal e, na maioria das vezes, o Yellowfin apresenta um erro claro que indica o motivo. Para as outras vezes, o primeiro lugar que sugerimos procurar é nos arquivos de log. Cada servidor Yellowfin tem uma pasta chamada “/appserver/logs” que contém vários arquivos que rastreiam os vários componentes do aplicativo. O registo geral é armazenado no ficheiro principal “yellowfin.log”.

    Estes registos podem ser alternados para mostrar mais ou menos informação, configurando o ficheiro de propriedades log4j.

    Posso encaminhar os meus registos para um programa de monitorização, como o datadog ou o splunk?

    Num ambiente em cluster, é comum utilizar um serviço de encaminhamento de registos (aws cloud watch, splunk forwarding, etc.) para permitir a análise de erros em todos os nós da aplicação em simultâneo.