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.
Inzet Overzicht
-
In this section
Updated 25 mei 2020 -
Overzicht
Welke inzetopties ondersteunt Yellowfin?
Yellowfin is platform agnostisch – je kunt het overal inzetten waar je maar wilt. Dit omvat on-premise of in de cloud. Je kunt elk besturingssysteem kiezen dat je wilt, op voorwaarde dat het een JVM ondersteunt. Je hebt ook een breed scala aan keuzes voor de configuratiedatabase.
Veel klanten kiezen ervoor om Yellowfin te implementeren met behulp van containertechnologieën zoals Docker.Welke Cloud Providers kan ik gebruiken met Yellowfin?
Yellowfin werkt met alle grote cloudproviders, waaronder AWS, Azure, GCP en meer.
-
Omgevingen
Op welke platforms draait Yellowfin?
Yellowfin kan worden geïnstalleerd op Windows, Linux of Mac OSX gebaseerde desktop of laptop voor evaluatie of trainingsdoeleinden en geïnstalleerd op Windows, Linux of Mac OSX gebaseerde servers voor evaluatie, training en productiedoeleinden.
Verder lezen:
-
Databases
Waar slaat Yellowfin configuratiegegevens op?
Configuratiegegevens worden opgeslagen in de Yellowfin database, deze database wordt aangemaakt als onderdeel van het standaard installatieproces. Tijdens de installatie definieer je de locatie, het type en de verbindingsgegevens van deze database.
Welke databasekeuzes heb ik?
De Yellowfin-configuratie kan worden gehost op een reeks databases
-
Cloud en lokaal
Welke cloud-platforms ondersteunt Yellowfin?
Yellowfin werkt met alle grote cloudproviders, waaronder AWS, Azure, GCP en meer.
Kan ik ervoor kiezen om on-premise te draaien?
Yellowfin kan in elke omgeving worden ingezet omdat het zowel OS agnostisch als self-hosted is. Dit kan variëren van fysieke servers op een eigen intern netwerk, tot zeer dynamische cloud container diensten zoals AWS ECS of Kubernetes.
Hoe ondersteunt Yellowfin Docker en containerisatie?
In docker implementaties bevat de container zelf individuele applicatieservers die fungeren als clusterknooppunten en communiceren met een statische configuratiedatabase (die zich vaak in iets als AWS RDS bevindt). De applicatie wordt vervolgens horizontaal geschaald door extra containers in te zetten.
-
Hosting
Een volledig beheerde hosting service voor Yellowfin is beschikbaar in alle regio’s. Hosting diensten stellen u in staat om Yellowfin snel te implementeren, zonder de kosten en afleiding van het inhuren of opleiden van uw eigen mensen. Neem contact op met uw Yellowfin-vertegenwoordiger voor meer informatie.
-
Regionale implementaties en synchronisatie
Hoe kan ik Yellowfin inzetten in geografisch verschillende regio’s? Welke modellen worden ondersteund?
Wereldwijde implementaties van Yellowfin zijn mogelijk in verschillende implementatiemodellen.
Om lokaal beheer van gebruikers en groepen mogelijk te maken, kunnen afzonderlijke instanties van Yellowfin regionaal worden ingezet die toegang geven tot dezelfde rapportinhoud. Dit vereist de synchronisatie van inhoud tussen instanties. Lokale beheerders kunnen lokale gebruikers en hun toegang tot de gedeelde inhoud beheren.
Een enkele globale instantie van Yellowfin kan worden ingezet in een centrale regio, maar met aparte regionale entry-punten. Elk entry-point cacht statische content in de regio en stuurt alleen verzoeken voor dynamische content door naar de server. Het hebben van een centrale instantie (die kan worden geclusterd in hetzelfde datacenter) betekent dat er geen migratie van inhoud nodig is en upgrades zijn relatief eenvoudig. Globale toegangspunten in dit model kunnen worden geïmplementeerd met een webserver met specifieke proxy- en cachingregels. Locatiegebaseerde DNS-diensten kunnen gebruikers naar het dichtstbijzijnde regionale toegangspunt leiden wanneer ze een gemeenschappelijke URL gebruiken.
Het is ook mogelijk om een globale cluster van Yellowfin te implementeren met regionaal geplaatste applicatie servers, met lokale kopieën van de Yellowfin archief database. Deze inzetmethode is gebaseerd op een multi-write database cluster, waardoor gedistribueerde knooppunten van Yellowfin dezelfde archiefdatabase kunnen delen. Yellowfin ondersteunt de TiDB archief database voor dit type inzet.
-
Internationalisering
Ondersteunt Yellowfin meertalige implementaties?
Yellowfin ondersteunt meertalige implementaties waarbij verschillende gebruikers specifieke talen kunnen gebruiken binnen dezelfde instantie. De taalkeuze van de gebruiker kan worden overgenomen van hun internetbrowser of door profielinstellingen binnen de applicatie.
Ondersteunt Yellowfin dubbele byte-tekensets?
Ja, de Yellowfin interface is geschikt voor dubbele bytes. Gebruikers kunnen ook specifieke lettertypesets kiezen voor het exporteren van inhoud naar bijvoorbeeld PDF om ervoor te zorgen dat er leesbare inhoud wordt gegenereerd.
Welke talen ondersteunt Yellowfin out of the box?
Op dit moment worden de volgende talen ondersteund:
- Engels
- Spaans
- Frans
- Japans
- Vereenvoudigd Chinees
- Duits
- Braziliaans Portugees
- Italiaans
- Nederlands
Bekijk ons ondersteuningsaanbod voor updates
Kan ik inhoud dynamisch vertalen op basis van de voorkeurstaal van de gebruiker?
Yellowfin heeft een mechanisme om inhoud te vertalen in de talen die worden ondersteund door de applicatie-instantie. Hierdoor kunnen inhoudelijke meta-gegevens, zoals Rapporttitels, Rapportbeschrijvingen en Veldnamen worden weergegeven in de voorkeurstaal van de gebruiker. Vertaling van deze inhoud kan worden uitgevoerd via een bulk export/import proces.
Kunnen datumnotaties dynamisch worden aangepast aan de locale van een gebruiker?
Ja, datumnotaties kunnen anders worden weergegeven, afhankelijk van de locatie en persoonlijke voorkeuren.
Kan ik de meeteenheden dynamisch wijzigen (bijv. mijl in km) op basis van het profiel van een gebruiker?
Ja, je kunt dynamische filters maken in de meta-datalaag en deze toepassen op tabellen zodat je, afhankelijk van de gebruiker, statistieken kunt tonen in de indeling van hun voorkeur.
Dit kan worden gebruikt om:
Verkoopbedragen om te zetten in de gewenste valuta van een persoon
Volume of afstand om te zetten in de gewenste formaten enz.Welke elementen van Yellowfin kunnen voor elke regio worden geconfigureerd?
Yellowfin maakt het mogelijk om gegevensbronnen, rapporten, dashboards en meta-gegevens te vertalen in ondersteunde talen. Met andere regionale instellingen kunnen tijdzone en datum- en tijdformaten worden geconfigureerd op basis van de locale van een gebruiker.
-
Hoge beschikbaarheid
Hoe kan ik Yellowfin clusteren voor een hoge beschikbaarheid?
Yellowfin kan worden geclusterd door meerdere applicatieservers op één gedeelde configuratiedatabase te plaatsen. Applicatieknooppunten kunnen zich bevinden waar je maar wilt, zolang ze maar met elkaar kunnen communiceren. Daarnaast is het mogelijk om elke cluster node te configureren om specifieke taken uit te voeren, zodat je servers kunt toewijzen aan processen met veel resources, zoals signalen of broadcasts.
Verder lezen:
Hoe werkt licentiëring?
Yellowfin biedt een enkel licentiebestand dat wordt geüpload via de UI van de applicatie (ook mogelijk via WS). Zodra de licentie is toegepast, worden de licentieparameters opgeslagen in de gedeelde configuratiedatabase. Als nieuwe applicatieknooppunten verbinding maken met die database, vergelijken ze zichzelf met de opgeslagen licentie.
-
Upgrades
Hoe vaak brengt Yellowfin nieuwe versies uit
Yellowfin brengt elk kwartaal “kleine” updates uit voor de applicatie en jaarlijks “grote” versie-updates. Kleine releases bevatten kleine verbeteringen, veranderingen en fixes, terwijl grote builds grotere veranderingen bevatten in de vorm van nieuwe of herbewerkte functionaliteit.
Hoe beheert Yellowfin upgrades?
Als een self-hosted oplossing, worden upgrades gepland en beheerd door u. Upgrades worden uitgevoerd door het downloaden van een uitvoerbare toepassing van de Yellowfin web-site en wijst die toepassing op uw huidige Yellowfin installatie, waar het zal de nodige schema en toepassing updates automatisch uit te voeren.
Wat zijn de beste praktijken voor het beheren van upgrades?
Bij het uitvoeren van een upgrade raden wij u aan om het proces eerst te testen in een ontwikkelomgeving. Terwijl Yellowfin upgrades over het algemeen soepel verlopen, geeft dit je de mogelijkheid om alle wijzigingen door te lichten en de toegang tot nieuwe functies te beperken voordat ze worden vrijgegeven aan je algemene gebruikersgemeenschap.
We raden ook aan om eerst een back-up te maken van zowel de configuratiedatabase als de applicatieserver, omdat we dan gemakkelijk een roll-back kunnen maken mocht dat nodig zijn.
Ik heb een 24×7 geclusterde omgeving, hoe kan ik upgraden zonder uitval?
Op een single node server, is het noodzakelijk om de Yellowfin applicatie af te sluiten voor de upgrade. Maar in een geclusterde omgeving zijn we in staat om nul down-time upgrades aan te bieden, door de update over de applicatie nodes te rollen. Door het onderhouden van twee kopieën van de configuratie database, een op elke versie, kunnen we gestaag knooppunten uit en online brengen, migreren / upgraden naar de nieuwere versie, zonder dat de gebruikers het merken.
-
Debuggen en controleren
Als een zelf beheerde oplossing, is het noodzakelijk voor onze klanten om een duidelijk beeld te hebben van wat er gebeurt binnen hun instantie, en waar te kijken als er iets mis gaat. Om dit te vergemakkelijken biedt Yellowfin verschillende middelen zowel binnen als buiten de applicatie.
Gebruik controleren
De configuratiedatabase van Yellowfin houdt niet alleen bij welke inhoud en gebruikers er op dit moment in de applicatie zijn, maar ook welke gebeurtenissen zich hebben voorgedaan. Door deze database te bevragen kunnen we een duidelijk beeld krijgen van hoe de applicatie wordt gebruikt.
Om dit te doen Yellowfin biedt een importeerbare set van “Audit Content”, dat is in wezen een verzameling van vooraf gebouwde weergaven en rapporten ontworpen om de meest voorkomende vragen een typische Yellowfin beheerder kan hebben van hun instantie te beantwoorden:
- Welke rapporten zijn het populairst?
- Hoeveel gebruikers hebben vandaag ingelogd?
- Welke inhoud is onlangs gemaakt en verwijderd?
- Tot welke tabellen en kolommen heeft/had een specifieke gebruiker toegang
Ik heb gevoelige gegevens. Kan ik een overzicht krijgen van alle gegevens waartoe een gebruiker toegang heeft gehad?
Yellowfin slaat standaard geen rapportgegevens op. Het is echter mogelijk om Yellowfin te configureren om de resultaten van elk rapport dat is uitgevoerd op te slaan, samen met een record van welke gebruiker het uitvoerde en op welk moment, zodat u een duidelijke audit geschiedenis van alle gegevens transacties.
Welke servergegevens moet ik controleren om de Yellowfin server te schalen?
Bij het schalen van de Yellowfin-applicatie moet je twee primaire statistieken in de gaten houden:
CPU – Elk proces in Yellowfin verbruikt een thread, dus hoeveel processen er op een gegeven moment kunnen draaien wordt bepaald door het aantal threads dat beschikbaar is op de CPU. Hoe meer gebruikers er in de applicatie zijn, hoe meer threads er verbruikt worden door hun activiteiten. Dit wordt direct weerspiegeld in het CPU-gebruik van de server. Zodra het CPU-gebruik de limiet nadert, worden extra aanvragen vertraagd en merken gebruikers een scherpe afname in prestaties.
Geheugen – Veel processen in Yellowfin verbruiken applicatiegeheugen, evenredig met de grootte van de gegevens die worden verwerkt en de hoeveelheid werk die op die gegevens moet worden gedaan. Als Yellowfin de limiet van het aan de JVM toegewezen geheugen nadert, zal het harder moeten werken om ruimte vrij te maken voor extra processen, en kan het uiteindelijk crashen.
Prestaties bewaken
Prestaties in Yellowfin bestaan uit verschillende factoren, dus het monitoren van prestaties betekent dat je naar elk van deze componenten afzonderlijk moet kijken
Hoe snel zijn de rapporten van Yellowfin?
De snelheid van een Yellowfin-rapport is voornamelijk gebaseerd op twee factoren:
- Hoe lang de query duurt
Elk rapport bestaat uit minstens één database query, en hoe lang de database nodig heeft om de query te verwerken heeft directe invloed op de tijd die het kost om te renderen in Yellowfin. - Hoe groot de resultatenset is en hoeveel nabewerking er plaatsvindt op die resultatenset
De nabewerking van een rapport nadat de query is geretourneerd, zoals geavanceerde functies en grafieken, gebeurt in Java en zal bronnen op de server verbruiken die passen bij de complexiteit van dat rapport.
Hoe kan ik controleren welke rapporten worden uitgevoerd?
De Yellowfin audit inhoud bevat verschillende nuttige rapporten die kunnen worden gebruikt om het gebruik van rapporten te controleren en te optimaliseren. Dit omvat een record van elk rapport dat is uitgevoerd, samen met belangrijke informatie over die run, zoals hoeveel rijen het heeft geretourneerd en hoe lang de query heeft geduurd om te verwerken.
Hoe kan ik gebruikers beperken in het maken van langlopende query’s die veel bronnen gebruiken?
Om langlopende queries te voorkomen kun je een time-out instellen op je database. Standaard is dit 3 min.
Om te grote resultatensets te voorkomen, kun je een rijenlimiet instellen voor alle query’s op die database.
De meeste inhoud kan ook worden gemaakt met “dummygegevens” in plaats van live gegevens, waardoor het aantal keren dat de query voor het rapport moet worden uitgevoerd, wordt beperkt.
Lees hier meer over beperkingen voor gegevensbronnen
Kunnen achtergrondtaken worden ingepland om te draaien op tijden met laag gebruik?
Alle achtergrondtaken in Yellowfin worden uitgevoerd volgens een vast schema, meestal gedefinieerd wanneer de taak voor het eerst wordt aangemaakt. Deze schema’s kunnen worden ingesteld via de “schema beheer” pagina van de beheerconsole, zodat je kunt optimaliseren wanneer processen met veel resources worden uitgevoerd.
Kan ik langlopende processen stoppen?
Alle langlopende achtergrondprocessen kunnen worden gestopt vanaf de pagina “achtergrond uitvoeren” in de beheerconsole.
Gebruikers die langlopende processen starten binnen de applicatie krijgen de optie om het verzoek op elk moment te annuleren.
Debuggen en foutregistratie
Soms gaat het mis, en meestal geeft Yellowfin een duidelijke foutmelding die aangeeft waarom. Voor de andere keren raden we aan om eerst in de logbestanden te kijken. Elke Yellowfin server heeft een map genaamd “/appserver/logs” die verschillende bestanden bevat die de verschillende componenten van de applicatie volgen. Algemene logging wordt opgeslagen in het primaire bestand “yellowfin.log”.
Deze logs kunnen worden omgeschakeld om meer of minder informatie te tonen door het log4j eigenschappenbestand te configureren.
Kan ik mijn logs doorsturen naar een monitoringprogramma zoals datadog of splunk?
In een geclusterde omgeving is het gebruikelijk om een log forwarding service (aws cloud watch, splunk forwarding, etc.) te gebruiken om de analyse van fouten op alle applicatie nodes tegelijk mogelijk te maken.