Generic Enterprise Simulation using an In-Memory Column Store Lars - - PowerPoint PPT Presentation

generic enterprise simulation using an in memory column
SMART_READER_LITE
LIVE PREVIEW

Generic Enterprise Simulation using an In-Memory Column Store Lars - - PowerPoint PPT Presentation

Generic Enterprise Simulation using an In-Memory Column Store Lars Butzmann, Stefan Klauck, Stephan Mller, Ma8hias Uflacker, Werner Sinzig, Hasso Pla8ner Hasso-Pla8ner-InsCtut,


slide-1
SLIDE 1

Generic Enterprise Simulation using an In-Memory Column Store

Lars ¡Butzmann, ¡Stefan ¡Klauck, ¡Stephan ¡Müller, ¡Ma8hias ¡Uflacker, ¡Werner ¡Sinzig, ¡Hasso ¡Pla8ner ¡

¡ Hasso-­‑Pla8ner-­‑InsCtut, ¡Universität ¡Potsdam ¡

¡ BTW ¡ ¡05.03.2015 ¡

slide-2
SLIDE 2

Motivation

□ CorporaCons ¡want ¡to ¡quickly ¡anCcipate ¡changes ¡

§ “What ¡is ¡the ¡impact ¡on ¡my ¡profitability ¡if ¡the ¡commodity ¡price ¡of ¡ crude ¡oil ¡increases ¡by ¡7 ¡percent?” ¡ ¡

□ Usage ¡of ¡value ¡driver ¡trees ¡to ¡model ¡the ¡relaConship ¡of ¡cause ¡ and ¡effect, ¡BUT ¡limited ¡tool ¡support ¡ □ Challenges ¡

§ Flexible ¡modeling ¡and ¡linking ¡to ¡mulCdimensional ¡data ¡sources ¡ § On-­‑the-­‑fly ¡aggregaCon ¡of ¡transacConal ¡data ¡during ¡what-­‑if ¡simulaCon ¡

2 ¡

slide-3
SLIDE 3

□ MS ¡Excel ¡spreadsheets ¡

§ Easy ¡to ¡understand ¡UI ¡ § Data ¡inconsistencies ¡ § Complexity ¡and ¡error ¡handling ¡

□ Extending/connecCng ¡SQL ¡and ¡MS ¡Excel ¡[Wi8kowski ¡VLDB ¡2005] ¡

§ No ¡encapsulaCon ¡ § Limited ¡flexibility ¡

□ UML-­‑based ¡modeling ¡of ¡simulaCons ¡[Golfarelli ¡DaWak ¡2008] ¡

§ Formalizes ¡simulaCons, ¡but ¡no ¡link ¡to ¡applicaCons ¡

Current Solutions / Related Work

slide-4
SLIDE 4

□ EncapsulaCon ¡of ¡

§ Model ¡definiCon ¡(value ¡driver ¡graph) ¡ § Data ¡binding ¡ § What-­‑if ¡simulaCon ¡

□ Prototypical ¡implementaCon ¡

§ CreaCon ¡and ¡modificaCon ¡of ¡value ¡driver ¡graphs ¡ § SpecificaCon ¡of ¡data ¡binding ¡and ¡dependencies ¡ § InteracCve ¡what-­‑if ¡simulaCon ¡scenarios ¡on ¡transacConal ¡data ¡

Generic Enterprise Simulation

slide-5
SLIDE 5

Marginal Income Net Sales Variable Costs Sales Volume Price per Unit Cost per Unit * *

  • Customer, Location, Product, Time(day)

Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Product, Time(day) Customer, Location, Product, Time(day)

Expenses Operating Profit

  • Cost center, Time(month)

Time(month)

□ Nodes ¡

§ Name ¡and ¡type: ¡KPI ¡or ¡value ¡driver ¡ § Set ¡of ¡dimensions ¡ § MulCdimensional ¡measures ¡

□ Hyperedges ¡

§ OperaCons ¡

Value Driver Graphs

slide-6
SLIDE 6

Marginal Income Net Sales Variable Costs Sales Volume Price per Unit Cost per Unit * *

  • Customer, Location, Product, Time(day)

Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Product, Time(day) Customer, Location, Product, Time(day)

Expenses Operating Profit

  • Cost center, Time(month)

Time(month)

□ Connect ¡(leaf) ¡nodes ¡to ¡data ¡sources ¡ □ SpecificaCon ¡of ¡dimensions ¡

§ by ¡data ¡source ¡ § by ¡connected ¡nodes ¡and ¡operaCon ¡

Data Binding

slide-7
SLIDE 7

Marginal Income

Paul, Berlin, P1, 14/10/9, $50

Net Sales

Paul, Berlin, P1, 14/10/9, $150

Variable Costs

Paul, Berlin, P1, 14/10/9, $100

Sales Volume

Paul, Berlin, P1, 14/10/9, 10

Price per Unit

Paul, Berlin, P1, 14/10/9, $15

Cost per Unit

P1, 14/10/9, $10

* *

  • Customer, Location, Product, Time(day)

Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Product, Time(day) Customer, Location, Product, Time(day)

Expenses

CC1, 14/10, $15

Operating Profit

14/10, $35

  • Cost center, Time(month)

Time(month)

□ SimulaCon ¡basis: ¡

§ CalculaCon ¡through ¡data ¡sources ¡and ¡operaCons ¡ § The ¡model ¡specifies ¡how ¡changes ¡propagate ¡ § PropagaCon ¡paths ¡must ¡be ¡acyclic ¡

□ ParameterizaCons ¡ ¡

§ On ¡each ¡node ¡for ¡ ¡ available ¡dimensions ¡ § Absolute ¡or ¡linear ¡ ¡ adjustments ¡

What-If Simulation

slide-8
SLIDE 8

Marginal Income

Paul, Berlin, P1, 14/10/9, $200

Net Sales

Paul, Berlin, P1, 14/10/9, $300

Variable Costs

Paul, Berlin, P1, 14/10/9, $100

Sales Volume

Paul, Berlin, P1, 14/10/9, 10

Price per Unit

Paul, Berlin, P1, 14/10/9, $30

Cost per Unit

P1, 14/10/9, $10

* *

  • Customer, Location, Product, Time(day)

Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Product, Time(day) Customer, Location, Product, Time(day)

Expenses

CC1, 14/10, $15

Operating Profit

14/10, $185

  • Cost center, Time(month)

Time(month)

Marginal Income

Paul, Berlin, P1, 14/10/9, $50

Net Sales

Paul, Berlin, P1, 14/10/9, $150

Variable Costs

Paul, Berlin, P1, 14/10/9, $100

Sales Volume

Paul, Berlin, P1, 14/10/9, 10

Price per Unit

Paul, Berlin, P1, 14/10/9, $15

Cost per Unit

P1, 14/10/9, $10

* *

  • Customer, Location, Product, Time(day)

Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Customer, Location, Product, Time(day) Product, Time(day) Customer, Location, Product, Time(day)

Expenses

CC1, 14/10, $15

Operating Profit

14/10, $35

  • Cost center, Time(month)

Time(month)

Simulation Scenario

set ¡price ¡per ¡unit ¡to ¡$30 ¡

slide-9
SLIDE 9

Columnar In-Memory Databases

□ Capable ¡to ¡combine ¡analy%cal ¡and ¡transac%onal ¡data ¡processing ¡ ¡ □ Highest ¡query ¡flexibility ¡by ¡operaCng ¡on ¡the ¡lowest ¡level ¡of ¡data ¡ granularity ¡ □ ExisCng ¡implementaCons ¡(e.g., ¡SAP ¡HANA, ¡Hyrise…) ¡separate ¡tables ¡ into ¡main ¡and ¡delta ¡par%%on ¡ □ Aggregates ¡caching: ¡reuse ¡parCal ¡query ¡result ¡on ¡the ¡main ¡parCCon ¡ and ¡combine ¡it ¡with ¡on-­‑the-­‑fly ¡delta ¡aggregaCon ¡[Mueller ¡EDBT ¡2015] ¡

Merge Process Insert/Delete Aggregation (union)

Delta Main

(asynchronously) ¡

Delete cached

  • n-the-fly
slide-10
SLIDE 10

Performance Analysis

1 10 100 All Categories Category 1 Category 2 Query Execution Time in % Query Type Single Query Performance - 300M Main Storage, 5% Delta Storage Row Store Column Store Aggregate Cache

slide-11
SLIDE 11

Prototype Application

slide-12
SLIDE 12

□ Approach ¡for ¡value ¡driver ¡modeling ¡and ¡what-­‑if ¡simulaCon ¡

§ Flexible ¡model ¡creaCon ¡and ¡data ¡binding ¡ § Use ¡transacConal ¡data ¡for ¡highest ¡query ¡flexibility ¡ § Leveraging ¡column ¡in-­‑memory ¡database ¡with ¡aggregates ¡caching ¡for ¡ interacCve ¡response ¡Cmes ¡

□ Future ¡work ¡

§ Formalize ¡calculaCon ¡model ¡and ¡data ¡binding ¡ § OpCmizaCon ¡database ¡queries ¡on ¡node ¡level ¡ § Evaluate ¡graph ¡data ¡bases ¡for ¡complex ¡models ¡

Conclusions and Future Work

slide-13
SLIDE 13

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Stephan ¡Müller ¡ stephan.mueller@hpi.de ¡ h8p://epic.hpi.de ¡

Thanks

13 ¡