Tableau ArchiStrukturdiagram och serverkomponenter
⚡ Smart sammanfattning
Tableau-server Architecture kopplar samman stationära, webb- och mobilklienter med många datanivåer genom en lagerbaserad design med flera processer. Den här sidan förklarar varje lager, förfrågningsvägen genom servern, de enskilda bakgrundsprocesserna och distribution med en enda nod kontra distribution med flera noder.
Tableau Server är utformad för att kunna koppla samman många datanivåer. Den kan ansluta klienter från dator, mobil och webb. Tableau Desktop är ett robust verktyg för datavisualisering. Det är mycket tillgängligt och säkert.
Det kan köras på både virtuella och fysiska maskiner. Det är ett system med flera användare, flera processer och flera trådar.
Att tillhandahålla sådana kraftfulla funktioner kräver en robust arkitektur. Låt oss studera Tableau Server Archilära sig i denna handledning.
Tableau-server Architecture
De olika lagren som används i Tableau-servern anges i följande arkitekturdiagram

Om man läser diagrammet nerifrån och upp, så sitter datakällorna längst ner, kontakterna ovanför dem, serverkomponenterna i mitten och klienterna överst. Var och en av de fem avsnitten nedan täcker ett av dessa band.
Låt oss studera de olika komponenterna i Tableau Architecture
Dataserver
Den primära komponenten i Tableau ArchiTekturen är de datakällor den kan ansluta till. Observera att detta första lager refererar till datanivån som helhet; dataservern process som körs inuti Tableau Server beskrivs separat under "Komponenter i Tableau Server" nedan.
Tableau kan ansluta till flera datakällor. Dessa datakällor kan vara lokaliserade eller fjärranslutna. Den kan ansluta till en databas, Excel-fil och en webbapplikation samtidigt. Tableau kan koppla samman data från heterogena miljöer. Den kan blanda data från flera datakällor. Den kan också skapa relationer mellan olika typer av datakällor.
Datakontakter
Dataanslutarna tillhandahåller ett gränssnitt för att ansluta externa datakällor till Tableau Data Server.
Tableau har en inbyggd ODBC/SQL-koppling. Denna ODBC-koppling kan ansluta till alla databaser utan att använda deras inbyggda koppling. Tableau har ett alternativ att välja både live och ex.tract-data. Baserat på användningen kan man enkelt växla mellan ex.tracted och livedata.
- Live anslutning eller realtidsdata: Tableau kan ansluta till realtidsdata genom att länka direkt till den externa databasen. Den använder infrastrukturen i ett befintligt databassystem genom att skicka dynamiska MDX (Multidimensionella uttryck) och SQL uttalanden. Den här funktionen kan länka till livedata med Tableau istället för att importera data. Det kompenserar för investeringen som en organisation gör i ett snabbt och optimerat databassystem. I många företag är databasens storlek enorm och uppdateras regelbundet. I dessa fall fungerar Tableau som ett visualiseringsverktyg för frontend genom att ansluta till livedata.
- Extracted eller data i minnet: Tableau har en möjlighet att extrachämta data från externa datakällor. Vi kan göra en lokal kopia i form av ett Tableau-exempeltract-filen, som använder .hyper-formatet som produceras av Hyper-datamotorn. Den kan t.ex.tracmiljontals poster i den motorn med ett enda klick. Tableaus datamotor använder minne och disk tillsammans för att lagra och bearbeta data. Med hjälp av filter kan Tableau extracfå poster från en enorm datamängd. Detta förbättrar prestandan, särskilt när man arbetar med massiva datamängder. T.ex.tracTed- eller minnesdata gör det möjligt för användare att visualisera data offline, utan att ansluta till datakällan.
Komponenter i Tableau Server
De olika komponenterna som finns i en Tableau-server är:
- Applikationsserver
- VizQL-server
- Dataserver
A) Applikationsserver:
Applikationsservern används för att tillhandahålla autentiseringar och auktoriseringar. Den hanterar administration och behörighet för webb- och mobilgränssnitt. Det garanterar säkerheten genom att registrera varje sessions-ID på Tableau Server. Administratören kan konfigurera standard timeout för sessionen på servern.
B) VizQL-server:
VizQL-servern används för att konvertera frågorna från datakällan till visualiseringar. När klientförfrågan har vidarebefordrats till VizQL-processen, den skickar frågan direkt till datakällan och hämtar information i form av bilder. Denna bild eller visualisering presenteras för användaren. Tableau-server skapar en cache för visualisering för att minska laddningstiden. Cachen kan delas mellan många användare som har behörighet att se visualiseringen.
C) Dataserver:
Dataserver används för att hantera och lagra data från externa datakällor. Det är ett centralt datahanteringssystem. Det tillhandahåller metadatahantering, datasäkerhet, datalagring, uppkoppling och drivrutinskrav. Den lagrar relevant information om datamängden, såsom metadata, beräknade fält, uppsättningar, grupper och parametrar. Datakällan kan t.ex.tract-data samt skapa live-kopplingar till externa datakällor.
Gateway
Gatewayen kanaliserar förfrågningar från användare till Tableau-komponenter. När klienten gör en förfrågan vidarebefordras den till en extern lastbalanserare för bearbetning. Gatewayen fungerar som en distributör av processer till olika komponenter. I avsaknad av en extern lastbalanserare fungerar gatewayen även som en lastbalanserare. För konfiguration med en enda server hanterar en primär server eller gateway alla processer. För konfigurationer med flera servrar fungerar ett fysiskt system som primär server medan andra används som arbetsservrar. Endast en maskin kan användas som primär server i Tableau Server-miljön.
Klienter
Instrumentpanelerna och visualiseringarna i Tableau-servern kan ses och redigeras med olika klienter. Kunderna är Tableau Desktop, webbläsare och mobilapplikationer.
| Klienter | Miljö |
|---|---|
| Tablå skrivbord | Tableau Desktop är ett affärsanalysverktyg. Det hjälper till att skapa, visa och publicera instrumentpaneler i Tableau Server. Användare kan komma åt olika datakällor och bygga visualiseringar i Tableau Desktop. |
| Mobil | Instrumentpanelerna från servern kan visualiseras interaktivt med hjälp av mobila webbläsare och applikationer. Webbläsaren och applikationen kan användas för att visa och redigera innehållet i arbetsboken. |
| web | Webbläsare som Google Chromesafari, Firefox och Microsoft Edge stöder Tableau-servern. Innehållet och visualiseringarna i instrumentpanelen kan redigeras via dessa webbläsare. |
Att namnge lagren förklarar vad som existerar. Nästa avsnitt följer en enda förfrågan genom dem alla så att sekvensen blir konkret.
Hur en Tableau Server-förfrågan flyter från början till slut
Att öppna en publicerad instrumentpanel utlöser en kedja av överlämningar mellan komponenterna som beskrivs ovan. Att följa den kedjan är det snabbaste sättet att förstå varför en vy känns långsam och vilken process som ska inspekteras först.
- Begäran anländer till gatewayen. En webbläsare, mobilapp eller Tableau Desktop-klient skickar en HTTPS-begäran. Om en extern lastbalanserare finns väljer den en nod; annars utför gatewayen på den primära noden den rollen själv.
- Applikationsservern kontrollerar identitet och behörighet. Begäran skickas till applikationsserverprocessen, som validerar sessionen, bekräftar att användaren har rättigheter till arbetsboken och registrerar sessionsidentifieraren.
- Cacheservern konsulteras. Innan en fråga körs kontrollerar servern sin delade frågecache. En matchande post innebär att visualiseringen returneras omedelbart och de återstående stegen hoppas över, vilket är anledningen till att den andra personen som öppnar en instrumentpanel vanligtvis väntar betydligt kortare tid än den första.
- VizQL bygger frågan. Vid en cachemiss, den VizQL-processen översätter den visuella specifikationen som lagras i arbetsboken till en fråga för den underliggande källan.
- Dataservern löser anslutningen. Om arbetsboken använder en publicerad datakälla tillhandahåller dataservern anslutningsinformation, beräknade fält, grupper och uppsättningar. En aktiv anslutning skickar frågan vidare till den externa databasen; en t.ex.tract besvaras från Hyper-datamotorn med hjälp av .hyper-filen som finns i filarkivet.
- Resultaten återges och returneras. VizQL omvandlar resultatmängden till vyns markeringar, axlar och etiketter, skickar tillbaka den renderade utdata genom gatewayen och skriver resultatet till cachen för nästa användare.
Två punkter i den kedjan förtjänar uppmärksamhet vid finjustering. För det första, ett extracOm den besvaras lokalt undviks helt en tur och retur till en upptagen produktionsdatabas. För det andra konverterar en välfylld cache de flesta upprepade vyer till en enda sökning, så att starta om servern eller publicera en ny arbetsboksversion eliminerar medvetet den fördelen tills cachen värms upp igen.
Flera av de ovan nämnda processerna förekommer aldrig i det lagerbaserade diagrammet, och tabellen nedan identifierar dem.
Tableau Server-processtyper och vad var och en gör
En Tableau Server-installation kör en uppsättning namngivna processer sida vid sida. Administratörer ser dem individuellt på statussidan i Tableau Services Manager, så att identifiera var och en gör felsökningen mycket snabbare.
| Behandla | Ansvar |
|---|---|
| Gateway | Tar emot varje inkommande begäran och dirigerar den till rätt nod och process. |
| Applikationsserver | Hanterar inloggning, behörigheter, sökning, surfning och administrationsgränssnittet. |
| VizQL-server | Läser in och renderar vyer genom att översätta den visuella specifikationen till frågor. |
| Dataserver | Hanterar publicerade datakällor, metadata och anslutningsuppgifter. |
| Datamotor (Hyper) | Skapar och frågar .hyper extracts hålls på noden. |
| Backgrounder | Kör schemalagt arbete: extracuppdateringar, prenumerationer, aviseringar och flödeskörningar. |
| förvaret | A PostgreSQL databas som innehåller arbetsboksmetadata, användare, behörigheter och användningshistorik. |
| Filbutik | Butiker extract-filer och replikerar dem över noder som behöver dem. |
| Cacheserver | En delad minnesbaserad frågecache som används av VizQL, dataserver och bakgrundsläsare. |
| Cluster Regulator | Övervakar processhälsa och utlöser redundansväxling, till exempel genom att främja ett passivt arkiv. |
| Samordningstjänst | Håller konfiguration och topologi konsekvent över varje nod i klustret. |
Bakgrundsinformation förtjänar särskild uppmärksamhet eftersom det är den process som oftast saknar kapacitet.tracUppdateringar och prenumerationsmejl konkurrerar om samma arbetare, så en morgon full av överlappningping schemalagda förseningar båda.
Enkelnods- kontra flernods-Tableau Server-distribution
Varje process som listas ovan kan köras på en maskin, och för ett litet team är det det normala arrangemanget. En installation med en enda nod är enkel att uppdatera och övervaka, men den erbjuder ingen redundans: om maskinen stannar, stannar även varje instrumentpanel, och tunga ex...tracUppdateringar konkurrerar direkt med personer som tittar på innehåll.
Ett kluster med flera noder sprider samma processer över två eller fler maskiner som delar ett arkiv och en topologi. Roller tilldelas sedan medvetet snarare än som standard.
- Separera bakgrundsmaterialet. Flyttande extracOm t uppdateras på en dedikerad nod hindras nattjobb från att sakta ner interaktiva vyer.
- Duplicera gatewayen. Om man kör gateway på mer än en nod, bakom en extern lastutjämnare, tas den enda ingångspunkten bort som en felrisk.
- Lägg till ett passivt arkiv. En andra databasinstans tillåter Cluster Styrenheten redundansväxlar automatiskt om den aktiva kopian slutar svara.
- Skala VizQL för samtidighet. Snarare VizQL-instanser betjänar fler samtidiga tittare, vilket är den vanliga flaskhalsen när implementeringen ökar.
- Förvara filarkivet nära datamotorn. Noder som frågar t.ex.tracts behöver en lokal kopia, så dessa två är normalt placerade tillsammans.
Den praktiska utlösaren för att flytta till flera noder är sällan mängden rådata. Det är vanligtvis antingen ett affärskrav för hög tillgänglighet eller ett uppdateringsfönster som inte längre får plats under de lugna timmarna.

