Tableau ArchiTekturdiagram og serverkomponenter
โก Smart opsummering
Tableau-server Architecture forbinder desktop-, web- og mobilklienter med mange datalag gennem et lagdelt design med flere processer. Denne side forklarer hvert lag, anmodningsstien gennem serveren, de individuelle baggrundsprocesser og implementering med รฉn node mod flere noder.

Tableau Server er designet til at forbinde mange datalag. Den kan forbinde klienter fra desktop, mobil og web. Tableau Desktop er et robust datavisualiseringsvรฆrktรธj. Det er yderst tilgรฆngeligt og sikkert.
Det kan kรธre pรฅ bรฅde virtuelle og fysiske maskiner. Det er et multi-bruger, multi-proces og multi-threaded system.
At levere sรฅdanne kraftfulde funktioner krรฆver en robust arkitektur. Lad os studere Tableau-serveren Archilรฆre i denne tutorial.
Tableau-server Architecture
De forskellige lag, der bruges i Tableau-serveren, er angivet i det fรธlgende arkitekturdiagram

Hvis man lรฆser diagrammet nedefra og op, ser man, at datakilderne er placeret i bunden, stikkene er placeret ovenover, serverkomponenterne er placeret i midten, og klienterne er placeret รธverst. Hvert af de fem afsnit nedenfor dรฆkker et af disse bรฅnd.
Lad os studere de forskellige komponenter i Tableau Architecture
Dataserver
Den primรฆre komponent i Tableau ArchiTektur er de datakilder, den kan oprette forbindelse til. Bemรฆrk, at dette fรธrste lag refererer til datalaget som helhed; dataserveren behandle der kรธrer inde i Tableau Server, er beskrevet separat under "Komponenter i Tableau Server" nedenfor.
Tableau kan oprette forbindelse til flere datakilder. Disse datakilder kan vรฆre lokalt placeret eller eksternt. Det kan oprette forbindelse til en database, en Excel-fil og en webapplikation pรฅ samme tid. Tableau kan forbinde data fra heterogene miljรธer. Det kan blande data fra flere datakilder. Det kan ogsรฅ oprette relationer mellem forskellige typer datakilder.
Edb-stik
Dataforbindelserne giver en grรฆnseflade til at forbinde eksterne datakilder til Tableau Data Server.
Tableau har en indbygget ODBC/SQL-forbindelse. Denne ODBC-forbindelse kan oprette forbindelse til enhver database uden at bruge dens native forbindelse. Tableau har en mulighed for at vรฆlge bรฅde live og ex.tract data. Baseret pรฅ brugen kan man nemt skifte mellem f.eks.tracted og live-data.
- Live-forbindelse eller realtidsdata: Tableau kan oprette forbindelse til realtidsdata ved at linke direkte til den eksterne database. Det bruger infrastrukturen i et eksisterende databasesystem ved at sende dynamiske MDX (Multidimensional Expressions) og SQL udsagn. Denne funktion kan linke til livedata med Tableau i stedet for at importere dataene. Det afhjรฆlper den investering, som en organisation har foretaget i et hurtigt og optimeret databasesystem. I mange virksomheder er databasens stรธrrelse enorm og opdateres med jรฆvne mellemrum. I disse tilfรฆlde fungerer Tableau som et front-end visualiseringsvรฆrktรธj ved at oprette forbindelse til livedataene.
- Extracdata eller data i hukommelsen: Tableau har en mulighed for at udvidetracdataene fra eksterne datakilder. Vi kan lave en lokal kopi i form af et Tableau-eksemplar.tract-fil, som bruger .hyper-formatet produceret af Hyper-datamotoren. Den kan f.eks.tracmillioner af poster ind i den motor med et enkelt klik. Tableaus datamotor bruger hukommelse og disk sammen til at gemme og behandle data. Ved hjรฆlp af filtre kan Tableau f.eks.tracfรฅ poster fra et stort datasรฆt. Dette forbedrer ydeevnen, isรฆr nรฅr man arbejder med massive datasรฆt. F.eks.tracTed- eller in-memory-data giver brugerne mulighed for at visualisere dataene offline uden at oprette forbindelse til datakilden.
Komponenter af Tableau Server
De forskellige komponenter, der findes i en Tableau-server, er:
- Applikationsserver
- VizQL server
- Dataserver
A) Applikationsserver:
Applikationsserveren bruges til at levere godkendelser og autorisationer. Det varetager administrationen og tilladelsen til web- og mobilgrรฆnseflader. Det sikrer sikkerhed ved at optage hver session-id pรฅ Tableau Server. Administratoren kan konfigurere standard timeout for sessionen pรฅ serveren.
B) VizQL-server:
VizQL-serveren bruges til at konvertere forespรธrgsler fra datakilden til visualiseringer. Nรฅr klientanmodningen er videresendt til VizQL-proces, den sender forespรธrgslen direkte til datakilden og henter information i form af billeder. Dette billede eller visualisering prรฆsenteres for brugeren. Tableau-serveren opretter en cache af visualisering for at reducere indlรฆsningstiden. Cachen kan deles pรฅ tvรฆrs af mange brugere, der har tilladelse til at se visualiseringen.
C) Dataserver:
Dataserver bruges til at administrere og gemme data fra eksterne datakilder. Det er et centralt datastyringssystem. Det giver metadatastyring, datasikkerhed, datalagring, dataforbindelse og driverkrav. Den gemmer relevante detaljer om datasรฆttet, sรฅsom metadata, beregnede felter, sรฆt, grupper og parametre. Datakilden kunne f.eks.tract-data samt oprette liveforbindelser til eksterne datakilder.
Gateway
Gatewayen kanaliserer anmodninger fra brugere til Tableau-komponenter. Nรฅr klienten foretager en anmodning, videresendes den til en ekstern load balancer til behandling. Gatewayen fungerer som en distributรธr af processer til forskellige komponenter. I mangel af en ekstern load balancer fungerer gatewayen ogsรฅ som en load balancer. Ved konfiguration med รฉn server administrerer รฉn primรฆr server eller gateway alle processerne. Ved konfigurationer med flere servere fungerer รฉt fysisk system som primรฆr server, mens andre bruges som arbejdsservere. Kun รฉn maskine kan bruges som primรฆr server i Tableau Server-miljรธet.
Klienter
Dashboards og visualiseringer i Tableau-serveren kan ses og redigeres ved hjรฆlp af forskellige klienter. Klienterne er Tableau Desktop, webbrowser og mobilapplikationer.
| Klienter | Miljรธ |
|---|---|
| Tableau skrivebord | Tableau Desktop er et virksomhedsanalysevรฆrktรธj. Det hjรฆlper med at oprette, se og udgive dashboards i Tableau Server. Brugere kan fรฅ adgang til forskellige datakilder og bygge visualiseringer i Tableau Desktop. |
| Mobil | Dashboards fra serveren kan visualiseres interaktivt ved hjรฆlp af mobile browsere og applikationer. Browseren og applikationen kan bruges til at se og redigere indholdet i projektmappen. |
| Website | Webbrowsere sรฅsom Google Chromesafari, Firefox og Microsoft Edge understรธtter Tableau-serveren. Indholdet og visualiseringerne i dashboardet kan redigeres via disse webbrowsere. |
Navngivning af lagene forklarer, hvad der findes. Det nรฆste afsnit fรธlger en enkelt anmodning gennem dem alle, sรฅ sekvensen bliver konkret.
Sรฅdan flyder en Tableau Server-anmodning fra ende til anden
ร bning af et publiceret dashboard udlรธser en rรฆkke overdragelser mellem de ovenfor beskrevne komponenter. At fรธlge denne rรฆkkefรธlge er den hurtigste mรฅde at forstรฅ, hvorfor en visning fรธles langsom, og hvilken proces der skal inspiceres fรธrst.
- Anmodningen ankommer til gatewayen. En browser, mobilapp eller Tableau Desktop-klient sender en HTTPS-anmodning. Hvis en ekstern load balancer er til stede, vรฆlger den en node; ellers udfรธrer gatewayen pรฅ den primรฆre node selv denne rolle.
- Applikationsserveren kontrollerer identitet og tilladelser. Anmodningen sendes til applikationsserverprocessen, som validerer sessionen, bekrรฆfter, at brugeren har rettigheder til projektmappen, og registrerer sessionsidentifikatoren.
- Cacheserveren konsulteres. Fรธr en forespรธrgsel kรธres, kontrollerer serveren sin delte forespรธrgselscache. En matchende post betyder, at visualiseringen returneres med det samme, og de resterende trin springes over, hvilket er grunden til, at den anden person, der รฅbner et dashboard, normalt venter langt kortere tid end den fรธrste.
- VizQL bygger forespรธrgslen. Ved en cache-fejl, den VizQL-processen oversรฆtter den visuelle specifikation, der er gemt i projektmappen, til en forespรธrgsel til den underliggende kilde.
- Dataserveren lรธser forbindelsen. Hvis projektmappen bruger en publiceret datakilde, leverer dataserveren forbindelsesoplysningerne, beregnede felter, grupper og sรฆt. En liveforbindelse sender forespรธrgslen videre til den eksterne database; f.eks.tract besvares fra Hyper-datamotoren ved hjรฆlp af .hyper-filen, der findes i fillageret.
- Resultaterne gengives og returneres. VizQL omdanner resultatsรฆttet til visningens mรฆrker, akser og etiketter, sender det gengivne output tilbage gennem gatewayen og skriver resultatet til cachen til den nรฆste bruger.
To punkter i den kรฆde fortjener opmรฆrksomhed ved finjustering. For det fรธrste, en eks.tracHvis der besvares lokalt, undgรฅr man helt en frem- og tilbagetur til en travl produktionsdatabase. For det andet konverterer en veludfyldt cache de fleste gentagne visninger til et enkelt opslag, sรฅ genstart af serveren eller publicering af en ny projektmappeversion fjerner bevidst denne fordel, indtil cachen varmes op igen.
Flere af de ovennรฆvnte processer optrรฆder aldrig i lagdiagrammet, og tabellen nedenfor identificerer dem.
Tableau Server-procestyper og hvad hver enkelt gรธr
En Tableau Server-installation kรธrer et sรฆt navngivne processer side om side. Administratorer ser dem individuelt pรฅ statussiden i Tableau Services Manager, sรฅ det gรธr fejlfinding langt hurtigere at genkende hver enkelt.
| Proces | Ansvarlighed |
|---|---|
| Gateway | Modtager alle indgรฅende anmodninger og sender dem til den korrekte node og proces. |
| Applikationsserver | Hรฅndterer login, tilladelser, sรธgning, browsing og den administrative brugerflade. |
| VizQL server | Indlรฆser og gengiver visninger ved at oversรฆtte den visuelle specifikation til forespรธrgsler. |
| Dataserver | Administrerer publicerede datakilder, metadata og forbindelsesoplysninger. |
| Datamotor (Hyper) | Opretter og forespรธrger .hyper extracts holdt pรฅ noden. |
| Backgrounder | Kรธrer planlagt arbejde: f.eks.tracopdateringer, abonnementer, advarsler og flowkรธrsler. |
| Repository | A PostgreSQL database, der indeholder projektmappens metadata, brugere, tilladelser og brugshistorik. |
| Fillager | Butikker eks.tract-filer og replikerer dem pรฅ tvรฆrs af noder, der har brug for dem. |
| Cache-server | En delt forespรธrgselscache i hukommelsen, der bruges af VizQL, dataserver og baggrundsteknologi. |
| Cluster controller | Overvรฅger procestilstand og udlรธser failover, for eksempel ved at promovere et passivt arkiv. |
| Koordinationstjeneste | Holder konfiguration og topologi ensartet pรฅ tvรฆrs af alle noder i klyngen. |
Baggrundsmateriale fortjener sรฆrlig opmรฆrksomhed, fordi det er den proces, der oftest mangler kapacitet.tracOpdateringer og abonnementsmails konkurrerer om de samme medarbejdere, sรฅ en morgen fuld af overlapningping forsinker begge tidsplaner.
Implementering af Tableau-server med รฉn node vs. flere noder
Alle ovennรฆvnte processer kan kรธre pรฅ รฉn maskine, og for et lille team er det den normale ordning. En installation med รฉn node er enkel at opdatere og overvรฅge, men den tilbyder ingen redundans: hvis maskinen stopper, stopper alle dashboards ogsรฅ, og tunge opgaver...tracOpdateringer konkurrerer direkte med folk, der ser indhold.
En klynge med flere noder spreder de samme processer pรฅ tvรฆrs af to eller flere maskiner, der deler รฉt repository og รฉn topologi. Roller tildeles derefter bevidst i stedet for som standard.
- Adskil baggrundsmaterialet. Flytter ekstract opdateres pรฅ en dedikeret node for at forhindre job natten over i at forsinke interaktive visninger.
- Dupliker gatewayen. Kรธrsel af en gateway pรฅ mere end รฉn node bag en ekstern load balancer fjerner det enkelte indgangspunkt som en fejlrisiko.
- Tilfรธj et passivt arkiv. En anden repository-instans tillader Cluster Controlleren overgรฅr automatisk til failover, hvis den aktive kopi holder op med at reagere.
- Scale VizQL for samtidighed. Mere VizQL-instanser betjener flere samtidige seere, hvilket er den sรฆdvanlige flaskehals, nรฅr udbredelsen vokser.
- Hold fillageret tรฆt pรฅ datamotoren. Noder, der forespรธrger f.eks.tracts har brug for en lokal kopi, sรฅ disse to er normalt placeret sammen.
Den praktiske udlรธser for at flytte til flere noder er sjรฆldent mรฆngden af โโrรฅdata. Det er normalt enten et forretningskrav for hรธj tilgรฆngelighed eller et opdateringsvindue, der ikke lรฆngere passer ind i de stille timer.
