Tuesday, October 21, 2008

Session 3 - It's 11 pm, Do you know where your queries are? - Part 1

Eric Farrar, Sybase iAnywhere

Talking about Object Relational Mappers (ORMs) and Active Records - tradeoffs

They are using Ruby here as their example data

ORM difficulties
  • Normalization
  • Database can only store scalar values
  • Add an extra layer of abstraction
Examples of ORMs/Active Records
LINQ
Hibernate
DJango
Ruby on Rails
many more

Trade-offs

Advantages
  • easy to learn
  • simplifies database creation and management
  • No context switching between languages
  • Ability to create database agnostic applications
  • You don't need know about the database
Disadvantages
  • Performance suffers (up to 50% slower) or more
  • Often uses lowest-common denominator solution
  • concurrency semantics often very difficult
  • you don't need to know about the database
...

No comments: