Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scalable Trigger Processing* - Eric N. Hanson et al. CSCi8701: Overview of Database Research Paper Presentation Group 4: Betsy George, Vijay Gandhi *International.

Similar presentations


Presentation on theme: "Scalable Trigger Processing* - Eric N. Hanson et al. CSCi8701: Overview of Database Research Paper Presentation Group 4: Betsy George, Vijay Gandhi *International."— Presentation transcript:

1 Scalable Trigger Processing* - Eric N. Hanson et al. CSCi8701: Overview of Database Research Paper Presentation Group 4: Betsy George, Vijay Gandhi *International Conference on Data Engineering, 1999

2 Presentation Outline Motivation Problem Definition Related Work Contributions Key Concepts Validation Future Work Rewrite Today Summary

3 Motivation Traditional uses of Triggers  Constraint checking  Logging  Replication Web-based applications  Create triggers interactively E.g. Stock Ticker notification:  If share value of Google goes down below 500 notify a person Limitations of current trigger systems  Not scalable

4 Problem Definition Given: A Relational DBMS, Trigger statements, Data Stream (tokens) Find: Triggers corresponding to each token Objective: Scalable trigger processing system Constraints:  Number of distinct structures of trigger expressions is small  All distinct structures of trigger expressions should be small enough to fit in the main memory

5 Related Work Range Predicates, Marking based [Hans96b, Ston90] (large memory, complicated storage) AI [Forg82,Mira87] (smaller rule set) Parallel Processing [Gupt89,Hell98] IndexingECA Model (not scalable) The work proposed here is a combination of improvised version of some of the modules mentioned above.

6 Contribution Data Structures  If a large number of triggers are created, many of them have almost the same format  Predicate Index Structure  Most important contribution Concurrent processing  Identified 4 levels of concurrency  Implemented token-level concurrency

7 Key Concepts – TiggerMan Architecture

8 Key Concepts – Trigger Structure Example: Stock ticker notification Create trigger T1 from stock when stock.ticker = ‘GOOG’ and stock.value < 500 do notify_person(P1) Create trigger T2 from stock when stock.ticker = ‘MSFT’ and stock.value < 30 do notify_person(P2) Create trigger T3 from stock when stock.ticker = ‘ORCL’ and stock.value < 20 do notify_person(P3) Create trigger T4 from stock when stock.ticker = ‘GOOG’ do notify_person(P4)

9 Key Concepts – Expression Signature Common structures in the condition of triggers  Expression Signature: E1: stock.ticker = const1 and stock.value < const2  Expression Signature: E2: stock.ticker = const3 T4: stock.ticker = ‘GOOG’ T1: stock.ticker = ‘GOOG’ and stock.value < 500 T2: stock.ticker = ‘MSFT’ and stock.value < 30 T3: stock.ticker = ‘ORCL’ and stock.value < 20

10 Key Concepts – A-Treat Network For each trigger condition stock.ticker = const1 and stock.value < const2 Root stock.ticker = const1 stock.value < const2 alpha-node predicates Node 1Node 2

11 Key Concepts – Expression Signature Expression Signature Table Ex. ID Data Source Signature Description Constant Table Number of Constants Constant Organization E1stock…const_e12Main Memory E2stock…const_e21Main memory E1: stock.ticker = const1 and stock.value < const2 E2: stock.ticker = const3

12 Key Concepts – Constant Table Tables to include constants occurring in the condition of triggers const_e1 Ex. IDTrigger IDConstant 1Constant 2Next NodeRest E1T1GOOG500Node 2 E1T2MSFT30Node 2 E1T3ORCL20Node 2 T1: stock.ticker = ‘GOOG’ and stock.value < 500 T2: stock.ticker = ‘MSFT’ and stock.value < 30 T3: stock.ticker = ‘ORCL’ and stock.value < 20 Ex. IDTrigger IDConstant 1Next NodeRest E2T4GOOGNull Const_e2 T4: stock.ticker = ‘GOOG’

13 Key Concepts – Summary Expression Signature  Common structure in a trigger E1: stock.ticker = const1 and stock.value < const2 A-treat network  Network for trigger condition testing For a Trigger to fire, all conditions must be true Constant Tables  Constants for each Expressions Signature

14 Key Concepts - Predicate Index

15 Key Concepts - Processing Root Update Stock(ticker=GOOG,value=495) Index of stock.ticker=const1 E1 E2 const_e1const_e2 Other source Predicate index… Trigger IDConstant 1Constant 2Next Node T1GOOG500Node 2 T2MSFT30Node 2 T3ORCL20Node 2 E1: stock.ticker = const1 and stock.value < const2 const_e1

16 Concurrency  Better scalability  Even on single processor Identified elements that can be parallelized  Token-level Multiple tokens processed in parallel  Condition-level Multiple selection conditions tested concurrently  Rule-action-level Multiple rule actions fired at the same time  Data-level Set of data values in the network processed in parallel Implemented Token-level concurrency

17 Validation Important fact: If a large number of triggers are created, many of them have almost the same format Implemented as an Informix DataBlade No experimental comparisons

18 Assumptions If a large number of triggers are created, many of them have almost the same format All distinct predicate structures fit into the main memory

19 Rewrite today Validations  Provide Experimental Comparisons  Test on real datasets Examples: Execution Trace Remove sections on TriggerMan Command Language and Architecture Describe A-TREAT network

20 Summary If a large number of triggers are created, many of them have almost the same format Number of distinct signatures is small enough to fit into the main memory


Download ppt "Scalable Trigger Processing* - Eric N. Hanson et al. CSCi8701: Overview of Database Research Paper Presentation Group 4: Betsy George, Vijay Gandhi *International."

Similar presentations


Ads by Google