Ad Hoc. Hvordan forberede for det utforutsette? bwise Software Thomas Schøyen



Like dokumenter
Hvordan vil datavarehus se ut i 2015 bwise Software Torstein Thorsen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Kravspesifikasjon eksamen - personlig

Tilkobling og Triggere

Applikasjonsutvikling med databaser

SAP Lumira Demo Session

Repetisjon: Normalformer og SQL

Datamodellering og databaser SQL, del 2

Oppgave 1 (Opprett en database og en tabell)

To RDF or not to RDF Fagdag om Noark 5 og RDF

En lett innføring i foreninger (JOINs) i SQL

Bruk av data kan deles i data for transaksjonsbruk og data for analyse bruk:

UTDANNELSE NTNU i Trondheim, Sivilingeniør i datateknikk og informasjonsvitenskap

INF3100 V2018 Obligatorisk oppgave nr. 2

DBS18 - Strategier for Query-prosessering

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

1. SQL datadefinisjon og manipulering

Datamodellering og databaser SQL, del 2

Tilrettelegging av store datagrunnlag for analyse med SAS Scalable Performance Data Engine (SPDE) Steinar Helstrup 8.juni 2017

Introduksjon til fagfeltet

Datamodellering og databaser SQL, del 2

Del 3: Noark 5-basert databasestruktur

Hva er Derby og Java DB? Denne forelesningen. Java Database Connectivity (JDBC) Hva er Derby og Java DB?

SAP Lumira Hans-On Session

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

Databaser kort intro. Tom Heine Nätt

Planning & Forecasting. retning / ansvar / verdi

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

1. SQL spørringer mot flere tabeller

FINN.no. Driving - business growth - developer speed - employee satisfaction. by just a few hundred decisions. Cloud and Data

Business Intelligence og Datavarehus

Java Database Connectivity (JDBC) Norvald H. Ryeng

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Hvorfor starte fra bunnen?

Databaser fra et logikkperspektiv

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Sikkerhet og tilgangskontroll i RDBMS-er

Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso

Romlig datamanipulering

kvalifikasjoner (forskerutdanning flyttes ikke) Rettet opp noen småfeil under åpne spørsmål Stein Aske

Multiarkitektur fra datavarehus til informasjonsplattform. 12. april 2018 Elin Våge Lafton, NAV IT Digitalisering

ORDBMS og OODBMS i praksis

Bruke SQL fra Python. Med Psycopg2

HØGSKOLEN I SØR-TRØNDELAG

Utvikling fra kjernen og ut

Løsningsforslag eksamen i IN

Effektiv Systemadministrasjon

Hvordan databasesystemene kan hjelpe RAM-produsentene

DIGITALISERING MED INTERACT-FLOW

9. ASP med databasekopling, del II

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

EKSAMEN 6102 / 6102N DATABASER

Databearbeiding direkte i memory på LASR server nye muligheter? Trond Holmen, SAS Institute

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Økonomisk perioderapportering (XLrapporten)

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

UNIVERSITETET I OSLO

En kort presentasjon av

UNIVERSITETET I OSLO

Databases 1. Extended Relational Algebra

Dataforvaltning og digitalisering. Stein Ivar Rødland IT-sjef Stavanger kommune

IN2090 Databaser og datamodellering. 09 Aggregering og sortering

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

Metaspråket for å beskrive grammatikk

FluentAutomation. Et automatiserings-rammeverk for regresjonstesting (og mye annet! )

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Digitalisering i BIR - overblikk. Andre Tangen -

Tabeller og enkle spørringer

TDT4300 Datavarehus og datagruvedri3, Våren 2014

BI4Dynamics Business Intelligence

HØGSKOLEN I SØR-TRØNDELAG

Enklere syntaks for joins. IN2090 Databaser og datamodellering. 09 Aggregering og sortering. Eksempel: Variable i delspørringer (1)

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...

Migrering hos Gjensidige Bank. 9. februar 2011 Ellen Aaslund - Gjensidige Bank Knut Erik Terjesen - bwise

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

1. Relasjonsmodellen Kommentarer til læreboka

IN2090 Databaser og datamodellering. 09 Aggregering og sortering

HØGSKOLEN I SØR-TRØNDELAG

Rapportmodulen i Extensor 05

KursAdmin. Veileder Rapportverktøy. Musikkens Studieforbund

Omsetningsrapporter. Omsetningsrapporter (varer) i CS-Web. VISMA RETAIL AS Wirgenes vei 1, 3157 Barkåker, Telefon:

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer

1. Introduksjon til Oracle Express Edition

Personvern og CAT. Thomas Marti - Salgsjef, Proplan AS Per Haraldsen - Løsningsarkitekt, Proplan AS

Eksport av budsjett fra Controller til Visma Business

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor.

ADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12)

Spørsmålskompilering del 1

Spørsmålskompilering del 1

Er du allerede har registrert brukernavn og passord, kan du logge deg på og få tilgang til tidligere opplastede filer (og filterinstillinger).

Transkript:

Ad Hoc. Hvordan forberede for det utforutsette? bwise Software Thomas Schøyen mailto: thomas.schoyen@bwise.no

SELECT 'Trade' Type, null Leg_id, TradeId, drywet, Llpno, Trade_date, From_place_id, To_place_id, to_number(via) Via, DWT, Percent, From_id, To_id, To_number(Trading.TRAD.f_Get_Distance( From_id, To_id, Via, drywet )) Distance, COMMODITY_ID, null as LegType FROM ( SELECT T.TRADE_ID TradeId, case when T.Commodity_id = 'A' then 'W' else 'D' end drywet, v.llpno Llpno, T.Trade_date, T.From_place_id From_place_id, T.To_place_id To_place_id, TV.Place_id Via, T.Dwt, T.Percent, To_number(Trading.TRAD.f_Get_area_id(1, T.From_place_id)) From_id, To_Number(Trading.TRAD.f_Get_area_id(1, T.To_place_id)) To_id, T.COMMODITY_ID as Commodity_id FROM Trading.v_Ship V, Trading.Trade T, Trading.Trade_via TV WHERE NVL(T.Coasting_code,' ') <> 'S' AND V.Llpno = T.Llpno AND T.Trade_id = TV.Trade_id(+) AND V.LLPNO = '7801673' ) union select Type, Leg_id, TradeId, drywet, Llpno, Trade_date, from_place_id, to_place_id, via, dwt, Percent, From_id, To_id, nvl(to_number(trading.trad.f_get_distance( From_id, To_id, Via, drywet )),Distance2) Distance, Commodity_id, LegType from ( SELECT 'Leg' Type, Leg_id, null TradeId, case when T.Commodity_id is null then null when T.Commodity_id = 'A' then 'W' else 'D' end drywet, l.llpno Llpno, nvl(t.trade_date,null) Trade_date, L.from_place_id, L.to_place_id, To_number(Trading.Trad.f_Get_via_from_leg(leg_id)) Via, V.DWT, nvl(t.percent,0) Percent, To_number(Trading.TRAD.f_Get_area_id(1, L.From_place_id)) From_id, To_number(Trading.TRAD.f_Get_area_id(1, L.To_place_id)) To_id, D.Distance Distance2, T.COMMODITY_ID as Commodity_id, LEG_TYPE as LegType --From_observation_id, Leg_type, L.From_place_date, --P1.Place_name, L.To_place_date, To_observation_id, P2.Place_name, --Trad.f_Get_via_from_leg(leg_id), O.Estimated_values, O2.Estimated_values FROM Trading.LEG L, TRADING.TRADE T, Trading.v_Ship V, TRADING.DISTANCE D --, Trading.PLACE P1, Trading.PLACE P2, Trading.OBSERVATION O, Trading.OBSERVATION O2 WHERE L.From_observation_id = T.From_Observation_id(+) AND L.To_observation_id = T.To_Observation_id(+) AND V.Llpno = L.Llpno AND L.LLPNO = 7801673 AND L.FROM_PLACE_ID = D.FROM_PLACE_ID(+) AND L.TO_PLACE_ID = D.TO_PLACE_ID(+) --AND L.From_place_id = P1.Place_id --AND L.To_place_id = P2.Place_id ) 2 09. Februar 2011

3 09. Februar 2011 Å tillate at sluttbrukere kan gjøre Ad-Hoc spørringer på et datavarehus er som å gi en kasse håndgranater til en stamme apekatter

Hva mener vi med ad-hoc? Gammel definisjon; Folk får lov til å kjøre SQL eller BO Querypanel etter egen lyst Ingen krav til filtere, ingen krav til Join, ingen restriksjon på sortering Så da får vi kartesiske produkter som skal grupperes på ikke-aggregerte felt og deretter sorteres synkende på uindekserte kolonner Oppdatert, og mye vanskeligere definisjon; Et uforutsett behov for å sammenstille tall på måter vi ikke har tilrettelagt for i varehuset Det kan innebære at tallene ikke er i varehuset overhode Eller at de heller ikke ligger i noe fagsystem vi råder over 4 09. Februar 2011

God gammel Ad Hoc Det viktigste er å bygge gode indekser i databasen Gode indekser betyr å bygge index på mange nok enkeltfelt Og det betyr å lage composit-index på felt som naturlig kombineres i spørringer Husk at databasens optimizer må velge seg én av disse pr joinoperasjon mot hver tabell. Om én tabell opptrer flere ganger i queriet kan optimizeren velge ulik index pr opptreden Update statistics For å hjelpe brukerne tilbyr man gjerne views der joiner er forhåndstestet, slik at ad-hoc mest går mot slike views I verktøy som Sybase IQ og Vertica kan man gjøre pre-join av tabeller som alltid skal joines, slik at queriet går fort i run-time 5 09. Februar 2011

Om Ad-hoc Drømmescenario Et mer reelt scenario Et guffent scenario Hvordan forberede for det uforutsette? 6 09. Februar 2011

Ad-Hoc analyse mot et perfekt datavarehus Real-Time datafeed Supply HR ETL / Dataintegrasjon History and Current Area Analyse Rapportering Perf Mgmt Staging Area Meta Data Finans Cleansing Stage Salg Cleansing Master data 7 09. Februar 2011 CRM Access API s - SQL- Native, ODBC, JDBC - Java,.NET, WebServices

Nirvana Alle kildesystemer er komplett dekket, konsistente og up-to-date Alle data som kopler har fått på seg veldokumenterte nøkler med raske datatyper (int) Metadata inneholder alle tekniske attributter og bruker-relevant informasjon (nytte, kontekst, feller man må unngå) Alle kodeverk og støttehierarkier er entydige og komplette (MDM) Alle analyseverdige data ligger i stjerneskjema, på detaljnivå (keep it to the grain), men også med forretningsdrevne aggregater Vi har oppdaterte og veldesignede univers. Ett pr forretningsområde. Og ett for totalen Våre brukere er utdannet på produktene og kjenner egne data godt Juhuu. 8 09. Februar 2011

Utfordringer Ytelse / Ventetid hvis man bruker klassisk database Kan fikses ved å bytte til en kolonneorientert DB (Sybase IQ, Vertica)?? 9 09. Februar 2011

Ad-Hoc analyse mot et mer vanlig datavarehus Nyansatt Planlagt Supply HR ETL / Dataintegrasjon History and Current Area Analyse Rapportering Perf Mgmt Staging Area Meta Data Finans Basis Salg CRM 50% dekket Master data Prosjekt pågår 10 09. Februar 2011

Hvilke krav stiller det? Rapporteringsverktøyet må kunne lese data fra flere kilder og sammenstille i én rapport Datavarehuset + fagsystemer Excelmodeller og annet rask som slenger rundt Det tar mer tid, blir mer manuelt og feil oppstår med større sannsynlighet Det settes store krav til kunnskap 11 09. Februar 2011

Utfordringer Ting koples feil, aggregeres feil, tolkes feil -> Feil resultat Ingen tid til testing og avstemming? Rett i prod? Avvikende funn alle får hver sine tall Kunnskapen strekker ikke til så utviklere må inn og hjelpe til Nå skjer kanskje sammenstillingene i klientverktøyet. Datavolum? Tid? 12 09. Februar 2011

Forberede for Et guffent scenario Når man avgjør hvilke data (tabeller/felt) i kilden som skal være med inn i DWH; Ta med alt. Del evt. på det man mener er viktig (DWH) og det man tar med for forvaltning av corp IQ / for å være forberedt (Arkiv) Ha klart et område i datavarehuset (tablespace el) for uforutsette behov Pass på DWH struktur (konforme dimensjoner, detaljnivå) Ikke ha Univers bare mot DWH. Lag også Univers mot alle kildene samtidig som man jobber med kilden i ETL. Da koster det lite ekstra. God kunnskap om egne Kildesystem er viktig. Dette er ett argument mot lukkede applikasjoner. 13 09. Februar 2011

Forberede for Et guffent scenario Bli kjent med kunnskapsrike nøkkelpersoner på forretningssiden. Gode kommunikasjonslinjer er nøkkelen til forståelse og presisjon Når man oppretter små-filer (Excel ol) må man huske å lagre nøkler også, så informasjonen kan joines inn. Vær kreativ på mulige kilder utomhus (Webben? Partnere?) Det er mange scenarier man tenker at disse var sjokkerende, men det ville kanskje vært mulig å forutse En flodbølge i Asia før eller senere? (Tsunamien) ecoli-utbruddet hos Gilde? Ende-til-ende sporing av mat er ikke nye tanker Vulkanutbrudd i Europa? (Med Vesuv, Teide og Island.*) Hva er en potensiell operasjonell utfordring for din bedrift? Er du klar? 14 09. Februar 2011

We are what we repeatedly do. Excellence, then, is not an act, but a habit. - Aristotle 15 09. Februar 2011