Tableau ArchiStructuurdiagram en servercomponenten

โšก Slimme samenvatting

Tableau-server ArchiTecture verbindt desktop-, web- en mobiele clients met meerdere datalagen via een gelaagd ontwerp met meerdere processen. Deze pagina beschrijft elke laag, het aanvraagpad door de server, de afzonderlijke achtergrondprocessen en de verschillen tussen implementaties met รฉรฉn en meerdere knooppunten.

  • ๐Ÿงฑ Vier lagen: Gegevensbronnen, gegevensconnectoren, servercomponenten en clients worden in die volgorde gestapeld, van de database tot aan de browser.
  • ???? Verbindingskeuze: Een liveverbinding vraagt โ€‹โ€‹de bron op bij elke weergavelading, terwijl een extract slaat een gecomprimeerde lokale kopie op in de Hyper-data-engine.
  • ๐Ÿงญ Gateway-rol: De gateway routeert alle binnenkomende verzoeken en fungeert tevens als load balancer wanneer er geen externe load balancer beschikbaar is.
  • ๐Ÿ–ผ๏ธ VizQL-vertaling: De VizHet QL-proces zet een visuele specificatie om in een query voor een gegevensbron en retourneert weergegeven afbeeldingen, waarbij de resultaten in de cache worden opgeslagen voor hergebruik.
  • โš™๏ธ Ondersteunende processen: Achtergrondinformatie, repository, bestandsopslag, cacheserver en Cluster De controller draait onder de zichtbare lagen.
  • ???? ๏ธ Schaalpad: Een enkele node voert alle processen tegelijk uit, terwijl clusters met meerdere nodes de gateway scheiden. VizQL en datarollen voor capaciteit en failover.

Tableau Archistructuurdiagram

Tableau Server is zo ontworpen dat het meerdere datalagen met elkaar verbindt. Het kan clients verbinden vanaf desktops, mobiele apparaten en webbrowsers. Tableau Desktop is een krachtig hulpmiddel voor datavisualisatie. Het is zeer betrouwbaar en veilig.

Het kan op zowel virtuele als fysieke machines draaien. Het is een systeem voor meerdere gebruikers, meerdere processen en meerdere threads.

Om zulke krachtige functies te bieden is een robuuste architectuur nodig. Laten we de Tableau Server bestuderen Archiin deze tutorial.

Tableau-server Architectuur

De verschillende lagen die in de Tableau-server worden gebruikt, worden weergegeven in het volgende architectuurdiagram

Tableau-server Architectuur
Tableau Archistructuurdiagram

Als je het diagram van onder naar boven leest, zie je dat de databronnen zich aan de basis bevinden, de connectoren daarboven, de servercomponenten in het midden en de clients bovenaan. Elk van de vijf onderstaande secties beslaat een van deze lagen.

Laten we de verschillende componenten van Tableau bestuderen Architectuur

Gegevensserver

Het primaire onderdeel van Tableau ArchiDe structuur verwijst naar de gegevensbronnen waarmee deze verbinding kan maken. Merk op dat deze eerste laag betrekking heeft op de gehele gegevenslaag; de gegevensserver. De functionaliteit die binnen Tableau Server draait, wordt hieronder apart beschreven onder 'Onderdelen van Tableau Server'.

Tableau kan verbinding maken met meerdere gegevensbronnen. Deze gegevensbronnen kunnen zich lokaal of op afstand bevinden. Het kan tegelijkertijd verbinding maken met een database, een Excel-bestand en een webapplicatie. Tableau kan gegevens uit heterogene omgevingen verbinden. Het kan gegevens uit meerdere gegevensbronnen combineren. Het kan ook relaties leggen tussen verschillende soorten gegevensbronnen.

Gegevensconnectoren

De Data Connectors bieden een interface om externe databronnen te verbinden met Tableau Data Server.

Tableau heeft een ingebouwde ODBC/SQL-connector. Deze ODBC-connector kan verbinding maken met elke database zonder de eigen connector te hoeven gebruiken. Tableau biedt de mogelijkheid om zowel live als excentrische databases te selecteren.tract-gegevens. Afhankelijk van het gebruik kan er gemakkelijk tussen worden geschakeld.tracTed en live data.

  • Live verbinding of realtime gegevens: Tableau kan verbinding maken met realtime data door rechtstreeks te linken naar de externe database. Het maakt gebruik van de infrastructuur van het bestaande databasesysteem door dynamische MDX-expressies (Multidimensional Expressions) te verzenden. SQL verklaringen. Deze functie maakt het mogelijk om live data te koppelen aan Tableau in plaats van de data te importeren. Dit maakt de investering van een organisatie in een snel en geoptimaliseerd databasesysteem de moeite waard. In veel bedrijven is de database enorm groot en wordt deze periodiek bijgewerkt. In die gevallen fungeert Tableau als een front-end visualisatietool door verbinding te maken met de live data.
  • Extracted of gegevens in het geheugen: Tableau biedt een optie om...tracDe gegevens uit externe gegevensbronnen kunnen we gebruiken. We kunnen een lokale kopie maken in de vorm van een Tableau-bestand.tract-bestand, dat gebruikmaakt van het .hyper-formaat dat door de Hyper-data-engine wordt geproduceerd. Het kan extracMet รฉรฉn klik importeert Tableau miljoenen records in die engine. De data-engine van Tableau gebruikt zowel geheugen als schijf om gegevens op te slaan en te verwerken. Met behulp van filters kan Tableau gegevens exporteren.tracEen paar records uit een enorme dataset selecteren. Dit verbetert de prestaties, vooral bij het werken met zeer grote datasets. Bijvoorbeeld:tracDoor gegevens in het geheugen op te slaan, kunnen gebruikers de gegevens offline bekijken, zonder verbinding te hoeven maken met de gegevensbron.

Componenten van Tableau Server

De verschillende componenten die aanwezig zijn in een Tableau-server zijn:

  • Applicatie server
  • VizQL-server
  • Gegevensserver

A) Applicatieserver:

De applicatieserver wordt gebruikt om de authenticaties en autorisaties te verzorgen. Het regelt het beheer en de toestemming voor web- en mobiele interfaces. Het garandeert de veiligheid door elke sessie-id op Tableau Server vast te leggen. De beheerder kan de standaardtime-out van de sessie op de server configureren.

B) VizQL-server:

VizQL Server wordt gebruikt om de query's van de gegevensbron om te zetten in visualisaties. Zodra het clientverzoek is doorgestuurd naar QL Server, wordt de query uitgevoerd. VizQL-proces, het stuurt de zoekopdracht rechtstreeks naar de gegevensbron en haalt informatie op in de vorm van afbeeldingen. Deze afbeelding of visualisatie wordt aan de gebruiker gepresenteerd. De Tableau-server creรซert een visualisatiecache om de laadtijd te verkorten. De cache kan worden gedeeld met veel gebruikers die toestemming hebben om de visualisatie te bekijken.

C) Gegevensserver:

Dataserver wordt gebruikt om de gegevens uit externe gegevensbronnen te beheren en op te slaan. Het is een centraal gegevensbeheersysteem. Het biedt metadatabeheer, gegevensbeveiliging, gegevensopslag, dataverbinding en de vereisten van de stuurprogramma's. Het slaat de relevante details van de dataset op, zoals metadata, berekende velden, sets, groepen en parameters. De gegevensbron kan bijvoorbeeldtract data maakt ook live verbindingen met externe databronnen.

Poort

De gateway kanaliseert de verzoeken van gebruikers naar de Tableau-componenten. Wanneer een client een verzoek indient, wordt dit doorgestuurd naar een externe load balancer voor verwerking. De gateway fungeert als een distributeur van processen naar de verschillende componenten. In geval van afwezigheid van een externe load balancer, fungeert de gateway ook als load balancer. Bij een configuratie met รฉรฉn server beheert รฉรฉn primaire server of gateway alle processen. Bij configuraties met meerdere servers fungeert รฉรฉn fysiek systeem als primaire server, terwijl de andere systemen als worker servers worden gebruikt. In een Tableau Server-omgeving kan slechts รฉรฉn machine als primaire server fungeren.

Klanten

De dashboards en visualisaties in de Tableau-server kunnen met verschillende clients worden bekeken en bewerkt. De klanten zijn Tableau Desktop, webbrowser en mobiele applicaties.

Klanten Milieu
Tableau Desktop Tableau Desktop is een tool voor bedrijfsanalyse. Het helpt bij het maken, bekijken en publiceren van dashboards in Tableau Server. Gebruikers hebben toegang tot verschillende gegevensbronnen en kunnen visualisaties bouwen in Tableau Desktop.
Mobile De dashboards van de server kunnen interactief worden gevisualiseerd met behulp van mobiele browsers en applicaties. De browser en applicatie kunnen worden gebruikt om de inhoud van de werkmap te bekijken en te bewerken.
Web Webbrowsers zoals Google Chromesafari, Firefox en Microsoft Edge De Tableau-server wordt ondersteund. De inhoud en visualisaties in het dashboard kunnen via deze webbrowsers worden bewerkt.

Het benoemen van de lagen maakt duidelijk wat er bestaat. In het volgende gedeelte wordt รฉรฉn enkele aanvraag door al deze lagen heen gevolgd, waardoor de volgorde concreet wordt.

Hoe een Tableau Server-verzoek van begin tot eind verloopt

Het openen van een gepubliceerd dashboard zet een reeks overdrachten in gang tussen de hierboven beschreven componenten. Door deze keten te volgen, kunt u het snelst achterhalen waarom een โ€‹โ€‹weergave traag aanvoelt en welk proces u als eerste moet onderzoeken.

  1. Het verzoek komt aan bij de gateway. Een browser, mobiele app of Tableau Desktop-client verzendt een HTTPS-verzoek. Als er een externe load balancer aanwezig is, kiest deze een knooppunt; anders vervult de gateway op het primaire knooppunt die rol zelf.
  2. De applicatieserver controleert de identiteit en de machtigingen. Het verzoek wordt doorgegeven aan het applicatieserverproces, dat de sessie valideert, bevestigt dat de gebruiker rechten heeft voor het werkblad en de sessie-ID vastlegt.
  3. De cacheserver wordt geraadpleegd. Voordat een query wordt uitgevoerd, controleert de server de gedeelde querycache. Als er een overeenkomst wordt gevonden, wordt de visualisatie direct weergegeven en worden de resterende stappen overgeslagen. Daarom hoeft de tweede persoon die een dashboard opent meestal veel minder lang te wachten dan de eerste.
  4. VizQL bouwt de query op. Bij een cache-miss, de VizHet QL-proces vertaalt de visuele specificatie die in het werkblad is opgeslagen naar een query voor de onderliggende bron.
  5. De dataserver lost het verbindingsprobleem op. Als de werkmap gebruikmaakt van een gepubliceerde gegevensbron, levert de gegevensserver de verbindingsgegevens, berekende velden, groepen en sets. Een liveverbinding stuurt de query door naar de externe database; een externe verbinding daarentegen stuurt de query door naar de externe database.tracHet antwoord wordt gegeven door de Hyper-data-engine met behulp van het .hyper-bestand dat in de bestandsopslag is opgeslagen.
  6. De resultaten worden weergegeven en geretourneerd. VizQL zet de resultaatset om in de markeringen, assen en labels van de weergave, stuurt de weergegeven uitvoer terug via de gateway en schrijft het resultaat naar de cache voor de volgende gebruiker.

Twee punten in die keten verdienen aandacht bij het afstellen. Ten eerste, een extracDoor lokaal te antwoorden, wordt een communicatie met een drukke productiedatabase volledig vermeden. Ten tweede zet een goed gevulde cache de meeste herhaalde weergaven om in รฉรฉn enkele zoekopdracht, waardoor het herstarten van de server of het publiceren van een nieuwe werkmapversie dit voordeel tenietdoet totdat de cache weer is gevuld.

Een aantal van de hierboven genoemde processen komt niet voor in het gelaagde diagram, en de onderstaande tabel geeft deze processen weer.

Processtypen in Tableau Server en wat elk proces doet

Een Tableau Server-installatie voert een aantal benoemde processen naast elkaar uit. Beheerders zien deze processen afzonderlijk op de statuspagina van Tableau Services Manager, waardoor het herkennen van elk proces het oplossen van problemen aanzienlijk versnelt.

Proces Verantwoordelijkheid
Poort Ontvangt alle binnenkomende verzoeken en stuurt deze door naar het juiste knooppunt en proces.
Applicatie server Regelt aanmelding, machtigingen, zoeken, browsen en de beheerdersinterface.
VizQL-server Laadt en rendert weergaven door de visuele specificatie om te zetten in query's.
Gegevensserver Beheert gepubliceerde gegevensbronnen, metadata en verbindingsgegevens.
Data-engine (Hyper) Maakt en voert query's uit op .hyper extracts wordt op het knooppunt bewaard.
Achtergrondinformatie Voert geplande werkzaamheden uit: bijv.tract vernieuwt, abonnementen, meldingen en voert workflows uit.
bewaarplaats A PostgreSQL Database met metadata van werkmappen, gebruikers, machtigingen en gebruiksgeschiedenis.
Bestandsopslag Winkels extract-bestanden en repliceert ze naar alle knooppunten die ze nodig hebben.
Cache-server Een gedeelde in-memory querycache die wordt gebruikt door VizQL, Data Server en Backgrounder.
Cluster Controller Het systeem bewaakt de processtatus en activeert failover, bijvoorbeeld door een passieve repository te promoveren.
Coรถrdinatiedienst Zorgt ervoor dat de configuratie en topologie consistent blijven op alle knooppunten in het cluster.

Achtergrondinformatie verdient bijzondere aandacht, omdat dit het proces is dat het vaakst te weinig capaciteit heeft.tracE-mails met updates en abonnementsverzoeken concurreren om dezelfde werknemers, wat resulteert in een ochtend vol overlappingen.ping De planning loopt vertraging op.

Tableau Server-implementatie met รฉรฉn knooppunt versus implementatie met meerdere knooppunten

Elk van de bovenstaande processen kan op รฉรฉn machine draaien, en voor een klein team is dat de gebruikelijke opstelling. Een installatie met รฉรฉn node is eenvoudig te patchen en te monitoren, maar biedt geen redundantie: als de machine uitvalt, vallen alle dashboards uit, en zware belasting kan problemen veroorzaken.tracHet vernieuwen van content concurreert direct met het aantal mensen dat de content bekijkt.

Een multi-node cluster verdeelt dezelfde processen over twee of meer machines die รฉรฉn repository en รฉรฉn topologie delen. Rollen worden dan doelbewust toegewezen in plaats van standaard.

  • Scheid de achtergrond. Verhuizen extracDoor de processen te vernieuwen op een speciaal daarvoor bestemd knooppunt, worden nachtelijke taken die interactieve weergaven vertragen, voorkomen.
  • Dupliceer de gateway. Door een gateway op meerdere knooppunten te plaatsen, achter een externe load balancer, wordt het risico op storingen bij รฉรฉn enkel toegangspunt weggenomen.
  • Voeg een passieve repository toe. Een tweede repository-instantie maakt het mogelijk om Cluster De controller moet automatisch overschakelen naar een andere server als de actieve kopie niet meer reageert.
  • Scale VizQL voor gelijktijdigheid. Meer VizQL-instanties bedienen meer gelijktijdige kijkers, wat doorgaans het knelpunt vormt zodra het gebruik toeneemt.
  • Houd de bestandsopslag dicht bij de data-engine. Knooppunten die ex bevragentracts heeft een lokale kopie nodig, dus deze twee bevinden zich normaal gesproken op dezelfde locatie.

De praktische aanleiding voor de overstap naar meerdere nodes is zelden het ruwe datavolume. Meestal is het een zakelijke vereiste voor hoge beschikbaarheid of een vernieuwingsperiode die niet langer binnen de rustige uren past.

Veelgestelde vragen

Beide systemen voeren dezelfde processen uit. Bij Tableau Server configureert, patcht en bewaakt de klant zelf de hardware. Bij Tableau Cloud beheert Salesforce het cluster, waardoor topologie, schaling en failover voor u worden afgehandeld.

De PostgreSQL Een repository bevat metadata in plaats van analytische gegevens: werkmap- en gegevensbrondefinities, gebruikers, groepen, machtigingen, planningen en gebruiksgeschiedenis. Bijvoorbeeld:tracDe bestanden zelf bevinden zich in de bestandsopslag.

Het eerste verzoek bereikt de cacheserver niet, dus VizQL moet de gegevensbron bevragen en de weergave renderen. Het resultaat wordt vervolgens in de cache opgeslagen, zodat latere gebruikers met dezelfde filters het resultaat ontvangen zonder een nieuwe query uit te voeren.

Functies zoals Tableau Pulse en Explain Data werken bovenop de bestaande lagen. Ze gebruiken gepubliceerde gegevensbronnen via dezelfde gegevensserver en cache, waardoor er geen aparte analyselaag nodig is.

AI kan gebruikstelemetrie samenvatten en processen met een hoge belasting in kaart brengen, maar de dimensionering blijft afhankelijk van gelijktijdigheidsdoelen, vernieuwingsvensters en beschikbaarheidsvereisten die een beheerder expliciet moet aangeven.

Vat dit bericht samen met: