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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
280
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.6k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
6.2k
猫付きpingコマンドを自作
uyuki234
0
250
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
210
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
AIのためのEthernet技術動向 (SerDes)
markunet
1
160
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
5.9k
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
170
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
490
Bash Introduction
62gerente
615
220k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
Abbi's Birthday
coloredviolet
3
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
540
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Accessibility Awareness
sabderemane
1
180
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