Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Become an Equilibrista: Find the Right Balance ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
FTisiot
December 03, 2019
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Become an Equilibrista: Find the Right Balance in The Analytics Tech Ecosystem
FTisiot
December 03, 2019
More Decks by FTisiot
See All by FTisiot
Apache Kafka JDBC Source Connector: What could go wrong?
ftisiot
0
140
Solve the Knapsack problem with recursive queries and PostgreSQL
ftisiot
0
170
Build an Open Source Data Pipeline
ftisiot
0
350
Get to know Apache Kafka with Jupyter Notebooks
ftisiot
0
780
Fix Your Strings in PostgreSQL
ftisiot
0
300
Practical Tips & Tricks for Apache Kafka Messages Integration
ftisiot
0
270
Track Database Changes with Apache Kafka
ftisiot
0
320
Apache Kafka and Flink: Stateful Streaming Data Pipelines made easy with SQL
ftisiot
0
990
Kickstart your Kafka with Faker Data
ftisiot
0
470
Other Decks in Technology
See All in Technology
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
Android skills に学ぶ
kokiko
0
130
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
270
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
430
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
150
LanceDB入門
mocobeta
9
630
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.3k
自宅NWにISR4331を導入してみた話
okaits
0
110
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Designing for Timeless Needs
cassininazir
1
450
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
First, design no harm
axbom
PRO
2
1.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Transcript
Francesco Tisiot - @FTisiot Analytics Tech Lead Become an Equilibrista
Find the Right Balance in The Analytics Tech Ecosystem
Verona, Italy http://ritt.md/ftisiot Over10 Years in Analytics
[email protected]
@FTisiot Oracle
ACE Director ITOUG Board President Francesco Tisiot Analytics Tech Lead
Data Engineering Analytics Data Science www.rittmanmead.com
[email protected]
@rittmanmead
A bit of History
Excel Hell
https://www.rittmanmead.com/blog/2018/11/where-are-my-users-coming-from-analysing-obiee-connections-methods/
Unique Source of Truth
None
None
None
Calculated from Scratch Calculated from Scratch AGREEM ENT
Sourced from Certified Datasource Calculated from Scratch
Approach to Data Certification
Top-Down Approach Data Model Definition Implementation Analysis Centralized BI OBIEE
- RPD LOOKER
Bottom-Up Approach Datasource Creation Analysis Datasource Publication Self Service Oracle
Data Visualization Tableau
Top-Down vs Bottom-Up KPI Duplication Security Time To KPI Reusability
Performance
Reusability / Security DataSource A DataSource B Shared Dimension(s) Centralised
BI
Reusability / Security DataSource A DataSource B Dim X Self
Service BI Dim X
Self-Service BI
Self Service Centralised
The Right Tool: OAC
Sourcing from Central System Select "Dim Account"."Account Code", "Fact Churn"."Churn
Prediction" from "Churn" No Formula Recalculation No Join, Filtering, Aggregation Knowledge Security Inheritance No Code Duplication
None
Hybrid
Self Service Centralised
Awareness
Documentation
RPD Metadata Dictionary
Suggestions
Complexity Key Factors Security Data Volumes Interest
Key Factors Centralised Self Service Complexity Low High Interest Narrow/Unique
Wide/Repeated Security Easy Complex Data Volumes Small Big
Self Service Centralised ?
Control
Keeping Track Usage Tracking!
Usage Tracking SELECT DISTINCT USER_NAME, NVL(QUERY_SRC_CD, 'RPD ODBC') SOURCE, TRUNC(START_TS)
TS FROM S_NQ_ACCT WHERE AND ( QUERY_SRC_CD IS NULL OR UPPER(QUERY_SRC_CD) IN ('SOAP', 'RAWSQL') ) AND QUERY_TEXT NOT LIKE '{CALL%' ORDER BY 3 DESC;
Self Service?
Calculation
<saw:report ...> <saw:criteria xsi:type=“…” subjectArea=“"Jira Reporting""> <saw:columns> <saw:column …> <saw:columnFormula>
<sawx:expr xsi:type=“…”>”Dim Issue Status"."Issue Status”</…> <saw:column …> <saw:columnFormula> <sawx:expr xsi:type=“…”>”Fact Issue KPI"."# of Issues"</…> Metadata
https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints
https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints curl “https://<OAC>/datasetsvc/ public/api/v4/datasets” \ -u ‘<USER>:<PWD>'
{ "provider": "managed", "requiresImpersonation": false, "semicolonDelimited": false, "customDelimiter": false, "name":
"train", "namespace": "
[email protected]
", "business-model": "\"\"", "description": "Uploaded from train.csv.", "display-name": "train", "locale": "sys", "file-length": 460676, "type": "text", "data-last-modified": "2019-04-08T08:19:34.481+0000", "private-connection": false, "mime-type": "application/csv", "owner-guid": "
[email protected]
", "metadata-last-modified": "2019-04-08T08:22:20.928+0000", "bdp-profile": "{\"profile\":\"784c4626-ebd6-4a01-b5dc-1a3ccd0fee1a\"}", "is-temporary": false } REST Endpoints - CSV
{ …, "name": "OPEN_INCIDENTS", "namespace": "
[email protected]
", "business-model": "\"\"", "indexable": "BOTH",
"description": "External Data Set", "display-name": "OPEN_INCIDENTS", …, "data-last-modified": "2019-03-19T16:07:22.732+0000", "connection-namespace": "
[email protected]
", "private-connection": false, "connection-name": "LGI", "provider-type": "db", "provider-name": "oracle", "owner-guid": "
[email protected]
", … } REST Endpoints - DB
REST Endpoints - DB Details api/v4/datasets/{dataset-uri} {dataset-uri} = ‘<USERNAME>’.’<DATASET_NAME>’
REST Endpoints - DB Details
{ "id": "LGI", "leaf": false, "otype": "Schema", "name": "LGI", "children":
[ { "id": "LGI.OPEN_INCIDENTS", "leaf": false, "otype": "dbtable", "name": "OPEN_INCIDENTS", "allColumns": [ { "datatype": "number", "name": "OPEN_INCIDENTS", "is-supported": "TRUE", "otype": "Column", "leaf": true, "id": "LGI.OPEN_INCIDENTS.OPEN_INCIDENTS" }, { "datatype": "varchar(30)", "name": "ISO_YEAR_WEEK", "is-supported": "TRUE", "otype": "Column", "leaf": true, "id": "LGI.OPEN_INCIDENTS.ISO_YEAR_WEEK" }, REST Endpoints - DB Details
REST Endpoints - Dataflows api/v4/dataflows/{dataflow-uri} {dataflow-uri} = ‘<USERNAME>’.’<DATAFLOW_NAME>’
{ "datagen-name": "Clean Wine Dataflow", "namespace": "
[email protected]
", "definition": { "steps":
[ { "stepId": "InputDataset_0", "description": "winemag-data_first150k", "type": "InputDataset", "stepDisplayName": "winemag-data_first150k", "stepDescription": "", "datasetRef": "ds_0", "qualifiedTable": "XSA(ds_0).\"Columns\"", "datasetDescription": "Uploaded from winemag-data_first150k.xlsx.", "datasetType": "excel", "datasetDisplayName": "winemag-data_first150k", "inputType": "all", "parameters": [], "promptForInputSource": [] }, REST Endpoints - Dataflow Detail
{ "stepId": "AddColumns_0", "description": "Add Columns", "type": "AddColumns", "stepDisplayName": "",
"stepDescription": "", "columns": [ { "name": "TRAIN OR TEST", "expression": "case when RAND() < 0.8 then 'Train' else 'Test' end", "datatype": "varchar(4000)", "aggrule": "none", "srcexpression": "case when RAND() < 0.8 then 'Train' else 'Test' end", "transformationtype": "Calculation" }, { "name": "Length of Description", "expression": "CHAR_LENGTH(\"description\")", "datatype": "integer", "aggrule": "sum", "srcexpression": "CHAR_LENGTH(XSA('
[email protected]
'.'__CLIENT_FLOW_DATASET__'). \"Columns\".\"description\")", "transformationtype": "Calculation" } ] } REST Endpoints - Dataflow Detail
None
https://www.oracle.com/solutions/business-analytics/data-visualization/extensions.html
Data Governance Extension
Displays only objects visible to you!
BAR File
BAR File
DEMO
Oracle Data Catalog http://ritt.md/oow19-datacatalog Inventories of Data Assets
Oracle Data Catalog Inventories of Data Assets http://ritt.md/oow19-datacatalog
RM Metadata Explorer
RM Metadata Explorer Use Cases Data Lineage GDPR DataFlow ->
ODI Mapping Metadata Search Tool Data Capital
Self Service Analytics
Centralized Reporting
Measure
Tech Days 2020 Milan 29th Jan Rome 31st Jan
Francesco Tisiot BI Tech Lead Become an Equilibrista Find the
Right Balance in The Analytics Tech Ecosystem