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.

  • ๐Ÿงฑ Fire lag: Datakilder, dataforbindelser, serverkomponenter og klienter stables i den rรฆkkefรธlge fra databasen op til browseren.
  • ๐Ÿ”Œ Forbindelsesvalg: En liveforbindelse forespรธrger kilden ved hver visningsindlรฆsning, mens en extract gemmer en komprimeret lokal kopi i Hyper-datamotoren.
  • ๐Ÿงญ Gateway-rolle: Gatewayen dirigerer alle indgรฅende anmodninger og fungerer ogsรฅ som en load balancer, nรฅr der ikke findes nogen ekstern balancer.
  • ๏ธ VizQL-oversรฆttelse: VizQL-processen omdanner en visuel specifikation til en datakildeforespรธrgsel og returnerer gengivne billeder, hvorved resultaterne caches til genbrug.
  • ๐Ÿ‡ง๐Ÿ‡ท Understรธttende processer: Baggrundsvรฆrktรธj, arkiv, fillager, cacheserver og Cluster Controlleren kรธrer under de synlige lag.
  • ๐Ÿ—๏ธ Skaleringssti: En enkelt node kรธrer alle processer sammen, mens klynger med flere noder adskiller gateways, VizQL og dataroller for kapacitet og failover.

Tableau Architecture diagram

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

Tableau-server Architecture
Tableau Architecture diagram

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.

  1. 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.
  2. Applikationsserveren kontrollerer identitet og tilladelser. Anmodningen sendes til applikationsserverprocessen, som validerer sessionen, bekrรฆfter, at brugeren har rettigheder til projektmappen, og registrerer sessionsidentifikatoren.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Ofte Stillede Spรธrgsmรฅl

Begge kรธrer de samme processer. Med Tableau Server bestemmer kunden stรธrrelsen, patcher og overvรฅger hardwaren. Med Tableau Cloud driver Salesforce klyngen, sรฅ topologi, skalering og failover hรฅndteres for dig.

PostgreSQL Lageret indeholder metadata i stedet for analytiske data: definitioner af projektmapper og datakilder, brugere, grupper, tilladelser, tidsplaner og brugshistorik. F.eks.tract-filerne findes i fillageret.

Den fรธrste anmodning misser cacheserveren, sรฅ VizQL skal forespรธrge datakilden og gengive visningen. Resultatet cachelagres derefter, og senere fremvisere med de samme filtre modtager det uden en ny forespรธrgsel.

Funktioner som Tableau Pulse og Explain Data kรธrer oven pรฅ de eksisterende lag. De forbruger publicerede datakilder via den samme dataserver og cache-sti, sรฅ der introduceres ikke et separat analytisk niveau.

AI kan opsummere brugstelemetri og fremhรฆve mรฆttede processer, men stรธrrelsen afhรฆnger stadig af samtidighedsmรฅl, opdateringsvinduer og tilgรฆngelighedskrav, som en administrator skal angive eksplicit.

Opsummer dette indlรฆg med: