Presentation is loading. Please wait.

Presentation is loading. Please wait.

Practical Databases A look at DBMS in practice: A Trading and Inventory System.

Similar presentations


Presentation on theme: "Practical Databases A look at DBMS in practice: A Trading and Inventory System."— Presentation transcript:

1 Practical Databases A look at DBMS in practice: A Trading and Inventory System

2 Introductory Guff Your speaker is Dr Richard Keeble; Todays talk - a look at database systems in a real-life environment... –A case study of real systems in a real company; –A look at the bigger issues surrounding database systems in financial environments.

3 What Ill Talk About Business background and rationale: –What systems did we look after and why? –How did they support the business goals? A look at the systems themselves: –The various components and their relationships; –How the different elements of the business interact and are supported by the technology.

4 What Youll Get Out Of This An idea of the scale and complexity of enterprise database systems; An insight into how business systems fit together and inter-operate; A look at some of the problems in the development of business database applications; Experience from others cautionary tales... !

5 The Business: What Goldman Sachs: –General Activities: Investment Banking; Proprietary Trading. –My responsibilities: Front-line support; Routine maintenance and development; Flow testing; New development, test and commission.

6 The Business: What & Why Whats a Repurchase Agreement (Repo)? –A short-term collateralised loan. Whats it for? –Short-term low-risk borrowing and lending; –Also allows GS to spend the same money several times a day … !

7 Repo Trades Legal definition: –an agreement to sell and a simultaneous forward agreement to re-purchase. Contrast to a normal trade: –A repo has a start and an end, as opposed to a share purchase which is a single event.

8 An Example Repo Trade A one-week repo at 5% for EUR 10MM vs. 10MM BUNDs at par: –Start cash = 10MM EUR; –End cash = 10MM EUR + 9,491.48 EUR interest; –One Trade, but two Business Transactions: RP 10MM EUR vs 10MM BUND NEW PIECE FULL RETURN SELL 2003-01-30 RE-PURCHASE 2003-02-06

9 Trading Volumes Usually around 1300-1400 trades done per day; Somewhere around 15,000 trades active at any point; Approximately 40,000 different securities may be traded; So how do we know whats going on?

10 Security Projections Sister to the NDR trading systems; Shows traders and operations the Firms commitments summed over time, sorted: –By bond or bond group (called book); –By currency; –By legal entity. Critical for keeping all the plates spinning!

11 Roles in the System Front Office: –Traders, salespeople, trading assistants. Middle/Back Office: –Daily trading operations staff, controllers, clearance support staff and operations. IT Personnel: –Looking after all of the above.

12 The Bigger Picture Repo acts as both a source and a sink for information streams from many places: –As a sink for: currency rate information, inter- company trading data; –As a source for: other firm groups (cash ledgers, stock control, trading position management systems), legal, regulatory and clearing houses. Projections: only a sink (easier to look after!)

13 Trade is Booked REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders Security Projections Window Traders & Operations OUTSIDE

14 Postings Generated REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 Security Projections Window Traders & Operations OUTSIDE

15 Trade Hits Projections REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 trades Security Projections Window Traders & Operations OUTSIDE

16 Trade Posts Internally REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 Cash Bonds trades Security Projections Window Traders & Operations OUTSIDE

17 Clearance Instructed Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 Cash Bonds trades Security Projections Window Traders & Operations OUTSIDE

18 Confirm Received Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 Cash Bonds trades settlements Security Projections Window Traders & Operations OUTSIDE

19 Trade Settled – Done! Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 Cash Bonds trades settlements Security Projections Window Traders & Operations OUTSIDE Exception Window Operations

20 No Settlement? Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders Exception Window genesis2 Operations trades Security Projections Window Traders & Operations OUTSIDE

21 Call The Counterparty! Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders Exception Window genesis2 Operations trades Security Projections Window Traders & Operations OUTSIDE

22 Confirm Received (At Last) Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 trades settlements Security Projections Window Traders & Operations OUTSIDE Exception Window Operations

23 Trade Settled – Done! Banks, Clearing Houses REPO (repo_db) PROJECTIONS (secproj_db) Trade Entry Traders genesis2 trades settlements Security Projections Window Traders & Operations OUTSIDE Exception Window Operations

24 Transactions: 1 Absolutely essential in sizeable, production systems: –To ensure integrity of data during protracted operations on the database; –To regulate concurrent accesses to the database. –By making it appear to whatever application or process that they are the only database user.

25 When Its All Gone Pear-Shaped Sometimes, there is no alternative to manipulating the database directly: –The dreaded Manual Update! These are dangerous things to do: –In Production, youve no room for error; –How can you make adjustments and verify theyre correct?

26 Transactions: 2 Also extremely important in supporting a real-time system where occasional manual updates are required: –Used correctly, you can do no wrong! –Just remember to always be in a transaction, or bad things may happen... –And dont forget the transaction afterwards...

27 Environmental Separation Using separate databases for different activities: –Development and Testing; –QA: Quality Assurance; –Production and Archival. Much safer to use... –... as long as you remember where youre looking at!

28 Multi-Tier Applications The n-tier application development idea: –2-tier: user interface and database; –3-tier: UI, business logic, DB; –4-tier: UI, middleware, BL, DB. –and so on... A lot depends upon the applications particular requirements: –Requirements can change over time...

29 Example: Trade Entry A collection of windows used by traders to book trades. 2.5-tier architecture (apps, SPs+DB): –In the first place, a good thing: TE was the only source of trades and adjustments; –As time passed, a bad thing: business logic intertwined with UI software, plus additional sources of trading information.

30 Problems The rules for genesis2: –Flexible rules, based on trade types (and other criteria); –Easily configurable without changing the program; –But is there a price to pay? What if the rules are wrong?

31 So, are there... Any questions?


Download ppt "Practical Databases A look at DBMS in practice: A Trading and Inventory System."

Similar presentations


Ads by Google