Take Off Your Rose Colored Relational DB Glasses
Ben Scofield gave a talk @ WindyCity Rails on 9/12/09 on domains and databases. I decided to take a spin:
Hope it helps. Raw notes below.
*** START OF RAW SCRIBBLE TAKEN WHILE RUNNING ***
• Ben Scofield
• Comics is Hard" On Domains and Databases
• 0:7.308 – Intro
……..○ Problem is domains that are hard to model
……..○ Map to code then to persistance layer and oo layer (like ruby)
……..○ Less focus on modeling @ DB layer
• 1:47.332 – Biology Basis
……..○ Linnean taxonomy (will use this as an example how system models fail)
…………….§ Fungi, Plants, Animals, etc
…………….§ Picture tables by levels
……..○ Problems levels are arbitrary (ie lions vs tigers)
……..○ Different opinions on what levels should be (ie sub/super on levels)
……..○ 4:24.248 – issues with class always having sub classes and super classes
……..○ He had a degree in biology
……..○ 4:24.248 – biological definition of species …
……..○ Examples
…………….§ 5:3.709 – Insect example
…………….§ 5:3.709 – Cross breeding example (point being cross breed object models, I assume)
……..○ 8:6.614 – Bacteria example
……..○ 8:42.644 – Tomato example
……..○ 9:32.983 – Plum example
……..○ 10:29.218 – Numerical Taxonomy
…………….§ Degrees of similarity between entities
…………….§ Real taxonomy is Cladistics
……………………□ Focus on picking out traits (i.e. chambers in hearts)
……………………□ Change in trait is branch point
……………………□ 12:21.251 – Doesn’t work – historical (can’t do forward)
……..○ 13:31.903 – The Challenge (imprecise – Biology)
• 13:50.356 – Comics
……..○ Publisher, Title, Issue (model)
…………….§ Naïve – Vertigo versus Johnny lines in Publisher
…………….§ Add imprint table (between issue / title)
……..○ 15:24.589 – Examples of different volumes of title (multiple series under same title)
…………….§ Add volume between title and issue
……..○ 16:23.117 – Issue
…………….§ Three types of issue by quality (hardback, comic, bulk)
…………….§ Giant size x-men … reprint of older xmen
…………….§ So add trades
……..○ 18:23.886 – Free comic book day
…………….§ Variations – Revisions (directors cut, censorship, art)
…………….§ Launch one comic w/ 5-6 covers … interior is same …cover is different
…………….§ Sketch variants (no color)
…………….§ 21:12.812 – XMEN example of bloody variant
……..○ 21:50.919 – Aquaman example
…………….§ Relaunchs in 90 and 2000
…………….§ Hand made out of water (issue 39)
…………….§ Aquaman releases w/ same title but use same number
……..○ 23:26.902 – Batman and the Outsiders
…………….§ Changed to just "batman" on 15
…………….§ Titles can be multiples then
……..○ 24:0.533 – Captain America
…………….§ Went away around 1947 … backup in Tales of Suspense (backup feature in this)
…………….§ Number change and title change
…………….§ Relaunch in 2005 … #1
…………….§ Jump from 51 to 600 … Marvel decided to renumber
……..○ 26:24.780 – Remundi
…………….§ Darkhorse … titles can change publishers
…………….§ Pulls imprint out
……..○ 27:20.578 – Genres
…………….§ Pirates, Marshal arts, etc … not there
• 27:49.954 – The Challenge In Modeling (The point)
……..○ Smash comic book domain onto a relational schema didn’t work
……..○ Possible doesn’t mean it’s a good idea
……..○ 29:9.335 – DBMS options
…………….§ Keyvalue stores – YAML, Memcache replacements
…………….§ Series on Engine Yard talks about Keyvalue Stores (read that)
……..○ 30:38.330 – CouchDB (Document Oriented DBs)
…………….§ JSON Hash – Mini structured key value store
…………….§ No schema
…………….§ Mongo mapper to hit mongo db
…………….§ YAML could be document format in document orientated DB
…………….§ Good for biology … example … dog vs tiger … keep both animals but no null storage if not there
…………….§ Good for surveys …
…………….§ Build a CMS on a document database
…………….§ Expression Engine
……..○ 34:10.493 Graph Databases
…………….§ New hotness for 2010
…………….§ There are a lot of them but you can’t see them (built internally ie Akami)
…………….§ Neo4j and AllegroGraph
……………………□ Nodes (like documents w/ attributes but not non-relational … relationships are 1st class objects
…………….§ Been around for awhile (not widely used)
…………….§ RDF is a graph database
…………….§ Do things without schemas here as well
…………….§ 37:45.278 – Comics
……………………□ Example of going to superhero node
……………………□ Create nodes, link them, get relationships
……..○ 38:51.668 – Other
…………….§ Column Oriented (BigTable)
…………….§ Temporal (time woven)
…………….§ Constant DB (can’t change)
…………….§ Link
• 39:54.239 – Polyglot Persistence
……..○ No SQL is a bad idea
……..○ Use DB tailored to job … create a hybrid DB for your solution
…………….§ Blog = couchDB for comments, tagging in relationships
……..○ The power is yours
• 41:53.695 – QA
……..○ Graph storage easy … what about retrieval … when you get a node you pull the relationships tied to the node
……..○ Graph DB how traverse the entire graph or complex queries … not sure
No comments yet.
-
Recent
- Site Moved
- Googles on Current Change Catalysts (HTML5, etc)
- UI Design: No Tools – Wetware
- Testing Rails Applications
- Startups – Numbers By Phase
- Take Off Your Rose Colored Relational DB Glasses
- Measure Twice – Cut Once
- Rails 3 – Merb Implications
- Farmville Is Bigger Than World of WarCraft? Really?
- Eric Schmidt (CEO Google) – Issues Facing U.S.
- Judy Estrin (Author): The Four Keys of Innovation
- PaaS (Longjump): The Glory (?) Of Centralized Computing
-
Links
-
Archives
- December 2009 (1)
- November 2009 (1)
- October 2009 (7)
- November 2008 (1)
- September 2008 (2)
- July 2008 (1)
- June 2008 (7)
- May 2008 (13)
- April 2008 (15)
- March 2008 (11)
- July 2007 (1)
- January 2007 (1)
-
Categories
-
RSS
Entries RSS
Comments RSS
Leave a comment