System Prevalence

System Prevalence

System prevalence is a simple software architectural pattern that combines system images (snapshots) and transaction journaling to provide speed, performance scalability, transparent persistence and transparent live mirroring of computer system state.

In a prevalent system, state is kept in memory in native format, rather than being written to an RDBMS or other data storage system. All transactions are journaled and System images are regularly saved to disk.

System images and transaction journals can be stored in language-specific serialization format for speed or in XML format for cross-language portability.

The first usage of the term and generic, publicly-available implementation of a system prevalence layer was Prevayler, written for Java by Klaus Wuestefeld in 2001.[1]

Contents

Advantages

Simply keeping system state in RAM in its normal, natural, language-specific format is orders of magnitude faster and more programmer-friendly than the multiple conversions that are needed when it is stored and retrieved from a DBMS. As an example, Martin Fowler describes "The LMAX Architecture" [2] with a transaction-journal and system-image (snapshot) based business system at its core, which can process 6 million transactions per second on a single thread.

Requirement

A prevalent system needs enough memory to hold its entire state 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 already to fit in memory.

Programmers need skill in working with business state natively in RAM, rather than using explicit API calls for storage and queries for retrieval.

The system's events must be capturable for journaling.

Implementations

Java

.NET

Python

Ruby

Common Lisp

Perl

  • Perlvayler

Smalltalk

Javascript

References

  1. ^ Klaus Wuestefeld (2001-12-23). "Object Prevalence". Advogato. http://www.advogato.org/article/398.html. Retrieved 2008-04-02. 
  2. ^ Martin Fowler (2011-07-12). "The LMAX Architecture". http://martinfowler.com/articles/lmax.html#KeepingItAllInMemory. Retrieved 2011-07-28. "A thread that will process 6 million orders per second using commodity hardware." 

External links

  • "An Introduction to Object Prevalence", by Carlos Villela for IBM Developerworks. [1]
  • "Prevalence: Transparent, Fault-Tolerant Object Persistence", by Jim Paterson for O'Reilly's OnJava.com [2]
  • List of Prevalent System layer implementations for various languages [3]
  • "Object Prevalence": Original Article by Klaus Wuestefeld published in 2001 on Advogato. [4]

See also



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • System of Leibniz —     The System of Leibniz     † Catholic Encyclopedia ► The System of Leibniz     I. LIFE OF LEIBNIZ     Gottfried Wilhelm von Leibniz was born at Leipzig on 21 June (1 July), 1646. In 1661 he entered the University of Leipzig as a student of… …   Catholic encyclopedia

  • Health care system — A health care system is the organization of people, institutions, and resources to deliver health care services to meet the health needs of target populations. There is a wide variety of health care systems around the world, with as many… …   Wikipedia

  • Multiple system atrophy — Classification and external resources ICD 10 G90.3 ICD 9 333.0 …   Wikipedia

  • Duffy antigen system — Duffy blood group, chemokine receptor Identifiers Symbols DARC; CCBP1; CD234; Dfy; FY; GPD External IDs …   Wikipedia

  • nervous system disease — Introduction       any of the diseases or disorders that affect the functioning of the human nervous system (nervous system, human). Everything that humans sense, consider, and effect and all the unlearned reflexes of the body depend on the… …   Universalium

  • Rh blood group system — Rh redirects here. For Siddharta, see Rh (album). For the band, see The RH Factor. The Rh (Rhesus) blood group system (including the Rh factor) is one of the currently 30 human blood group systems. It is clinically the most important blood group… …   Wikipedia

  • ABO blood group system — ABO redirects here. For other uses, see ABO (disambiguation). H substance redirects here. For use in inflammation, see histamine. ABO blood group antigens present on red blood cells and IgM antibodies present in the serum The ABO blood group… …   Wikipedia

  • Regulation and prevalence of homeopathy — Homeopathy is fairly common in some countries while being uncommon in others; is highly regulated in some countries and mostly unregulated in others. Regulations vary in Europe depending on the country. In some countries, there are no specific… …   Wikipedia

  • Voting system — For other uses, see Voting system (disambiguation). Part of the Politics series Electoral methods …   Wikipedia

  • solar system — the sun together with all the planets and other bodies that revolve around it. [1695 1705] * * * The Sun, its planets, and the small bodies (see asteroid, Centaur object, comet, Kuiper belt, meteorite, and Oort cloud) interplanetary dust and gas… …   Universalium

Share the article and excerpts

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