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
- 1997 Article from 1997 about Python Persistent Objects