3.5. System Design

In this lecture we look at...
[Section notes PDF 64Kb]

3.5.01. Databases in Application

  • Where’s the data?
  • Programmer driven future
  • OODBMS limitations
  • RDBMS longevity
  • System design by
    • Data store, delivery, interface
  • Case study

3.5.02. Where’s the data?

  • Previously covered distance from User to Data (and reason for it)
  • Client-Server data model creates DBMS
    • P2P alternative
  • Accountability
  • Distribution (BitTorrent, eDonkey)
  • Caching

3.5.03. Where’s the data?

  • Answer: everywhere
  • But where is it meaningful?
  • Answer: for whom?

3.5.04. Quality paradigm

  • Large projects require large teams
  • Team overhead (ref 2nd year)
  • Code responsibilities
  • Data/data model resp.
  • Object responsibilities

3.5.05. Web application data support

  • Web application programming
  • Goal, dynamically produced XHTML
  • Client side designer-programmer split
    • CSS, XHTML
  • Server side programmer-programmer split
    • Old school: query design, integrator
    • New school: MVC (Model-View-Controller)
      • Controller – user input
      • Model – modelling of external world
      • View – visual feedback

3.5.06. CMS

  • Content Management System
  • part of other courses
  • CMS is a DBMS
  • Zope/Plone and ZODB
  • e107, Drupal and Seagull
  • Zend MVC Framework (pre-beta)

3.5.07. OODBMS limitations

  • Future unknown
  • RDBMS supports
    • Application data sharing
    • Physical/logical data independence/views
    • Concurrency control
    • Constraints
  • at inception these requirements not known
  • RDBMS mathematical basis → extensible
  • Crude Type Inheritance (see EER mapping)
  • OODBMS as construction kit

3.5.08. Weaknesses in RDBMS

  • Data type support
  • Unwieldy, created 3VL (nulls)
  • Type Inheritance and Relationships
  • Tuple:Entity fragmentation
    • not to be confused with ‘fragmentation’
  • Entity approximation requires joins

3.5.09. System design

  • Client specifications
  • Variance amongst Mobile devices
  • Rich-media Content delivery
  • Where’s the data? (M – media database)
  • Where’s it going? (C – mobile browser)
  • How’s it going to get there? (query design)
  • What’s it going to look like? (V – XHTML)

3.5.10. Muddy boots

  • The real world of databases
  • Massive Excel spreadsheets
  • Access Migration
  • Normalisation
  • Update implications
  • Visual language of the Internet limitations
  • Future of browser components