Object persistence

Object persistence

Object persistence is an object-oriented, in-memory, language-specific, persistent data storage and retrieval model used in computer programming. It is based on the techniques of system snapshotting and transaction journalling. The first usage of the term and generic, publicly-available implementation of object prevalence was Prevayler, written for Java by Klaus Wuestefeld in 2001.cite web
title = Object Prevalence
author = Klaus Wuestefeld
publisher = Advogato
url = http://www.advogato.org/article/398.html
date = 2001-12-23
accessdate = 2008-04-02
quote =
]

In the prevalent model, the object data is kept in memory in native, language-specific object format, rather than being marshalled to an RDBMS or other data storage system. A snapshot of data is regularly saved to disk, and in addition to this, all changes are serialised and a log of transactions is also stored on disk.

Advantages:
* Simply keeping objects in memory in their normal, natural, language-specific format is both orders of magnitude faster and more programmer-friendly than the multiple conversions that are needed when the objects are stored and retrieved from an RDBMS.

Requirement:
* The application needs enough memory to hold the entire database in RAM (the "prevalent hypothesis"). Prevalence advocates claim this is continuously alleviated by decreasing RAM prices, and the fact that many business databases are small enough to fit in memory anyway.

Disadvantages:
* There is no storage standard across different languages as each language uses its own serialisation format.

Implementations

* Prevayler (Java)
* Bamboo.Prevalence (.NET)
* [http://sourceforge.net/projects/pypersyst/ Pypersyst] (Python)
* [http://madeleine.rubyforge.org/ Madeleine] (Ruby)
* [http://common-lisp.net/project/cl-prevalence/ cl-prevalence] (Common Lisp)
* Perlvayler (Perl)
* SPrevayler (Smalltalk)

External links

* "An Introduction to Object Prevalence", written by a Prevayler developer. [http://www-128.ibm.com/developerworks/library/wa-objprev/]
* 3rd-party, criticism about Prevayler. [http://fishbowl.pastiche.org/2003/04/11/prevayling_stupidity]
* [http://www.prevayler.org/wiki.jsp?topic=PrevaylerPortsToOtherLanguages Complete list of object prevalence implementations for various languages] "(temporarily unavailable)"
* "Object Prevalence": Original Article by Klaus Wuestefeld published in 2001 on Advogato. [http://www.advogato.org/article/398.html]

References

ee also

*Persistence (computer science)
*Object-relational mapping


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Object-Oriented Software Construction —   …   Wikipedia

  • Object-relational mapping — For another use of ORM , see Object role modeling. Object relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in object oriented programming… …   Wikipedia

  • Object-oriented analysis and design — (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its… …   Wikipedia

  • Object database — Example of an object oriented model.[1] An object database (also object oriented database management system) is a database management system in which information is represented in the form of objects as used in object oriented programming. Object …   Wikipedia

  • Object-relational impedance mismatch — The object relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being used by a program written in an object oriented programming… …   Wikipedia

  • Persistence (computer science) — This article is about state outliving processes. For immutable data structures, see Persistent data structure. Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this… …   Wikipedia

  • Object Relational Bridge — Apache ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases. OJB has been designed for a large range of applications, from embedded systems to rich… …   Wikipedia

  • Object copy — An object copy is an action in computing where a data object has its attributes copied to another object of the same data type. An object is a composite data type in object oriented programming languages. The copying of data is one of the most… …   Wikipedia

  • Comparison of object database management systems — Features Information about what fundamental ODBMS features are implemented natively. Name Current Stable Version Language(s) SQL support Datatypes License Description Caché 2010.1.4 ObjectScript (dynamic language), Basic. Java/.NET object mapping …   Wikipedia

  • Perl Object-Oriented Persistence — (POOP) is the term given to refer to object relational mapping mechanisms written in the Perl programming language to provide object persistence. Dave Rolsky divides POOP mechanisms into two categories:* RDBMS OO Mappers: These tools attempt to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”