150 likes | 252 Views
Swivel: A Generalized Faceted Data Browser. Edward Clarkson CS 6400 Project, Fall 2008. Introduction: Faceted Metadata. A Library Science concept for organizing information Dates from 1950s… but difficult without computers! Hierarchies (Dewey Decimal, etc.) are useful, but restrictive.
E N D
Swivel: A Generalized Faceted Data Browser Edward Clarkson CS 6400 Project, Fall 2008
Introduction: Faceted Metadata • A Library Science concept for organizing information • Dates from 1950s… but difficult without computers! • Hierarchies (Dewey Decimal, etc.) are useful, but restrictive. • Faceted Classification/Metadata: classify a set of items into multiple sets of independent, potentially hierarchical categories
Connection to Data Warehousing • Data Warehouses (DWs) aggregate OLTP system data to for decision support, analysis, etc. • Dimensional Modeling common in DW design. • Central fact table connected to many dimensional tables • Star and Snowflake Schemas • Denormalized! Sources: http://upload.wikimedia.org/wikipedia/en/f/fe/Star-schema-example.png http://upload.wikimedia.org/wikipedia/en/7/73/Snowflake-schema-example.png
Basic Faceted Browser UI Design • Goal: Out-of-box applicability to ANY DB following our generic data model
Swivel • Technologies • jQuery AJAX library > Pylons > MySQL • 16,000+ annotated architecture images as test data
Logical Independence • Need some mechanism for application to discover and use DB arrangement • ORM component: a bit cumbersome • Foreign Key constraints
Minimizing Query Load • Controller queries for all necessary data, passes it to templates • Per-HTTP-request demands: • 2 queries for item list • 1 LIMIT query for items (n-way JOIN based on selections) • 1 GROUP BY aggregation of n-way JOIN for item count • 1 query per facet • 1 GROUP BY aggregation of n-way JOIN for facet values and counts.