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