Persistency Systems

Object Oriented Persistency Systems (this includes OODBMS, Object-Relational-Mappers, and others).

Note

Several persistence systems were reviewed as a part of a Stack case.

Alert: Alert Persist Python?

Current Selection

  • none

Template

Candidates

Candidate Type Audit Passes Non Compliant Requirements
http://eyedb.org ODBMS Eyedb Audit
python.orm.Axiom ORM
python.orm.SQLalchemy ORM Sql Alchemy Audit?
python.orm.SQLObject ORM Sql Object Audit no Project-Resources, Evolution, Terminology, Standards (API),
python.orm.Django ORM Django Audit no Simplicity, Project, Liberality, Evolution, Terminology, Standards (API)
python.stack.Schevo INV Schevo Audit no does not produce persistency layer (see Stack case)
python.Dabo INV Dabo Audit no does not produce persistency layer (see Stack case)
ruby.og ORM Og Evaluation no Simplicity, Project, Leadership

http://wiki.python.org/moin/HigherLevelDatabaseProgramming

Type Legend

  • ODBMS (Full ODBMS implementation)
  • ODBAL (Application Layer above existent ODBMS)
  • INV (Invalid Candidate for this category)

Goals

  • develope strictly OO
  • keep ability to change database backends

Requirements

Basic

Standards

  • Support Standard ODBMS API's
  • Uses standard OO Terminology on the API side
    • free of SQL/Relational terminology for ORM Tools
  • Uses Standards within the language-domain (e.g. Python)

Functionality

  • Transparency (minimal or no difference to standard objects of the language)
    • Inheritance
  • Includes Automated Schema Evolution Support
    • Development Schema Evolution (focusing on simplicity and conveniency etc.)
    • Production Schema Evolution (focusing on integrity, stability etc.)

Extended

Resources