SlideShare a Scribd company logo
1 of 56
Download to read offline
Jak se staví velké datové
sklady
#20
30. 01. 2018
Prague Data Management Meetup
Agenda
• Prague Data Management Meetup
• Jak se staví velké datové sklady
• Případová studie: Datový sklad v gruzínské bance
Prague Data Management Meetup
Data Management
Data Acquisition
Data Storing
Data Integration
Data Analytics
Data Usage
• Open professional group
• Everyone is welcomed
• There are no bad topics☺
• Since September 2015
History
# Date Topics
1 10. 9. 2015 Data Management
2 14. 10. 2015 Data Lake
3 23. 11. 2015 Dark Data (without Dark Energy and Dark Force)
4 12. 1. 2016 Data Lake
5 7. 3. 2016 Sad Stories About DW Modeling (sad stories only)
6 23. 3. 2016 Self-service BI Street Battle
7 27. 4. 2016 Let's explore the new Microsoft PowerBI!
8 22. 9. 2016 Data Management pro začátečníky
Data Management for Beginners
9 17. 10. 2016 Small Big Data
10 22. 11. 2016 Základy modelování DW
DW Modeling Basics
# Date Topics
11 23.1.2017 Komponenty datových skladů
Data Warehouse Components
12 28.2.2017 Operational Data Store
13 28.3.2017 Metadata v DW/BI
DW/BI Metadata
14 25.4.2017 Jak se stát DW/BI konzultantem
Be DW/BI Consultant
15 16.5.2017 SQL
16 29.5.2017 From IoT to AI: Applications of time series data
17 26.9.2017 Aktuální trendy v data managementu
18 24.10.2017 Datové platformy na technologiích Oracle
19 21.11.2017 Big Data rychle a zběsile
20 30.1.2018 Jak se staví velké datové sklady
Data Management
Big Data
Data Warehouse
• Konsolidovat data z nejrůznějších
zdrojů v požadované kvalitě a čase
• Poskytovat srozumitelné informace
různým účelům a skupinám uživatelů
• Poskytovat možnosti, které zajistí
flexibilní a účinný ad-hoc reporting a
analýzu
• Orientace na subjekt
• Integrace
• Nízká proměnlivost
• Historizace
• Hlavní perspektivy
• Datová integrace
• Datová úložiště
• Datové zdroje
• Datová analytika
• Rozšíření
• Zpracování událostí (Complex Event
Processing) pro zpracování událostí
v reálném čase
• Aplikační integraci zejména pro integraci
v pokud možno reálném čase a podporu
provozních procesů
• Operational Data Store pro uložení
aktuálních dat, které jsou potřeba pro
podporu provozních procesů
• Big Data
EDW, DW, DSS, ADS, ADW, DP…
Source: IBM
Typy Data Warehouse
Fyzická Data Warehouse
• Klasická relační databáze.
• Výhody:
• Reálné uložení dat snižuje nároky na
governance
• Stabilita a možnost transformací pro
mandatorní reporting.
• Snadnější standardní metody data
miningu
• Nevýhody:
• železo – Hardware, při fyzickém uložení
resp. přeuložení
• máme data vícekrát.
Logický Data Warehouse
• Data neukládám do konsolidované
struktury, ale říkám jak je jednotně číst.
• Nový trend – Big Data, Query Engine.
• Výhody:
• Data mám pouze jednou a to v podobě
primárního systému.
• Neztrácím informace fyzickými
transformacemi do jednotné struktury.
• Nevýhody:
• Náročná Governance
9
10
1985 - 1995 Pravěk
• Kontrolovaný chaos
• Hledání best practices
• Ručně psané skripty
• Analytika nad
relačními daty
1995 - 2005 Starověk
• Souboj škol: Kimball vs.
Inmon
• Formování Best
practices
• Enterprise Data
Warehouse
• Integrační nástroje
• OLAP
• Analytika nad
relačními daty
2005-2015 Novověk
• High-end tradiční Data
Warehousing
• Hub-and-spoke architektura
• Governance
• MDM
• ELT
• Data Vault
• Data Mining
• DW appliance
• Sloupcové DB
• In-memory DB
• Hadoop stack
• Oddělená analytika nad
relačními a nerelačními daty
2015 - ? Současnost
• Logický datový sklad
• Datová platforma
• Extended Data Warehouse
• Data Lake
• Polyglot
• Kappa / Lambda
• Databus
• Data Pipeline
• Real-time integrace
• Big Data ETL
• Open Source
• Big Data Analytics
• Self-service
• Data Science
• Machine Lerning
• Hadoop bez hadoopu
• Stream Analytics
• Analytika nad všemi daty
• ???
Megabyty PetabytyTerabytyGigabyty
Historie
11
AKTUÁLNÍ TÉMATA PŘI STAVBĚ DATOVÝCH SKLADŮ (MALÝCH I VELKÝCH)
Architektonické inovace
Logický datový sklad
Analytická datová platforma
Extended Data Warehouse
(XDW)
Data Lake / Data Reservoir
Polyglot / Kappa / Lambda /
Databus
Data Archive
Big Data
Sandboxing
Data Refinery
Data API
Hardwarové inovace
Clustery z komoditního HW
Appliance (DB & Hadoop)
NVRAM
SSD & Flash disky
Vysokokapacitní SATA disky
Software-in-silicon
Nové datové zdroje
Externí data
IoT
Sociální sítě
Logy
Nestrukturovaná data
Softwarové inovace
In-memory RDBMS
Sloupcové RDBMS
Distribuované file systémy
NoSQL (dokumenty, grafy…)
In-memory processing
Big Data technologie
Apache „ETL“
NoSQL DBMS
Speciální SW pro HW appliance
Datová federace
Query enginy
ELT, ETL/ELT
Open source ETL
Big Data ETL
Datová federace
Query enginy
Self-service BI / ETL
Data Discovery / Big Data
Discovery
Real-time integrace
In-database Analytics
CDC 2 Hadoop
Massive Parallel Processing
Automatizace DW
Analytické inovace
Pokročilá analytika
Machine Learning
Artificial Intelligence
Prediktivní analytika
Preskriptivní analytika
Big Data Analytics
Visual Analytics
Spatial and Graph Analytics
Data Discovery
Organizační & Governance inovace
Big Data Data Governance
Kolaborace
Agilita
Datová demokratizace
Data Science
Integrovaná metadata
Industry Data Model
NoSQL Data Modeling
Nové provozní modely
Public Cloud
Private Cloud
Hybrid Cloud
Rychlost
Provoz
Analytika
Produktivita
Provoz
Gartner: Magic Quadrant for Data Management Solutions for Analytics 2017
Malý DW Střední DW
Velký DW
Velikost je pouze sekundární problém
0
10
20
30
40
50
60
7.2.2010 7.2.2011 7.2.2012 7.2.2013 7.2.2014 7.2.2015 7.2.2016
Reálný datový sklad v čase (TB)
Malý datový sklad
Střední datový sklad
Velký datový sklad
Výzvy při stavbě velkých datových skladů
Celková
architektura
Datová
architektura
Data Tiering Data Lifecycle
Paralelní
zpracování
Efektivní
uložení dat
SLA
Datová kvalita Celkový scope
Nastavení
souvisejících
procesů
Provoz řešení
Technologická
platforma
Uživatelé
Vývojový
cyklus
Uložení dat
Technologické
limity
Evoluce řešení Náklady na TB
Metadata
Management
Regulační
rámec
Multi-instance
Monitoring
Hybridní
distribuovaná
řešení
Distribuované
týmy
Velké objemy
dat
Backup a
obnova
Velké řešení => Komplexní Governance nutná
Concepts
Vision & Mission
Guiding Principles
Organization & Roles
Business Rules
Activities
Scope
Benefits & Goals
Components
Data Architecture
Data Quality
Data Integration
Operations
Security
RDM & MDM
Metadata
Data Platform & BI
Tools
CASE
Enteprise Metadata Repository
Data Quality Tools
QA Framework
Workflow & Orchestration
IDE
Audit Log
Resource Management
RDBMS
NoSQL
Hadoop
Integration tools
Monitoring
Source Code Repository
Testing Tools
Others
Why What How
Small & Midsize DW
Midsize & Large DW
Midsize & Large DW
ADASTRA INFORMATION MANAGEMENT REFERENCE ARCHITECTURE
ODS
Operational
reporting
Enterprise DWH Big Data
Platform
Data Lake
Event
Processing
Semantic
Models
Advanced Analytics
Perceptual / cognitive intelligence
Information Management
Relational / Structured data Unstructured data Streaming
Data Workflow
Orchestration
Data Transformation /
Processing
Data
Management
Event Ingestion
Complex Event
Processing
Notifications
BI / Application
Integration
Machine Learning
In-database Data Mining, R
Recognition of human
interaction and intent
SMP and MPP
In-memory technologies
In-memory Columnar
In-memory technologies Hadoop, NoSQL
Business Intelligence / Data Delivery
Real-time DashboardsDashboards and visualizationsReports Self-service BIMobile BI
IoT Network
Field Gateway
Big data
OLAP
GovernanceMetadataSecurityMethodology
Data Access
Layer
Store Layer
Big Data Platform (BDP)
Transport
Layer
Data Sources
SpeedDirect
<WWW>
<Web
Service>
<Message>
<XML>
<Database>
Batch
Integration
Layer
Information Delivery
Layer
Stream
Big Data
ETL
Change
Data
Capture
Landing & Raw Zone (RL) Service Zone (SZ)
File (F) Database (D)
Analytical
Playgrounds (AP)
Sandboxes (SB)
Hadoop
Data marts (HD)
DWH
Archive (DA)
Platform Log (PL)
Data Warehouse (DW)
Stage (L0) Core (L1)
L2 DM
L2 DM
RDM & MDM (MDM)
Data
Connectors
Federation
Query
Engine
Data API
Web GUI
Analytical Zone
<Python, R>
BI Application Zone
BI Zone
Exploration Zone
Management Layer
BI Applications
Data Profiling
Data Discovery
<Log>
BI & Visual Analytics
Analytics
Adv. Analytics
Machine Learnings
Monitoring
Alerts
&Notifications
Security
Workflow
Management
Release
Management
Metadata
Management
Resource
Management
Scheduling
Big Data L0
<File>
ELT/ ETL
& Data
Quality
Temporary Zone (TZ)
File (F)
Database (D)
(L2)
File (F)
Database (D)
Data Warehouse Components
Data Stores Access Tools Metadata
Data
Integration
Tools
Administration
and
Management
Development
Tools
Not only technology!
Party
Product
Account
Application
Communication
General Ledger
Campaign Management
Collection
Accounting
Data Model (Before & After)
Data Source
Data
Warehouse
Stream Processor
Stage Database
ETL/ELT
Custom Development
Big Data ETLBig Data Filesytem
Data Services
Data Extractor File System
Messaging
Change Data Capture
Big Data Stage DB
NoSQL
Many Ways from Data Sources to Data Warehouse
Příklady datových zdrojů
Apache Derby Apache HDFS Apache Hive Apache Hbase Apache Kafka Cloudera CDH dBase
HyperSQL
Database Engine
IBM DB2
IBM DB2 for
Linux Unix and
Windows
IBM DB2 for i IBM DB2 for z/OS IBM Informix
IBM Informix
Dynamic Server
(DS)
IBM Informix
Extended Parallel
Server (XPS)
IBM Netezza NPS
IBM Websphere
MQ
Ingres InterBase
ISO Database
Language SQL
(generic SQL-92
database)
Java Message
Service (JMS)
Microsoft Access Microsoft Excel
Microsoft SQL
Server
MySQL Server Oracle Database Oracle Essbase
Oracle Hyperion
Planning
Oracle Service
Bus
Oracle TimesTen
In-Memory
Database
Paradox Pervasive PSQL
PostgreSQL SAP BW SAP ERP ECC
Teradata
Database
Textové soubory XML soubory JSON soubory
24
DATA LAKE
Pouze koncept, nikoliv technologie
Masivní snadno dostupné datové uložiště postavené na big data
technologiích
Ukládání všech dat v původní formě pro pozdější další využití
Snadná a rychlá dostupnost pro všechny
„Brute force“ eliminace datových sil
Kontroverzní téma jak řešit Big Data
Velký potenciál pro využití všech dostupných dat
Neomezená historie
Surová data bez transformačních chyb
Ideální enteprise stage pro Data Warehouse
Velký potenciál pro datovou bažinu
Zatím problémy s velkým množstvím konkuretních
uživatelů (cachování)
Nelze nahradit datový sklad 1:1
Co se stane,
když se to
nepovede
Landing Zone
Raw Zone
Publishing Zone
Tradiční DWH vs. Data Lake vs. Rozšířený DWH (XDW)
25
Traditional Data Warehouse (DW) Data Lake (DL) Extended Data Warehouse (XDW)
Data Structured Structured & Semi-Structured & Unstructured Structured & Semi-Structured & Unstructured
Data Processing Processed Raw Processed & Raw
Data Schema Schema-on-write Schema-on-read Schema-on-write & Schema-on-read
Data Model Relational Object-based Relational & Object-based
Data History Hierarchically archived No hierarchy Hierarchically archived & No hierarchy
Agility Fixed configuration Reconfigured anytime as needed Fixed configuration
Reconfigured anytime as needed
Security Mature Maturing Mature
Primary Users Data analysists &
Business professionals
Data Scientists Data analysists & Business professionals &
Data scientists
Technology RDBMS NoSQL DBMS
Hadoop
Other distributed storages
RDBMS
NoSQL DBMS
Hadoop
Other distributed storages
Agility Low High Medium
Added Value Medium Medium High
Cost High Low Medium
Data Integration
Custom Scripts
ELT vs. ETL
Real-time
Change Data Capture
Logical Mapping
Physical Mapping
Workflow
Parallelism
Dependencies
Restartability
Error Handling
Scheduling
Events
Monitoring
QA
Testing
Design Patterns
Design Standards
Kappa Architecture
Lambda Architecture
Data Quality
Matching
Data Cleanup
Data Profiling
Data Checks
INTEGRAČNÍ ARCHITEKTURY
ETL vs. ELT Big Data ETL: ETL on Hadoop vs. ELT in Hadoop
Lambda = Kappa + Batch Layer
Kappa = Lambda – Batch Layer
Polyglot / Big SQL
Sources: Ericsson, Oracle, Software Advice
ADS01_INSTADDR_SFC00_IM
ADS01_INSTADDR_CCB00_FRADS01_INSTADDR_ICB00_IM_ICB0
6
ADS01_INSTADDR_ADS01_IM_GE
N
ADS01_INSTADDR_AUT00_IM
ADS01_INSTADDR_ADS01_IM_GE
NA
ADS01_INSTADDR_ADS01_IM_GE
NB
ADS01_INSTADDR_ADS01_IM_MK
T
ADS01_INSTADDR_ADS01_IM_LNK
ADS01_INSTADDR_ALB00_FD_CO
NTADS01_INSTADDR_ALB00_FD_RESI
DADS01_INSTADDR_ALB00_IM_CO
NTADS01_INSTADDR_ALB00_IM_RES
ID
ADS01_INSTADDR_BND00_FR
ADS01_INSTADDR_CMD00_IMADS01_INSTADDR_COR00_FR_CO
NTADS01_INSTADDR_COR00_FR_PER
M
ADS01_INSTADDR_ERN00_ID
ADS01_INSTADDR_ERN00_IM
ADS01_INSTADDR_FIP00_FRADS01_INSTADDR_HYP00_FR_COR
PADS01_INSTADDR_HYP00_FR_PRI
V
ADS01_INSTADDR_IBS00_FRADS01_INSTADDR_ICB00_FD_CON
TADS01_INSTADDR_ICB00_FD_PER
M
ADS01_INSTADDR_ICB00_IM_CON
TADS01_INSTADDR_ICB00_FR_PER
MADS01_INSTADDR_IND00_IM_CO
NTADS01_INSTADDR_IND00_IM_PER
M
ADS01_INSTADDR_ING00_FD
ADS01_INSTADDR_ING00_IM_BEN
ADS01_INSTADDR_ING00_IM_CN
ADS01_INSTADDR_ING00_IM_EM
ADS01_INSTADDR_ING00_IM_PM
ADS01_INSTADDR_NAS00_IM
ADS01_INSTADDR_PUR00_UPADS01_INSTADDR_VIS00_FR_BHL
DRADS01_INSTADDR_VIS10_FR_CAR
D
ADS01_INSTADDR_CMD00_IM_A
ML
ADS01_INSTADDR_CCB00_FR_BADS01_INSTADDR_ERN00_IM_INS
CY
ADS01_INSTADDR_CRU00_FR_OFF
ADS01_INSTADDR_CRU00_IM_ON
ADS01_INSTADDR_EXT00_IM
ADS01_INSTADDR_CAP00_FR
ADS01_INSTADDR_HRD00_IMADS01_INSTADDR_HYP00_FR_SEL
COM
ADS01_INSTADDR_HYP00_FR_SELL
ADS01_INSTADDR_GRF00_IM
ADS01_INSTADDR_UDB00_FRADS01_INSTADDR_ALB00_FR_PER
SADS01_INSTADDR_ALB00_FR_OW
NADS01_INSTADDR_ALB00_FR_CO
MP
ADS01_INSTADDR_EXT00_FR_PRO
ADS01_INSTADDR_ADS01_ID_PROADS01_INSTADDR_ADS01_IM_CM
T
ADS01_INSTADDR_EXT00_IM_POSADS01_INSTADDR_VIS10_IM_CPE
RMADS01_INSTADR_AVQ00_FR_AVQ
01ADS01_INSTADR_AVQ00_FR_AVQ
02
ADS01_INSTADDR_TLS00_IM_OC
MT
ADS01_INSTADDR_ING00_IM_PFO
WP
ADS01_INSTADDR_ING00_IM_PFO
WC
ADS01_INSTADDR_ING00_IM_PFP
YP
ADS01_INSTADDR_ING00_IM_PFB
PE
ADS01_INSTADDR_ADS01_FD_PFADS01_INSTADDR_CAP00_FR_ISS
UER
ADS01_INSTADDR_SFC00_UP
INST_ADDR_KEY K K
LOCATED_ADDR_KEY U C U U U C C C U U
ADDR_PURP_KEY U
C +
U C U U U U C U C C C C C C U C U U
C +
U
C +
U C C C C K K C U K C
C +
U C U C C C U U U C C C C C C U C C C C C C C C C U
POS_KEY
C +
U C
C +
U C C C U U
INST_PT_KEY U U U U U U U U U U U U U U U U U U U U U U U U K K K U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
POS_CHAIN_KEY
C +
U C
C +
U C C C U
CNTRY_KEY U U U U U U U U U C U U U U U U U U C C C U U U U U U U U C U U U U U U C U U U U
STREET_NAME U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U I U U U U U U U U U U U U U U U U U U U U
STREET_NUM U U U U U U U U U U U U U C U U U U U U U U C U U U C C C U U U U U
CITY_NAME U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
LAND_REGISTRATION_
NUM U U U U U U U U U U C C U U U U U U U U
ZIP U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
SRC_SYS_ID
C +
U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K
SRC_ID U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K I I U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K
DEL_FLAG U
C +
U U
C +
U
C +
U
C +
U
C +
U U U U U U U
C +
U
C +
U
C +
U
C +
U
C +
U U
INS_PROCESS_ID
INS_DT
UPD_PROCESS_ID
UPD_DT
UPD_EFF_DATE U
ADDR_VALID_KEY U C U U U U C C U
APPL_KEY
C +
U C
C +
U C C U
VALID_DATE U C U U U C C C C C C C C C C C C C C C C C C C C C U C
CUST_VERIF_FLAG U U U U U U
INST_ADDR_SINCE U U U U U C U U U U U
INST_ADDR_TO U U U U U U U U U
SRC_UPD_DT
EXTRACT_DT
RN U U U U U U U U I I I U
RULE_SET_KEY C C C C U
BUS_KEY U U C C C U U
ORIG_INST_ADDR_KEY U U U D U C C C C C
BUS_UPD_DATE U U
LATITUDE U U U U
LONGITUDE U U U U
ADDR_FULL_TEXT U U
ADDR_NOTE U U
Data
mappings
from many
data sources
into Address
table
Oracle Data Integrator
Pentaho Data Integration
Partitioning & Paralelismus
• Partitioning = Rozdělení tabulky na více
fyzických oddílů (partition)
• Výhody
• menší množství dat (= větší rychlost dotazů)
• omezení zamykání (= větší rychlost zápisů)
• možnost nastavení indexů a jiných atributů
zvlášť pro každý oddíl
• Nevýhody
• údržba
• Paralelismus = zpracování více operací
současně
• Nutné opravdu komplexní workflow ETL
• Vyšší utilizace HW
• Vyšší rychlost zpracování
• Pouze pokud je dost zdrojů
• Nutné vyvážení
• Vyšší konkurence na zdrojích
• Typy
• Parelizace operace (intra)
• Jedno ETL čte/zapisuje pomocí více session
• Paralizace operací (extra)
• Více ETL běží současně a soupeří o zdroje
Regular
table
Partitioned
table
Datová kvalita: Data nebývají konzistentní
Zdrojový
systém #1
Zdrojový
systém #2
Jméno Příjmení RČ Adresa
Pepa Radost 111111/1111 Na Kovárně 3, Bráník, Praha
Josef Radost 111111/1111 Praha
Martin Matuszczyk 666/666 SlovenskoPolského přátelství 4, Praha
Robert Miškuf 999999/9999 Slovensko-polského přátelství 4, Praha
ID Jméno Příjmení RC TYP ICO Město Ulice Popis
1 Pepa Radost 111111/1111 FO Praha Na Kovárně 3 Branik
4 Josef Radost 111111/1111 FOP 11150 Praha
2 Martin Matuszczyk 666/666 FO Praha
Slovenskopolského
přátelství 4,
3 Robert Miškuf 999999/9999 FO Praha
SlovenskoPolského
přátelství 4, 4. patro
Metadata
Technical
metadata
Business
metadata
Static metadata
Dynamic
metadata
Context
metadata
Data model
Transformation
model
Methodology
CASE
34
Tools to create data models
Typical Metadata Backbone
Primary generic
principles of the data
warehouse solution
(goals and objectives)
Logical architecture
document
Physical architecture
document
Environment map
Logical data model
name and design
standard
Data history and
retention strategy
Physical data model
design standard
including partitioning
List of acronyms Business rule document KPI catalogue
Transformation design
standard
Process definition for
analysis, design,
development, testing,
release management
and bug fixing
Templates for analysis,
design, development,
testing, release
management and bug
fixing
Test catalog Developer guideline
Operation guideline
including DR strategy
Quality assurance SLA templates
Information delivery
strategy
Data Mart strategy Data Quality strategy
Business entity mapping
to data model with
examples for end users
Business data domain
document
Security architecture
DW/BI Administration & Management
Daily operations Environments Data quality checks
Managing and
updating metadata
Auditing and
reporting data
warehouse usage
and status
Purging data
Replicating, sub-
setting and
distributing data
Backup and
recovery
Data warehouse
storage
management.
Bug tracking and
fixing
EA CommitteeBusiness
owners
Risk
Collections
Finance
Marketing
Sales
Business EA
IT EA
Data EA
IT
DWH team
Development:
• L0
• L1 CDM
• L2 Data Marts
• BI Tools
Operation:
• DB, BI
• Infrastructure
Development
Life-Cycle
Offshore
(optional)
Business /IT
Requirement
EA Impact analyses
ImplementationTesting
Review
Data Warehouse / Business Intelligence Delivery
Technologie
Stack Others
RDBMS
Oracle Database
MySQL
Microsoft SQL Server
Microsoft SQL Server APS
Azure SQL Data Warehouse
Amazon Redshift
Apache Kudu
HPE Vertica
IBM dashDB
IBM DB2
PostgreSQL
SAP HANA
SAP IQ
SAP SQL Anywhere
Teradata Database
ETL/ELT
Oracle Data Integrator
Oracle Golden Gate
MS Integration Services
Azure Data Factory
Apache Nifi
Clover ETL
IBM InfoSphere DataStage
Informatica PowerCenter
Pentaho Data Integration
SAP Data Services
SAS Data Integration
Talend Data Integration
BI & Analytics
Oracle Big Data Discovery
Oracle Business Intelligence
Oracle Essbase
Oracle R Enterprise
Azure Machine Learning
MS Analysis Services
MS Excel BI
MS Power BI
MS Power BI Services
MS Reporting Services
Revolution R
Amazon QuickSight
GoodData
IBM Cognos Reporting
IBM Watson Analytics
Microstrategy Analytics
Qlik Sense
Qlikview
SAP Business Objects
SAS Visual Analytics
Tableau
Teradata Aster Discovery Platform
Appliances
Oracle Exadata
Oracle SuperCluster
MS Analytic Platform System
IBM Netezza Twinfin
SAP HANA
Teradata Data Warehouse Appliance
HPE Vertica Analytics System
+ Big Data Stack
SMP MPP
Data Warehouse Appliance
40
• Appliance = Integrované
platforma
• Optimalizované definovaná
kombinace HW a SW
• Vysoký výkon, vysoká
spolehlivost, vysoká bezpečnost
• Rychlá dodávka a instalace
• Škálovatelnost
• Snadná administrace
• Jednotný support i patchování
• Podpora pro různé typy úlohy
Big RDBMS Big Data
Obrovský výkon
Potenciál pro úspory
Velké počáteční investice
Na míru konkrétní technologii
Datový sklad v gruzínské bance
Případová studie
41
PROFIL BANKY
Univerzální banka
3. největší banka v Gruzii dle celkových
aktiv s největší sítí poboček
Tržní podíl 5,3% (září 2017)
Zákaznický kmen
1,6 milionů fyzických osob
77 000 právnických osob
43
PRODUKTOVÝ PROFIL
Běžné účty
Debetní a kreditní karty
Visa, MC, Unionpay
Retailové, komerční karty
Specializované karty pro hromadnou
dopravu, online sázení, dárkové poukázky,
učitele…
Depozita
Patriot deposit (Lari), spořící účty (USD,
EUR), pásmově úročená depozita
(akumulace), Social deposit…
Investiční certifikáty
Privátní bankovnictví
Půjčky
Klasické půjčky, kontokorenty, Auto půjčky (i
bez povinného pojištění auta), auto leasingy,
půjčky zajištěné zlatem, hypotéky, půjčky na
výstavbu resortů, půjčky pro malé
podnikatele
Platební služby
Mezinárodní převody peněz, pouliční
platební terminály, platební portály,
dokumentární platby, cash collection, provoz
POS terminálů
+ Výplaty a distribuce sociálních dávek a
důchodů pro gruzínskou vládu
FAKTA O GRUZII
Hlavní město Tbilisi
Rozloha 69 700 km² (121. na světě)
Nejvyšší bod Šchara (5 201 m n. m.)
Časové pásmo UTC +4
Počet obyvatel 3 713 804(129. na světě)
Hustota zalidnění 65 obsob / km² (146. na světě)
Jazyk gruzínština, abcházština
Náboženství 83,9 % pravoslaví, 9,9 % islám, 3,9 % arménské apoštolství
Státní zřízení poloprezidentská republika
Vznik 9. dubna 1991
Prezident Georgi Margvelašvili
Předseda vlády Giorgi Kvirikašvili
Měna gruzínské lari (ლ) (GEL)
HDP/obyv. 9 699 USD (104. na světě)
Telefonní předvolba +995
Národní TLD .ge
საქართველო
GRUZÍNSKÉ ZAJÍMAVOSTI
Kolébka vínařství
9000 až 7000 let před naším letopočtem
Křesťanská země od roku 326
Osada Ušugli je nejvýše položená osada v Evropě (2086 až 2200 metrů nad mořem)
První evropská civilizace
Už před 1,75 miliony let žili v Gruzii Hominidé!
2 gruzínská města patří mezi 20 nejstarších měst v Evropě
Kutaisi (cca. 2000 let před Kristem, antická Kolchida)
Mtskheta (cca. 1000 let před Kristem)
Gruzínci nežijí v Gruzii ale v Sakarvelu
Podle Numeo 7. nejlevnější země světa
Většina afrických zemích ale chybí
12 klimatických zón
Domov Petra Bagrationa, Josifa Stalina, Lavrentije Beriji, Eduarda Ševardnadzeho, Michaila Saakašvili
Historicky tři různá písma Nuskhuri, Asomtaruli, and Mkhedruli
Minerální voda Borjomi
„Chuť Sovětského svazu“
Gruzie fakticky díky Rusku nekontroluje dvě své oblasti: Abcházie, Jižní Osetie
Gruzínská abeceda je 1 ze 14 nezávislých světových abeced
ABECEDA MKHEDRULI V PRAXI
ყველა ადამიანი იბადება
თავისუფალი და
თანასწორი თავისი
ღირსებითა და
უფლებებით.
Q'vela adamiani ibadeba
tavisupali da tanasts'ori tavisi
ghirsebita da uplebebit.
Všichni lidé rodí se svobodní
a sobě rovní co do důstojnosti
a práv.
GRUZIE MÁ BOHATÉ KULTURNÍ DĚDICTVÍ
TbilisiMtskheta
Památka UNESCO
GRUZÍNSKÁ KUCHYNĚ V KOSTCE
Puri
Lavaš
Chinkali
Chačapuri
Lobiani
Šašlik
Adžapsandali
Čurčchela
Pelamuši
Tolma
Dolma
49
BUSINESS CASE
▪ Resuscitovat „datový sklad“
▪ Upgradovat přidruženou analytiku
▪ Stabilizovat vnitřní IT prostředí
▪ Velmi flexibilní
▪ Velmi nestabilní
„Agilní vývoj microservice architektury bez microservices a bez klíčových prvků agilního vývoje“
0
5
10
15
20
25
30
Go-to-Live First Year End Second Year End Third Year End
Data Warehouse Planned Sizing for 3Y
CPU Core (Count) Net Storage (TB)
53
PŘEHLED TECHNOLOGIÍ
Oracle
Oracle Database 12.1 EE
Oracle Database Gateway for ODBC
Oracle Exadata Database Machine X5
Oracle GoldenGate
Ostatní
SAP PowerDesigner
Pentaho Data Integration Community Edition
Apache Subversion
AWS EC2
Development, prototyping, source code repository
Microsoft Power BI
Cloudera Enterprise
Adastra
Adastra Workflow Web Console
Adastra Reference Data Web Manager
Adastra Data Governance Framework
Adastra Banking Data Model (ABDM)
Data Model L1/L2
QA Framework
ELT Generator for Oracle (v3.0)
API Generator for Oracle (v4.0)
Workflow Generator for Pentaho DI
FK_INTRSBASRXFACT_INTRSBASRX
FK_GLACC__GLACCTP
FK_GLACC__CCY
FK_GLACC__ACCSTAT
FK_FXRXFACT__FXRX
FK_FXRX_FX_CCY
FX
FK_FXRX__FXRXTP
FK_FXRX__CCY
FK_ENTRTRN__PROD
FK_ENTRTRN__POS
FK_ENTRTRN__MERCH
FK_ENTRTRN__CNL
FK_ENTRTRN__AUTHSTAT
FK_ENTRTRN_DEBIT_ACC
Debit
FK_ACCTRN_MERCH_PT
MERCH
FK_ACCTRN__POS
FK_ACCTRN__CRDB
FK_ACCTRN__CNLFK_ACCTRN__CCY
FK_ACCTRN__ACCTRNTP
FK_ACCTRN__ACCTRNSTAT
FK_ACCTRN__ACC
FK_ACCPRODREL__PROD
FK_ACCPRODREL__ACCPRODRELTP
FK_ACCPRODREL__ACCFK_ACCHOLDFACT__POS
FK_ACCHOLDFACT__MERCH
FK_ACCHOLDFACT__CNL
FK_ACCHOLDFACT__CCY
FK_ACCHOLDFACT__BLOCTP
FK_ACCHOLDFACT__BLOCSTAT
FK_ACCHOLDFACT__AUTHSTAT
FK_ACCHOLDFACT__ACC
FK_ACCBALFACT__ACC
FK_ACC__PT
FK_ACC__GLACC
FK_ACC__CCY
FK_ACC__ACCTP
FK_ACC__ACCSTAT
<<Ref Table>>
Account Status
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Status Key
Identifier
Description
Local Description
Active Flag
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<ADS Table>>
Account
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Key
Party Key
Account Type Key
Account Status Key
Currency Key
GL Account Key
POS Key
Account Number
Account ID
Account Name
Account Symbol
IBAN
Open Date
Activation Date
Close Date
Company Code
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
DATE
DATE
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk5>
<fk1>
<fk2>
<fk3>
<fk4>
<fk6>
<ak>
<pk,ak,fk4,fk5,fk6>
<<Ref Table>>
Account Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Type Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<Ref Table>>
Currency
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Currency Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<<ADS Table>>
GL Account
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
GL Account Key
Account Status Key
Currency Key
GL Account Type Key
GL Account Number
GL Account Group
Description
Party Account Flag
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk1>
<fk2>
<fk3>
<ak>
<pk,ak>
<<ADS Table>>
Party
(<ABDM_DWH_CLIENT_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Party Key
Unified Party Key
Consolidate Party Key
Party Type Key
Party Status Key
Business Sector Key
Legal Form Key
Country Key
Language Key
Housing Type Key
Gender Key
Personal Identifier
Company Identifier
P Code
First Name
First Name Latin
Family Name
Family Name Latin
Middle Name
Business Name
Business Name Latin
Short Name
Short Name Latin
Salutation
Birth Date
Resident Flag
Bankruptcy Flag
Start Date
End Date
Party Identifier
Source System Identifier
Source Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
DATE
INTEGER
INTEGER
DATE
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk8>
<fk7>
<fk1>
<fk6>
<fk2>
<fk5>
<fk4>
<fk3>
<pk,ak>
<ak>
<<ADS Table>>
Account Balance Fact
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Snap Date
Account Key
Balance
Overdraft Balance
Reserve Balance
Planned Balance
Account Hold Amount
Available Amount
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
DATE
INTEGER
NUMBER(19,3)
NUMBER(19,3)
NUMBER(19,3)
NUMBER(19,3)
NUMBER(19,3)
NUMBER(19,3)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk,ak>
<pk,fk>
<ak>
<pk,ak,fk>
<<ADS Table>>
Account Hold Fact
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
Snap Date
Account Hold Fact Key
Account Key
Blocation Type Key
Blocking Status Key
Authorization Status Key
Merchant Key
POS Key
Channel Key
Currency Key
Expiry Blocking Date
Blocking Description
Hold Value Date
Hold Entry Date
Hold Reference Number
Hold Batch Identifier
Hold Amount
Hold Amount Local Currency
Hold Account FX Rate
Source Identifier
Source System Identifier
Update Datetime
Update Process Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Effective Date
Source Update DateTime
DATE
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
DATE
VARCHAR2(255 CHAR)
DATE
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
NUMBER(19,3)
NUMBER(19,3)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
DATE
VARCHAR2(255)
INTEGER
VARCHAR2(255)
DATE
DATE
DATE
<pk,ak>
<pk>
<fk1>
<fk7>
<fk6>
<fk2>
<fk3>
<fk4>
<fk5>
<fk8>
<ak>
<pk,ak,fk1,fk3,fk4>
<<Ref Table>>
Authorization Status
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Authorization Status Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<Ref Table>>
Blocking Status
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Blocking Status Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<Ref Table>>
Blocation Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Blocation Type Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<Ref Table>>
Channel
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
Channel Key
Identifier
Description
Local Description
Source Identifier
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
Channel Category Key
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
INTEGER
<pk>
<ak>
<ak>
<fk>
<<ADS Table>>
Merchant
(<ABDM_DWH_CLIENT_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Merchant Key
Party Key
Merchant Type Key
Merchant Code Key
Merchant Category Key
Business Product Type Key
Channel Key
Merchant Rate
Merchant Commission Rate
Test Mode Flag
Discount Percent
Merchant Contact Person
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Source Update DateTime
Update Effective Date
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
NUMBER(10,6)
NUMBER(10,6)
INTEGER
Number
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk6>
<fk5>
<fk4>
<fk3>
<fk1>
<fk2>
<ak>
<pk,ak,fk6>
<<ADS Table>>
POS
(<ABDM_DWH_CLIENT_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
<<DW Column>>
POS Key
Party Key
POS Type Key
POS Financial Category Key
POS Identifier
POS Description
Opening Hours
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Source Update DateTime
Update Effective Date
SC Code
MFO
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
<pk>
<fk3>
<fk2>
<fk1>
<ak>
<pk,ak,fk3>
<<ADS Table>>
Account Product Relationship
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Product Relationship Key
Account Key
Product Key
Account Product Relationship Type Key
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk2>
<fk1>
<fk3>
<ak>
<pk,ak,fk1,fk2>
<<Ref Table>>
Account Product Relationship Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Product Relationship Type Key
Identifier
Description
Local Description
Main Account Flag
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<ADS Table>>
Product
(<ABDM_DWH_PRODUCT_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Product Key
Contract Key
Product Status Key
Business Product Type Key
System Product Type Key
Term Type Key
Commodity Key
Accrual Basis Key
Point of Sale Key
Channel Key
Bank Module Key
Product Number
Credit Bureau ID
Customer Product Description
Campaign
Promotional code
Open Date
Close Date
Maturity Date
Main Product Flag
External Register Report Flag
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
DATE
DATE
DATE
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<ak1>
<ak2>
<ak1,ak2>
<<ADS Table>>
Account Transaction
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
Account Transaction Key
Transaction Date
POS Key
Credit Account Key
Debit Account Key
Credit GL Account Key
Debit GL Account Key
Account Transaction Type Key
Account Transaction Status Key
Currency Key
Employee Key
Account Transaction Order Key
Entry Transaction Key
Transaction Value Date
Transaction Entry DateTime
Transaction Amount
Transaction Local Currency Amount
Transaction Account FX Rate
Transaction Reference Number
Transaction Authorization Number
Transaction Batch Identifier
Transaction Application Identifier
Transaction Entry Identifier
Transaction Order Identifier
Transaction Document Number
Transaction Ground Description
Cancel Flag
Message For Recipient
Message For Sender
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
DATE
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
DATE
DATE
NUMBER(19,3)
NUMBER(19,3)
NUMBER(10,6)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<pk,ak,fk6>
<fk5>
<fk1>
<fk2,fk8>
<fk3>
<fk4>
<fk6>
<ak>
<pk,ak,fk1,fk5,f...>
<<Ref Table>>
Account Transaction Status
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Transaction Status Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<Ref Table>>
Account Transaction Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Account Transaction Type Key
Account Transaction Category Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
Account Transaction Code
DR/CR Indicator
Level 1 Description
Level 2 Description
Level 3 Description
Level 4 Description
Level 1 Code
Level 2 Code
Level 4 Code
Level 3 Code
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
<pk>
<fk>
<ak>
<ak>
<<Ref Table>>
Credit/Debit
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Credit/Debit Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<ADS Table>>
Entry Transaction
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
Entry Transaction Key
Transaction Date
Entry Transaction Type Key
Entry Transaction Sub Type Key
Entry Transaction Status Key
Debit Account key
Credit Account Key
Product Key
Card Key
Authorization Status Key
Channel Key
Merchant Key
POS Key
POS Type Key
Country Key
Card Transaction Location Key
Acquirer Financial Institution Key
Issuer Financial Institution Key
Currency Key
Original Currency Key
Transaction Amount
Transaction Local Currency Amount
Transaction Original Currency Amount
Transaction FX Rate
Transaction Value Date
Transaction Entry Date
Transaction Expiry Date
Entry Transaction Identifier
Transaction Reference Number
Transaction Authorization Identifier
Transaction Card Mask
Transaction Card BIN Identifier
Transaction Batch Identifier
Transaction STAN Identifier
Source Identifier
Source System Identifier
Update Datetime
Update Process Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Effective Date
Source Update DateTime
INTEGER
DATE
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
NUMBER(19,3)
NUMBER(19,3)
NUMBER(19,3)
VARCHAR2(255 CHAR)
DATE
DATE
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
DATE
VARCHAR2(255)
INTEGER
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<pk,ak>
<fk10>
<fk1>
<fk9>
<fk6>
<fk11>
<fk2>
<fk5>
<fk3>
<fk4>
<ak>
<pk,ak,fk1,fk3,f...>
<<ADS Table>>
FX Rate
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
FX Rate Key
Currency Key
FX Currency Key
FX Rate Type Key
FX Scale
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk>
<fk1>
<fk2>
<fk3>
<ak>
<pk,ak>
<<Ref Table>>
FX Rate Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
FX Rate Type Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<ak>
<ak>
<<ADS Table>>
FX Rate Fact
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Snap Date
FX Rate Key
Buy Rate
Rate
Sell Rate
Value Date
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
Source Update DateTime
DATE
INTEGER
NUMBER(10,6)
NUMBER(10,6)
NUMBER(10,6)
DATE
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
DATE
<pk,ak>
<pk,fk>
<ak>
<pk,ak,fk>
<<Ref Table>>
GL Account Type
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<DW Column>>
<<DW Column>>
GL Account Type Key
Identifier
Description
Local Description
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
GL Account Category Key
NBG_FLAG
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
INTEGER
INTEGER
<pk>
<ak>
<ak>
<fk>
<<Ref Table>>
Interest Base Rate
(<ABDM_DWH_REF_TAB_ADS>)
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Interest Base Rate Key
Period Frequency Key
Identifier
Description
Local Description
Market Flag
Source ID
Source System ID
Delete Flag
Insert Datetime
Insert Process Identifier
Update Datetime
Update Effective Date
Update Process Identifier
INTEGER
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
DATE
VARCHAR2(255)
DATE
DATE
VARCHAR2(255)
<pk>
<fk>
<ak>
<ak>
<<ADS Table>>
Interest Base Rate Fact
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<DW Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
<<Audit Column>>
Snap Date
Interest Base Rate Key
Rate
Source Identifier
Source System Identifier
Delete Flag
Insert Process Identifier
Insert Datetime
Update Process Identifier
Update Datetime
Update Effective Date
DATE
INTEGER
NUMBER(10,6)
VARCHAR2(255 CHAR)
VARCHAR2(255 CHAR)
INTEGER
VARCHAR2(255)
DATE
VARCHAR2(255)
DATE
DATE
<pk,ak>
<pk,fk>
<ak>
<pk,ak>
54
PÁR PROJEKTOVÝCH ZAJÍMAVOSTÍ
Delivery tým obvykle ve 3 časových pásmech
Datové zdroje
Datové zdroje obsahují více než 5000 tabulek
Jeden z primárních systémů běží na exotickém PSQL!
Data jsou v primárních systémech duplicitní
Nutno dohledávat primární kopie dat
Data lineage nástroje (SQLDep, OEMM)
Extrakce dat
Extrakce dat iniciálně systémem pull dávkově a
inkrementálně
Oracle Database Gateway
V plánu přechod na CDC Oracle GoldenGate
Gruzínštinu podporuje pouze UTF
Implementace UTF v MS SQL Serveru není úplně kompatibilní s UTF v Oracle☺
Zpracování dat
Plánovaná efektivní velikost DWH 24TB (až 100TB bez
komprese = > Large Data Warehouse)
Cca. 2000 ELT
Hybridní ELT/ETL architektura
Vysoce paralelní zpracování (Oracle Exadata)
Zcela nový generátor ELT pro Oracle zpětně kompatibilní se
našimi staršími verzemi
Komprese dat
Transkripce latinka – gruzínština a obráceně
Celková architektura
Exadata jako konsolidační databázová platforma
Core systémy & DWH
Součástí DWH je ODS
Součástí DWH je Hadoop
Big Data ETL,
ELT Offloading,
Data archive, Data Lake
GRUZÍNSKÁ PŘÍSLOVÍ
„Budeš-li kupovat, co nepotřebuješ, budeš brzy prodávat, co potřebuješ.“
„Dluh mlčí, ale spát nedá.“
„Kdyby žena byla něco dobrého, byl by i Bůh ženatý.“
„Od cizí námahy bolí srdce, od vlastní záda.“
„Rodiče pro děti, děti pro sebe“
„Někdy jiskrné víno svede, co ani šavle nedovede.“
„Popudil jsi vládce - obrať se k lidu, popudil jsi lid - utíkej.“
„Modli se k Bohu - a sám plav k břehu.“
Final Joke
Consultant
So, your company has large
data warehouse. How many
data marts do you have?
Eleven.
That’s great. But why so
many?
Ten mistakes.
BI Manager

More Related Content

More from Martin Bém

Prague data management meetup 2017-11-21
Prague data management meetup 2017-11-21Prague data management meetup 2017-11-21
Prague data management meetup 2017-11-21Martin Bém
 
Prague data management meetup 2017-10-24
Prague data management meetup 2017-10-24Prague data management meetup 2017-10-24
Prague data management meetup 2017-10-24Martin Bém
 
Prague data management meetup 2017-09-26
Prague data management meetup 2017-09-26Prague data management meetup 2017-09-26
Prague data management meetup 2017-09-26Martin Bém
 
Prague data management meetup 2017-05-16
Prague data management meetup 2017-05-16Prague data management meetup 2017-05-16
Prague data management meetup 2017-05-16Martin Bém
 
Prague data management meetup 2017-03-28
Prague data management meetup 2017-03-28Prague data management meetup 2017-03-28
Prague data management meetup 2017-03-28Martin Bém
 
Prague data management meetup 2017-04-25
Prague data management meetup 2017-04-25Prague data management meetup 2017-04-25
Prague data management meetup 2017-04-25Martin Bém
 
Prague data management meetup 2017-02-28
Prague data management meetup 2017-02-28Prague data management meetup 2017-02-28
Prague data management meetup 2017-02-28Martin Bém
 
Prague data management meetup 2017-01-23
Prague data management meetup 2017-01-23Prague data management meetup 2017-01-23
Prague data management meetup 2017-01-23Martin Bém
 
Prague data management meetup 2016-11-22
Prague data management meetup 2016-11-22Prague data management meetup 2016-11-22
Prague data management meetup 2016-11-22Martin Bém
 
Prague data management meetup 2016-10-17
Prague data management meetup 2016-10-17Prague data management meetup 2016-10-17
Prague data management meetup 2016-10-17Martin Bém
 
Prague data management meetup 2016-09-22
Prague data management meetup 2016-09-22Prague data management meetup 2016-09-22
Prague data management meetup 2016-09-22Martin Bém
 
Prague data management meetup 2016-03-07
Prague data management meetup 2016-03-07Prague data management meetup 2016-03-07
Prague data management meetup 2016-03-07Martin Bém
 
Prague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pubPrague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pubMartin Bém
 
Prague data management meetup 2015 11-23
Prague data management meetup 2015 11-23Prague data management meetup 2015 11-23
Prague data management meetup 2015 11-23Martin Bém
 

More from Martin Bém (14)

Prague data management meetup 2017-11-21
Prague data management meetup 2017-11-21Prague data management meetup 2017-11-21
Prague data management meetup 2017-11-21
 
Prague data management meetup 2017-10-24
Prague data management meetup 2017-10-24Prague data management meetup 2017-10-24
Prague data management meetup 2017-10-24
 
Prague data management meetup 2017-09-26
Prague data management meetup 2017-09-26Prague data management meetup 2017-09-26
Prague data management meetup 2017-09-26
 
Prague data management meetup 2017-05-16
Prague data management meetup 2017-05-16Prague data management meetup 2017-05-16
Prague data management meetup 2017-05-16
 
Prague data management meetup 2017-03-28
Prague data management meetup 2017-03-28Prague data management meetup 2017-03-28
Prague data management meetup 2017-03-28
 
Prague data management meetup 2017-04-25
Prague data management meetup 2017-04-25Prague data management meetup 2017-04-25
Prague data management meetup 2017-04-25
 
Prague data management meetup 2017-02-28
Prague data management meetup 2017-02-28Prague data management meetup 2017-02-28
Prague data management meetup 2017-02-28
 
Prague data management meetup 2017-01-23
Prague data management meetup 2017-01-23Prague data management meetup 2017-01-23
Prague data management meetup 2017-01-23
 
Prague data management meetup 2016-11-22
Prague data management meetup 2016-11-22Prague data management meetup 2016-11-22
Prague data management meetup 2016-11-22
 
Prague data management meetup 2016-10-17
Prague data management meetup 2016-10-17Prague data management meetup 2016-10-17
Prague data management meetup 2016-10-17
 
Prague data management meetup 2016-09-22
Prague data management meetup 2016-09-22Prague data management meetup 2016-09-22
Prague data management meetup 2016-09-22
 
Prague data management meetup 2016-03-07
Prague data management meetup 2016-03-07Prague data management meetup 2016-03-07
Prague data management meetup 2016-03-07
 
Prague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pubPrague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pub
 
Prague data management meetup 2015 11-23
Prague data management meetup 2015 11-23Prague data management meetup 2015 11-23
Prague data management meetup 2015 11-23
 

Prague data management meetup 2018-01-30

  • 1. Jak se staví velké datové sklady #20 30. 01. 2018 Prague Data Management Meetup
  • 2. Agenda • Prague Data Management Meetup • Jak se staví velké datové sklady • Případová studie: Datový sklad v gruzínské bance
  • 3. Prague Data Management Meetup Data Management Data Acquisition Data Storing Data Integration Data Analytics Data Usage • Open professional group • Everyone is welcomed • There are no bad topics☺ • Since September 2015
  • 4. History # Date Topics 1 10. 9. 2015 Data Management 2 14. 10. 2015 Data Lake 3 23. 11. 2015 Dark Data (without Dark Energy and Dark Force) 4 12. 1. 2016 Data Lake 5 7. 3. 2016 Sad Stories About DW Modeling (sad stories only) 6 23. 3. 2016 Self-service BI Street Battle 7 27. 4. 2016 Let's explore the new Microsoft PowerBI! 8 22. 9. 2016 Data Management pro začátečníky Data Management for Beginners 9 17. 10. 2016 Small Big Data 10 22. 11. 2016 Základy modelování DW DW Modeling Basics # Date Topics 11 23.1.2017 Komponenty datových skladů Data Warehouse Components 12 28.2.2017 Operational Data Store 13 28.3.2017 Metadata v DW/BI DW/BI Metadata 14 25.4.2017 Jak se stát DW/BI konzultantem Be DW/BI Consultant 15 16.5.2017 SQL 16 29.5.2017 From IoT to AI: Applications of time series data 17 26.9.2017 Aktuální trendy v data managementu 18 24.10.2017 Datové platformy na technologiích Oracle 19 21.11.2017 Big Data rychle a zběsile 20 30.1.2018 Jak se staví velké datové sklady
  • 7. Data Warehouse • Konsolidovat data z nejrůznějších zdrojů v požadované kvalitě a čase • Poskytovat srozumitelné informace různým účelům a skupinám uživatelů • Poskytovat možnosti, které zajistí flexibilní a účinný ad-hoc reporting a analýzu • Orientace na subjekt • Integrace • Nízká proměnlivost • Historizace • Hlavní perspektivy • Datová integrace • Datová úložiště • Datové zdroje • Datová analytika • Rozšíření • Zpracování událostí (Complex Event Processing) pro zpracování událostí v reálném čase • Aplikační integraci zejména pro integraci v pokud možno reálném čase a podporu provozních procesů • Operational Data Store pro uložení aktuálních dat, které jsou potřeba pro podporu provozních procesů • Big Data EDW, DW, DSS, ADS, ADW, DP…
  • 9. Typy Data Warehouse Fyzická Data Warehouse • Klasická relační databáze. • Výhody: • Reálné uložení dat snižuje nároky na governance • Stabilita a možnost transformací pro mandatorní reporting. • Snadnější standardní metody data miningu • Nevýhody: • železo – Hardware, při fyzickém uložení resp. přeuložení • máme data vícekrát. Logický Data Warehouse • Data neukládám do konsolidované struktury, ale říkám jak je jednotně číst. • Nový trend – Big Data, Query Engine. • Výhody: • Data mám pouze jednou a to v podobě primárního systému. • Neztrácím informace fyzickými transformacemi do jednotné struktury. • Nevýhody: • Náročná Governance 9
  • 10. 10 1985 - 1995 Pravěk • Kontrolovaný chaos • Hledání best practices • Ručně psané skripty • Analytika nad relačními daty 1995 - 2005 Starověk • Souboj škol: Kimball vs. Inmon • Formování Best practices • Enterprise Data Warehouse • Integrační nástroje • OLAP • Analytika nad relačními daty 2005-2015 Novověk • High-end tradiční Data Warehousing • Hub-and-spoke architektura • Governance • MDM • ELT • Data Vault • Data Mining • DW appliance • Sloupcové DB • In-memory DB • Hadoop stack • Oddělená analytika nad relačními a nerelačními daty 2015 - ? Současnost • Logický datový sklad • Datová platforma • Extended Data Warehouse • Data Lake • Polyglot • Kappa / Lambda • Databus • Data Pipeline • Real-time integrace • Big Data ETL • Open Source • Big Data Analytics • Self-service • Data Science • Machine Lerning • Hadoop bez hadoopu • Stream Analytics • Analytika nad všemi daty • ??? Megabyty PetabytyTerabytyGigabyty Historie
  • 11. 11 AKTUÁLNÍ TÉMATA PŘI STAVBĚ DATOVÝCH SKLADŮ (MALÝCH I VELKÝCH) Architektonické inovace Logický datový sklad Analytická datová platforma Extended Data Warehouse (XDW) Data Lake / Data Reservoir Polyglot / Kappa / Lambda / Databus Data Archive Big Data Sandboxing Data Refinery Data API Hardwarové inovace Clustery z komoditního HW Appliance (DB & Hadoop) NVRAM SSD & Flash disky Vysokokapacitní SATA disky Software-in-silicon Nové datové zdroje Externí data IoT Sociální sítě Logy Nestrukturovaná data Softwarové inovace In-memory RDBMS Sloupcové RDBMS Distribuované file systémy NoSQL (dokumenty, grafy…) In-memory processing Big Data technologie Apache „ETL“ NoSQL DBMS Speciální SW pro HW appliance Datová federace Query enginy ELT, ETL/ELT Open source ETL Big Data ETL Datová federace Query enginy Self-service BI / ETL Data Discovery / Big Data Discovery Real-time integrace In-database Analytics CDC 2 Hadoop Massive Parallel Processing Automatizace DW Analytické inovace Pokročilá analytika Machine Learning Artificial Intelligence Prediktivní analytika Preskriptivní analytika Big Data Analytics Visual Analytics Spatial and Graph Analytics Data Discovery Organizační & Governance inovace Big Data Data Governance Kolaborace Agilita Datová demokratizace Data Science Integrovaná metadata Industry Data Model NoSQL Data Modeling Nové provozní modely Public Cloud Private Cloud Hybrid Cloud Rychlost Provoz Analytika Produktivita Provoz
  • 12. Gartner: Magic Quadrant for Data Management Solutions for Analytics 2017
  • 13. Malý DW Střední DW Velký DW Velikost je pouze sekundární problém
  • 14. 0 10 20 30 40 50 60 7.2.2010 7.2.2011 7.2.2012 7.2.2013 7.2.2014 7.2.2015 7.2.2016 Reálný datový sklad v čase (TB) Malý datový sklad Střední datový sklad Velký datový sklad
  • 15. Výzvy při stavbě velkých datových skladů Celková architektura Datová architektura Data Tiering Data Lifecycle Paralelní zpracování Efektivní uložení dat SLA Datová kvalita Celkový scope Nastavení souvisejících procesů Provoz řešení Technologická platforma Uživatelé Vývojový cyklus Uložení dat Technologické limity Evoluce řešení Náklady na TB Metadata Management Regulační rámec Multi-instance Monitoring Hybridní distribuovaná řešení Distribuované týmy Velké objemy dat Backup a obnova
  • 16. Velké řešení => Komplexní Governance nutná Concepts Vision & Mission Guiding Principles Organization & Roles Business Rules Activities Scope Benefits & Goals Components Data Architecture Data Quality Data Integration Operations Security RDM & MDM Metadata Data Platform & BI Tools CASE Enteprise Metadata Repository Data Quality Tools QA Framework Workflow & Orchestration IDE Audit Log Resource Management RDBMS NoSQL Hadoop Integration tools Monitoring Source Code Repository Testing Tools Others Why What How
  • 17. Small & Midsize DW Midsize & Large DW Midsize & Large DW
  • 18. ADASTRA INFORMATION MANAGEMENT REFERENCE ARCHITECTURE ODS Operational reporting Enterprise DWH Big Data Platform Data Lake Event Processing Semantic Models Advanced Analytics Perceptual / cognitive intelligence Information Management Relational / Structured data Unstructured data Streaming Data Workflow Orchestration Data Transformation / Processing Data Management Event Ingestion Complex Event Processing Notifications BI / Application Integration Machine Learning In-database Data Mining, R Recognition of human interaction and intent SMP and MPP In-memory technologies In-memory Columnar In-memory technologies Hadoop, NoSQL Business Intelligence / Data Delivery Real-time DashboardsDashboards and visualizationsReports Self-service BIMobile BI IoT Network Field Gateway Big data OLAP GovernanceMetadataSecurityMethodology
  • 19. Data Access Layer Store Layer Big Data Platform (BDP) Transport Layer Data Sources SpeedDirect <WWW> <Web Service> <Message> <XML> <Database> Batch Integration Layer Information Delivery Layer Stream Big Data ETL Change Data Capture Landing & Raw Zone (RL) Service Zone (SZ) File (F) Database (D) Analytical Playgrounds (AP) Sandboxes (SB) Hadoop Data marts (HD) DWH Archive (DA) Platform Log (PL) Data Warehouse (DW) Stage (L0) Core (L1) L2 DM L2 DM RDM & MDM (MDM) Data Connectors Federation Query Engine Data API Web GUI Analytical Zone <Python, R> BI Application Zone BI Zone Exploration Zone Management Layer BI Applications Data Profiling Data Discovery <Log> BI & Visual Analytics Analytics Adv. Analytics Machine Learnings Monitoring Alerts &Notifications Security Workflow Management Release Management Metadata Management Resource Management Scheduling Big Data L0 <File> ELT/ ETL & Data Quality Temporary Zone (TZ) File (F) Database (D) (L2) File (F) Database (D)
  • 20. Data Warehouse Components Data Stores Access Tools Metadata Data Integration Tools Administration and Management Development Tools Not only technology!
  • 22. Data Source Data Warehouse Stream Processor Stage Database ETL/ELT Custom Development Big Data ETLBig Data Filesytem Data Services Data Extractor File System Messaging Change Data Capture Big Data Stage DB NoSQL Many Ways from Data Sources to Data Warehouse
  • 23. Příklady datových zdrojů Apache Derby Apache HDFS Apache Hive Apache Hbase Apache Kafka Cloudera CDH dBase HyperSQL Database Engine IBM DB2 IBM DB2 for Linux Unix and Windows IBM DB2 for i IBM DB2 for z/OS IBM Informix IBM Informix Dynamic Server (DS) IBM Informix Extended Parallel Server (XPS) IBM Netezza NPS IBM Websphere MQ Ingres InterBase ISO Database Language SQL (generic SQL-92 database) Java Message Service (JMS) Microsoft Access Microsoft Excel Microsoft SQL Server MySQL Server Oracle Database Oracle Essbase Oracle Hyperion Planning Oracle Service Bus Oracle TimesTen In-Memory Database Paradox Pervasive PSQL PostgreSQL SAP BW SAP ERP ECC Teradata Database Textové soubory XML soubory JSON soubory
  • 24. 24 DATA LAKE Pouze koncept, nikoliv technologie Masivní snadno dostupné datové uložiště postavené na big data technologiích Ukládání všech dat v původní formě pro pozdější další využití Snadná a rychlá dostupnost pro všechny „Brute force“ eliminace datových sil Kontroverzní téma jak řešit Big Data Velký potenciál pro využití všech dostupných dat Neomezená historie Surová data bez transformačních chyb Ideální enteprise stage pro Data Warehouse Velký potenciál pro datovou bažinu Zatím problémy s velkým množstvím konkuretních uživatelů (cachování) Nelze nahradit datový sklad 1:1 Co se stane, když se to nepovede Landing Zone Raw Zone Publishing Zone
  • 25. Tradiční DWH vs. Data Lake vs. Rozšířený DWH (XDW) 25 Traditional Data Warehouse (DW) Data Lake (DL) Extended Data Warehouse (XDW) Data Structured Structured & Semi-Structured & Unstructured Structured & Semi-Structured & Unstructured Data Processing Processed Raw Processed & Raw Data Schema Schema-on-write Schema-on-read Schema-on-write & Schema-on-read Data Model Relational Object-based Relational & Object-based Data History Hierarchically archived No hierarchy Hierarchically archived & No hierarchy Agility Fixed configuration Reconfigured anytime as needed Fixed configuration Reconfigured anytime as needed Security Mature Maturing Mature Primary Users Data analysists & Business professionals Data Scientists Data analysists & Business professionals & Data scientists Technology RDBMS NoSQL DBMS Hadoop Other distributed storages RDBMS NoSQL DBMS Hadoop Other distributed storages Agility Low High Medium Added Value Medium Medium High Cost High Low Medium
  • 26. Data Integration Custom Scripts ELT vs. ETL Real-time Change Data Capture Logical Mapping Physical Mapping Workflow Parallelism Dependencies Restartability Error Handling Scheduling Events Monitoring QA Testing Design Patterns Design Standards Kappa Architecture Lambda Architecture Data Quality Matching Data Cleanup Data Profiling Data Checks
  • 27. INTEGRAČNÍ ARCHITEKTURY ETL vs. ELT Big Data ETL: ETL on Hadoop vs. ELT in Hadoop Lambda = Kappa + Batch Layer Kappa = Lambda – Batch Layer Polyglot / Big SQL Sources: Ericsson, Oracle, Software Advice
  • 28. ADS01_INSTADDR_SFC00_IM ADS01_INSTADDR_CCB00_FRADS01_INSTADDR_ICB00_IM_ICB0 6 ADS01_INSTADDR_ADS01_IM_GE N ADS01_INSTADDR_AUT00_IM ADS01_INSTADDR_ADS01_IM_GE NA ADS01_INSTADDR_ADS01_IM_GE NB ADS01_INSTADDR_ADS01_IM_MK T ADS01_INSTADDR_ADS01_IM_LNK ADS01_INSTADDR_ALB00_FD_CO NTADS01_INSTADDR_ALB00_FD_RESI DADS01_INSTADDR_ALB00_IM_CO NTADS01_INSTADDR_ALB00_IM_RES ID ADS01_INSTADDR_BND00_FR ADS01_INSTADDR_CMD00_IMADS01_INSTADDR_COR00_FR_CO NTADS01_INSTADDR_COR00_FR_PER M ADS01_INSTADDR_ERN00_ID ADS01_INSTADDR_ERN00_IM ADS01_INSTADDR_FIP00_FRADS01_INSTADDR_HYP00_FR_COR PADS01_INSTADDR_HYP00_FR_PRI V ADS01_INSTADDR_IBS00_FRADS01_INSTADDR_ICB00_FD_CON TADS01_INSTADDR_ICB00_FD_PER M ADS01_INSTADDR_ICB00_IM_CON TADS01_INSTADDR_ICB00_FR_PER MADS01_INSTADDR_IND00_IM_CO NTADS01_INSTADDR_IND00_IM_PER M ADS01_INSTADDR_ING00_FD ADS01_INSTADDR_ING00_IM_BEN ADS01_INSTADDR_ING00_IM_CN ADS01_INSTADDR_ING00_IM_EM ADS01_INSTADDR_ING00_IM_PM ADS01_INSTADDR_NAS00_IM ADS01_INSTADDR_PUR00_UPADS01_INSTADDR_VIS00_FR_BHL DRADS01_INSTADDR_VIS10_FR_CAR D ADS01_INSTADDR_CMD00_IM_A ML ADS01_INSTADDR_CCB00_FR_BADS01_INSTADDR_ERN00_IM_INS CY ADS01_INSTADDR_CRU00_FR_OFF ADS01_INSTADDR_CRU00_IM_ON ADS01_INSTADDR_EXT00_IM ADS01_INSTADDR_CAP00_FR ADS01_INSTADDR_HRD00_IMADS01_INSTADDR_HYP00_FR_SEL COM ADS01_INSTADDR_HYP00_FR_SELL ADS01_INSTADDR_GRF00_IM ADS01_INSTADDR_UDB00_FRADS01_INSTADDR_ALB00_FR_PER SADS01_INSTADDR_ALB00_FR_OW NADS01_INSTADDR_ALB00_FR_CO MP ADS01_INSTADDR_EXT00_FR_PRO ADS01_INSTADDR_ADS01_ID_PROADS01_INSTADDR_ADS01_IM_CM T ADS01_INSTADDR_EXT00_IM_POSADS01_INSTADDR_VIS10_IM_CPE RMADS01_INSTADR_AVQ00_FR_AVQ 01ADS01_INSTADR_AVQ00_FR_AVQ 02 ADS01_INSTADDR_TLS00_IM_OC MT ADS01_INSTADDR_ING00_IM_PFO WP ADS01_INSTADDR_ING00_IM_PFO WC ADS01_INSTADDR_ING00_IM_PFP YP ADS01_INSTADDR_ING00_IM_PFB PE ADS01_INSTADDR_ADS01_FD_PFADS01_INSTADDR_CAP00_FR_ISS UER ADS01_INSTADDR_SFC00_UP INST_ADDR_KEY K K LOCATED_ADDR_KEY U C U U U C C C U U ADDR_PURP_KEY U C + U C U U U U C U C C C C C C U C U U C + U C + U C C C C K K C U K C C + U C U C C C U U U C C C C C C U C C C C C C C C C U POS_KEY C + U C C + U C C C U U INST_PT_KEY U U U U U U U U U U U U U U U U U U U U U U U U K K K U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U POS_CHAIN_KEY C + U C C + U C C C U CNTRY_KEY U U U U U U U U U C U U U U U U U U C C C U U U U U U U U C U U U U U U C U U U U STREET_NAME U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U I U U U U U U U U U U U U U U U U U U U U STREET_NUM U U U U U U U U U U U U U C U U U U U U U U C U U U C C C U U U U U CITY_NAME U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U LAND_REGISTRATION_ NUM U U U U U U U U U U C C U U U U U U U U ZIP U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U SRC_SYS_ID C + U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K SRC_ID U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K I I U K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K DEL_FLAG U C + U U C + U C + U C + U C + U U U U U U U C + U C + U C + U C + U C + U U INS_PROCESS_ID INS_DT UPD_PROCESS_ID UPD_DT UPD_EFF_DATE U ADDR_VALID_KEY U C U U U U C C U APPL_KEY C + U C C + U C C U VALID_DATE U C U U U C C C C C C C C C C C C C C C C C C C C C U C CUST_VERIF_FLAG U U U U U U INST_ADDR_SINCE U U U U U C U U U U U INST_ADDR_TO U U U U U U U U U SRC_UPD_DT EXTRACT_DT RN U U U U U U U U I I I U RULE_SET_KEY C C C C U BUS_KEY U U C C C U U ORIG_INST_ADDR_KEY U U U D U C C C C C BUS_UPD_DATE U U LATITUDE U U U U LONGITUDE U U U U ADDR_FULL_TEXT U U ADDR_NOTE U U Data mappings from many data sources into Address table
  • 31. Partitioning & Paralelismus • Partitioning = Rozdělení tabulky na více fyzických oddílů (partition) • Výhody • menší množství dat (= větší rychlost dotazů) • omezení zamykání (= větší rychlost zápisů) • možnost nastavení indexů a jiných atributů zvlášť pro každý oddíl • Nevýhody • údržba • Paralelismus = zpracování více operací současně • Nutné opravdu komplexní workflow ETL • Vyšší utilizace HW • Vyšší rychlost zpracování • Pouze pokud je dost zdrojů • Nutné vyvážení • Vyšší konkurence na zdrojích • Typy • Parelizace operace (intra) • Jedno ETL čte/zapisuje pomocí více session • Paralizace operací (extra) • Více ETL běží současně a soupeří o zdroje Regular table Partitioned table
  • 32. Datová kvalita: Data nebývají konzistentní Zdrojový systém #1 Zdrojový systém #2 Jméno Příjmení RČ Adresa Pepa Radost 111111/1111 Na Kovárně 3, Bráník, Praha Josef Radost 111111/1111 Praha Martin Matuszczyk 666/666 SlovenskoPolského přátelství 4, Praha Robert Miškuf 999999/9999 Slovensko-polského přátelství 4, Praha ID Jméno Příjmení RC TYP ICO Město Ulice Popis 1 Pepa Radost 111111/1111 FO Praha Na Kovárně 3 Branik 4 Josef Radost 111111/1111 FOP 11150 Praha 2 Martin Matuszczyk 666/666 FO Praha Slovenskopolského přátelství 4, 3 Robert Miškuf 999999/9999 FO Praha SlovenskoPolského přátelství 4, 4. patro
  • 34. CASE 34 Tools to create data models
  • 35. Typical Metadata Backbone Primary generic principles of the data warehouse solution (goals and objectives) Logical architecture document Physical architecture document Environment map Logical data model name and design standard Data history and retention strategy Physical data model design standard including partitioning List of acronyms Business rule document KPI catalogue Transformation design standard Process definition for analysis, design, development, testing, release management and bug fixing Templates for analysis, design, development, testing, release management and bug fixing Test catalog Developer guideline Operation guideline including DR strategy Quality assurance SLA templates Information delivery strategy Data Mart strategy Data Quality strategy Business entity mapping to data model with examples for end users Business data domain document Security architecture
  • 36. DW/BI Administration & Management Daily operations Environments Data quality checks Managing and updating metadata Auditing and reporting data warehouse usage and status Purging data Replicating, sub- setting and distributing data Backup and recovery Data warehouse storage management. Bug tracking and fixing
  • 37. EA CommitteeBusiness owners Risk Collections Finance Marketing Sales Business EA IT EA Data EA IT DWH team Development: • L0 • L1 CDM • L2 Data Marts • BI Tools Operation: • DB, BI • Infrastructure Development Life-Cycle Offshore (optional) Business /IT Requirement EA Impact analyses ImplementationTesting Review Data Warehouse / Business Intelligence Delivery
  • 38. Technologie Stack Others RDBMS Oracle Database MySQL Microsoft SQL Server Microsoft SQL Server APS Azure SQL Data Warehouse Amazon Redshift Apache Kudu HPE Vertica IBM dashDB IBM DB2 PostgreSQL SAP HANA SAP IQ SAP SQL Anywhere Teradata Database ETL/ELT Oracle Data Integrator Oracle Golden Gate MS Integration Services Azure Data Factory Apache Nifi Clover ETL IBM InfoSphere DataStage Informatica PowerCenter Pentaho Data Integration SAP Data Services SAS Data Integration Talend Data Integration BI & Analytics Oracle Big Data Discovery Oracle Business Intelligence Oracle Essbase Oracle R Enterprise Azure Machine Learning MS Analysis Services MS Excel BI MS Power BI MS Power BI Services MS Reporting Services Revolution R Amazon QuickSight GoodData IBM Cognos Reporting IBM Watson Analytics Microstrategy Analytics Qlik Sense Qlikview SAP Business Objects SAS Visual Analytics Tableau Teradata Aster Discovery Platform Appliances Oracle Exadata Oracle SuperCluster MS Analytic Platform System IBM Netezza Twinfin SAP HANA Teradata Data Warehouse Appliance HPE Vertica Analytics System + Big Data Stack
  • 40. Data Warehouse Appliance 40 • Appliance = Integrované platforma • Optimalizované definovaná kombinace HW a SW • Vysoký výkon, vysoká spolehlivost, vysoká bezpečnost • Rychlá dodávka a instalace • Škálovatelnost • Snadná administrace • Jednotný support i patchování • Podpora pro různé typy úlohy Big RDBMS Big Data Obrovský výkon Potenciál pro úspory Velké počáteční investice Na míru konkrétní technologii
  • 41. Datový sklad v gruzínské bance Případová studie 41
  • 42. PROFIL BANKY Univerzální banka 3. největší banka v Gruzii dle celkových aktiv s největší sítí poboček Tržní podíl 5,3% (září 2017) Zákaznický kmen 1,6 milionů fyzických osob 77 000 právnických osob
  • 43. 43 PRODUKTOVÝ PROFIL Běžné účty Debetní a kreditní karty Visa, MC, Unionpay Retailové, komerční karty Specializované karty pro hromadnou dopravu, online sázení, dárkové poukázky, učitele… Depozita Patriot deposit (Lari), spořící účty (USD, EUR), pásmově úročená depozita (akumulace), Social deposit… Investiční certifikáty Privátní bankovnictví Půjčky Klasické půjčky, kontokorenty, Auto půjčky (i bez povinného pojištění auta), auto leasingy, půjčky zajištěné zlatem, hypotéky, půjčky na výstavbu resortů, půjčky pro malé podnikatele Platební služby Mezinárodní převody peněz, pouliční platební terminály, platební portály, dokumentární platby, cash collection, provoz POS terminálů + Výplaty a distribuce sociálních dávek a důchodů pro gruzínskou vládu
  • 44. FAKTA O GRUZII Hlavní město Tbilisi Rozloha 69 700 km² (121. na světě) Nejvyšší bod Šchara (5 201 m n. m.) Časové pásmo UTC +4 Počet obyvatel 3 713 804(129. na světě) Hustota zalidnění 65 obsob / km² (146. na světě) Jazyk gruzínština, abcházština Náboženství 83,9 % pravoslaví, 9,9 % islám, 3,9 % arménské apoštolství Státní zřízení poloprezidentská republika Vznik 9. dubna 1991 Prezident Georgi Margvelašvili Předseda vlády Giorgi Kvirikašvili Měna gruzínské lari (ლ) (GEL) HDP/obyv. 9 699 USD (104. na světě) Telefonní předvolba +995 Národní TLD .ge საქართველო
  • 45. GRUZÍNSKÉ ZAJÍMAVOSTI Kolébka vínařství 9000 až 7000 let před naším letopočtem Křesťanská země od roku 326 Osada Ušugli je nejvýše položená osada v Evropě (2086 až 2200 metrů nad mořem) První evropská civilizace Už před 1,75 miliony let žili v Gruzii Hominidé! 2 gruzínská města patří mezi 20 nejstarších měst v Evropě Kutaisi (cca. 2000 let před Kristem, antická Kolchida) Mtskheta (cca. 1000 let před Kristem) Gruzínci nežijí v Gruzii ale v Sakarvelu Podle Numeo 7. nejlevnější země světa Většina afrických zemích ale chybí 12 klimatických zón Domov Petra Bagrationa, Josifa Stalina, Lavrentije Beriji, Eduarda Ševardnadzeho, Michaila Saakašvili Historicky tři různá písma Nuskhuri, Asomtaruli, and Mkhedruli Minerální voda Borjomi „Chuť Sovětského svazu“ Gruzie fakticky díky Rusku nekontroluje dvě své oblasti: Abcházie, Jižní Osetie Gruzínská abeceda je 1 ze 14 nezávislých světových abeced
  • 46. ABECEDA MKHEDRULI V PRAXI ყველა ადამიანი იბადება თავისუფალი და თანასწორი თავისი ღირსებითა და უფლებებით. Q'vela adamiani ibadeba tavisupali da tanasts'ori tavisi ghirsebita da uplebebit. Všichni lidé rodí se svobodní a sobě rovní co do důstojnosti a práv.
  • 47. GRUZIE MÁ BOHATÉ KULTURNÍ DĚDICTVÍ TbilisiMtskheta Památka UNESCO
  • 48. GRUZÍNSKÁ KUCHYNĚ V KOSTCE Puri Lavaš Chinkali Chačapuri Lobiani Šašlik Adžapsandali Čurčchela Pelamuši Tolma Dolma
  • 49. 49 BUSINESS CASE ▪ Resuscitovat „datový sklad“ ▪ Upgradovat přidruženou analytiku ▪ Stabilizovat vnitřní IT prostředí ▪ Velmi flexibilní ▪ Velmi nestabilní „Agilní vývoj microservice architektury bez microservices a bez klíčových prvků agilního vývoje“
  • 50.
  • 51.
  • 52. 0 5 10 15 20 25 30 Go-to-Live First Year End Second Year End Third Year End Data Warehouse Planned Sizing for 3Y CPU Core (Count) Net Storage (TB)
  • 53. 53 PŘEHLED TECHNOLOGIÍ Oracle Oracle Database 12.1 EE Oracle Database Gateway for ODBC Oracle Exadata Database Machine X5 Oracle GoldenGate Ostatní SAP PowerDesigner Pentaho Data Integration Community Edition Apache Subversion AWS EC2 Development, prototyping, source code repository Microsoft Power BI Cloudera Enterprise Adastra Adastra Workflow Web Console Adastra Reference Data Web Manager Adastra Data Governance Framework Adastra Banking Data Model (ABDM) Data Model L1/L2 QA Framework ELT Generator for Oracle (v3.0) API Generator for Oracle (v4.0) Workflow Generator for Pentaho DI FK_INTRSBASRXFACT_INTRSBASRX FK_GLACC__GLACCTP FK_GLACC__CCY FK_GLACC__ACCSTAT FK_FXRXFACT__FXRX FK_FXRX_FX_CCY FX FK_FXRX__FXRXTP FK_FXRX__CCY FK_ENTRTRN__PROD FK_ENTRTRN__POS FK_ENTRTRN__MERCH FK_ENTRTRN__CNL FK_ENTRTRN__AUTHSTAT FK_ENTRTRN_DEBIT_ACC Debit FK_ACCTRN_MERCH_PT MERCH FK_ACCTRN__POS FK_ACCTRN__CRDB FK_ACCTRN__CNLFK_ACCTRN__CCY FK_ACCTRN__ACCTRNTP FK_ACCTRN__ACCTRNSTAT FK_ACCTRN__ACC FK_ACCPRODREL__PROD FK_ACCPRODREL__ACCPRODRELTP FK_ACCPRODREL__ACCFK_ACCHOLDFACT__POS FK_ACCHOLDFACT__MERCH FK_ACCHOLDFACT__CNL FK_ACCHOLDFACT__CCY FK_ACCHOLDFACT__BLOCTP FK_ACCHOLDFACT__BLOCSTAT FK_ACCHOLDFACT__AUTHSTAT FK_ACCHOLDFACT__ACC FK_ACCBALFACT__ACC FK_ACC__PT FK_ACC__GLACC FK_ACC__CCY FK_ACC__ACCTP FK_ACC__ACCSTAT <<Ref Table>> Account Status (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Status Key Identifier Description Local Description Active Flag Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<ADS Table>> Account <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Key Party Key Account Type Key Account Status Key Currency Key GL Account Key POS Key Account Number Account ID Account Name Account Symbol IBAN Open Date Activation Date Close Date Company Code Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) DATE DATE DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk5> <fk1> <fk2> <fk3> <fk4> <fk6> <ak> <pk,ak,fk4,fk5,fk6> <<Ref Table>> Account Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Type Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<Ref Table>> Currency (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Currency Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <<ADS Table>> GL Account <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> GL Account Key Account Status Key Currency Key GL Account Type Key GL Account Number GL Account Group Description Party Account Flag Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk1> <fk2> <fk3> <ak> <pk,ak> <<ADS Table>> Party (<ABDM_DWH_CLIENT_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Party Key Unified Party Key Consolidate Party Key Party Type Key Party Status Key Business Sector Key Legal Form Key Country Key Language Key Housing Type Key Gender Key Personal Identifier Company Identifier P Code First Name First Name Latin Family Name Family Name Latin Middle Name Business Name Business Name Latin Short Name Short Name Latin Salutation Birth Date Resident Flag Bankruptcy Flag Start Date End Date Party Identifier Source System Identifier Source Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) DATE INTEGER INTEGER DATE DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk8> <fk7> <fk1> <fk6> <fk2> <fk5> <fk4> <fk3> <pk,ak> <ak> <<ADS Table>> Account Balance Fact <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Snap Date Account Key Balance Overdraft Balance Reserve Balance Planned Balance Account Hold Amount Available Amount Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime DATE INTEGER NUMBER(19,3) NUMBER(19,3) NUMBER(19,3) NUMBER(19,3) NUMBER(19,3) NUMBER(19,3) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk,ak> <pk,fk> <ak> <pk,ak,fk> <<ADS Table>> Account Hold Fact <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> Snap Date Account Hold Fact Key Account Key Blocation Type Key Blocking Status Key Authorization Status Key Merchant Key POS Key Channel Key Currency Key Expiry Blocking Date Blocking Description Hold Value Date Hold Entry Date Hold Reference Number Hold Batch Identifier Hold Amount Hold Amount Local Currency Hold Account FX Rate Source Identifier Source System Identifier Update Datetime Update Process Identifier Delete Flag Insert Process Identifier Insert Datetime Update Effective Date Source Update DateTime DATE INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DATE VARCHAR2(255 CHAR) DATE DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) NUMBER(19,3) NUMBER(19,3) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) DATE VARCHAR2(255) INTEGER VARCHAR2(255) DATE DATE DATE <pk,ak> <pk> <fk1> <fk7> <fk6> <fk2> <fk3> <fk4> <fk5> <fk8> <ak> <pk,ak,fk1,fk3,fk4> <<Ref Table>> Authorization Status (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Authorization Status Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<Ref Table>> Blocking Status (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Blocking Status Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<Ref Table>> Blocation Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Blocation Type Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<Ref Table>> Channel (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> Channel Key Identifier Description Local Description Source Identifier Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier Channel Category Key INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) INTEGER <pk> <ak> <ak> <fk> <<ADS Table>> Merchant (<ABDM_DWH_CLIENT_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Merchant Key Party Key Merchant Type Key Merchant Code Key Merchant Category Key Business Product Type Key Channel Key Merchant Rate Merchant Commission Rate Test Mode Flag Discount Percent Merchant Contact Person Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Source Update DateTime Update Effective Date INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER NUMBER(10,6) NUMBER(10,6) INTEGER Number VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk6> <fk5> <fk4> <fk3> <fk1> <fk2> <ak> <pk,ak,fk6> <<ADS Table>> POS (<ABDM_DWH_CLIENT_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> <<DW Column>> POS Key Party Key POS Type Key POS Financial Category Key POS Identifier POS Description Opening Hours Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Source Update DateTime Update Effective Date SC Code MFO INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) <pk> <fk3> <fk2> <fk1> <ak> <pk,ak,fk3> <<ADS Table>> Account Product Relationship <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Product Relationship Key Account Key Product Key Account Product Relationship Type Key Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk2> <fk1> <fk3> <ak> <pk,ak,fk1,fk2> <<Ref Table>> Account Product Relationship Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Product Relationship Type Key Identifier Description Local Description Main Account Flag Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<ADS Table>> Product (<ABDM_DWH_PRODUCT_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Product Key Contract Key Product Status Key Business Product Type Key System Product Type Key Term Type Key Commodity Key Accrual Basis Key Point of Sale Key Channel Key Bank Module Key Product Number Credit Bureau ID Customer Product Description Campaign Promotional code Open Date Close Date Maturity Date Main Product Flag External Register Report Flag Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) DATE DATE DATE INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <ak1> <ak2> <ak1,ak2> <<ADS Table>> Account Transaction <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> Account Transaction Key Transaction Date POS Key Credit Account Key Debit Account Key Credit GL Account Key Debit GL Account Key Account Transaction Type Key Account Transaction Status Key Currency Key Employee Key Account Transaction Order Key Entry Transaction Key Transaction Value Date Transaction Entry DateTime Transaction Amount Transaction Local Currency Amount Transaction Account FX Rate Transaction Reference Number Transaction Authorization Number Transaction Batch Identifier Transaction Application Identifier Transaction Entry Identifier Transaction Order Identifier Transaction Document Number Transaction Ground Description Cancel Flag Message For Recipient Message For Sender Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER DATE INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DATE DATE NUMBER(19,3) NUMBER(19,3) NUMBER(10,6) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <pk,ak,fk6> <fk5> <fk1> <fk2,fk8> <fk3> <fk4> <fk6> <ak> <pk,ak,fk1,fk5,f...> <<Ref Table>> Account Transaction Status (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Transaction Status Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<Ref Table>> Account Transaction Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Account Transaction Type Key Account Transaction Category Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier Account Transaction Code DR/CR Indicator Level 1 Description Level 2 Description Level 3 Description Level 4 Description Level 1 Code Level 2 Code Level 4 Code Level 3 Code INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) <pk> <fk> <ak> <ak> <<Ref Table>> Credit/Debit (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Credit/Debit Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<ADS Table>> Entry Transaction <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> Entry Transaction Key Transaction Date Entry Transaction Type Key Entry Transaction Sub Type Key Entry Transaction Status Key Debit Account key Credit Account Key Product Key Card Key Authorization Status Key Channel Key Merchant Key POS Key POS Type Key Country Key Card Transaction Location Key Acquirer Financial Institution Key Issuer Financial Institution Key Currency Key Original Currency Key Transaction Amount Transaction Local Currency Amount Transaction Original Currency Amount Transaction FX Rate Transaction Value Date Transaction Entry Date Transaction Expiry Date Entry Transaction Identifier Transaction Reference Number Transaction Authorization Identifier Transaction Card Mask Transaction Card BIN Identifier Transaction Batch Identifier Transaction STAN Identifier Source Identifier Source System Identifier Update Datetime Update Process Identifier Delete Flag Insert Process Identifier Insert Datetime Update Effective Date Source Update DateTime INTEGER DATE INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER NUMBER(19,3) NUMBER(19,3) NUMBER(19,3) VARCHAR2(255 CHAR) DATE DATE DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) DATE VARCHAR2(255) INTEGER VARCHAR2(255) DATE DATE DATE <pk> <pk,ak> <fk10> <fk1> <fk9> <fk6> <fk11> <fk2> <fk5> <fk3> <fk4> <ak> <pk,ak,fk1,fk3,f...> <<ADS Table>> FX Rate <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> FX Rate Key Currency Key FX Currency Key FX Rate Type Key FX Scale Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime INTEGER INTEGER INTEGER INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk> <fk1> <fk2> <fk3> <ak> <pk,ak> <<Ref Table>> FX Rate Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> FX Rate Type Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <ak> <ak> <<ADS Table>> FX Rate Fact <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Snap Date FX Rate Key Buy Rate Rate Sell Rate Value Date Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date Source Update DateTime DATE INTEGER NUMBER(10,6) NUMBER(10,6) NUMBER(10,6) DATE VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE DATE <pk,ak> <pk,fk> <ak> <pk,ak,fk> <<Ref Table>> GL Account Type (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<DW Column>> <<DW Column>> GL Account Type Key Identifier Description Local Description Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier GL Account Category Key NBG_FLAG INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) INTEGER INTEGER <pk> <ak> <ak> <fk> <<Ref Table>> Interest Base Rate (<ABDM_DWH_REF_TAB_ADS>) <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Interest Base Rate Key Period Frequency Key Identifier Description Local Description Market Flag Source ID Source System ID Delete Flag Insert Datetime Insert Process Identifier Update Datetime Update Effective Date Update Process Identifier INTEGER INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER DATE VARCHAR2(255) DATE DATE VARCHAR2(255) <pk> <fk> <ak> <ak> <<ADS Table>> Interest Base Rate Fact <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<DW Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> <<Audit Column>> Snap Date Interest Base Rate Key Rate Source Identifier Source System Identifier Delete Flag Insert Process Identifier Insert Datetime Update Process Identifier Update Datetime Update Effective Date DATE INTEGER NUMBER(10,6) VARCHAR2(255 CHAR) VARCHAR2(255 CHAR) INTEGER VARCHAR2(255) DATE VARCHAR2(255) DATE DATE <pk,ak> <pk,fk> <ak> <pk,ak>
  • 54. 54 PÁR PROJEKTOVÝCH ZAJÍMAVOSTÍ Delivery tým obvykle ve 3 časových pásmech Datové zdroje Datové zdroje obsahují více než 5000 tabulek Jeden z primárních systémů běží na exotickém PSQL! Data jsou v primárních systémech duplicitní Nutno dohledávat primární kopie dat Data lineage nástroje (SQLDep, OEMM) Extrakce dat Extrakce dat iniciálně systémem pull dávkově a inkrementálně Oracle Database Gateway V plánu přechod na CDC Oracle GoldenGate Gruzínštinu podporuje pouze UTF Implementace UTF v MS SQL Serveru není úplně kompatibilní s UTF v Oracle☺ Zpracování dat Plánovaná efektivní velikost DWH 24TB (až 100TB bez komprese = > Large Data Warehouse) Cca. 2000 ELT Hybridní ELT/ETL architektura Vysoce paralelní zpracování (Oracle Exadata) Zcela nový generátor ELT pro Oracle zpětně kompatibilní se našimi staršími verzemi Komprese dat Transkripce latinka – gruzínština a obráceně Celková architektura Exadata jako konsolidační databázová platforma Core systémy & DWH Součástí DWH je ODS Součástí DWH je Hadoop Big Data ETL, ELT Offloading, Data archive, Data Lake
  • 55. GRUZÍNSKÁ PŘÍSLOVÍ „Budeš-li kupovat, co nepotřebuješ, budeš brzy prodávat, co potřebuješ.“ „Dluh mlčí, ale spát nedá.“ „Kdyby žena byla něco dobrého, byl by i Bůh ženatý.“ „Od cizí námahy bolí srdce, od vlastní záda.“ „Rodiče pro děti, děti pro sebe“ „Někdy jiskrné víno svede, co ani šavle nedovede.“ „Popudil jsi vládce - obrať se k lidu, popudil jsi lid - utíkej.“ „Modli se k Bohu - a sám plav k břehu.“
  • 56. Final Joke Consultant So, your company has large data warehouse. How many data marts do you have? Eleven. That’s great. But why so many? Ten mistakes. BI Manager