Perst

Perst

Infobox_Software
name = Perst

caption =
developer = McObject
latest_release_version =
latest_release_date = February 14, 2006
latest preview version =
latest preview date =
operating_system = Cross-platform
genre = ODBMS
license = GPL or Commercial License
website = http://www.mcobject.com/perst
Perst is an open source, dual license, object-oriented embedded database management system (ODBMS), available in two implementations: one that is developed entirely in the Java programming language, and another developed in the C# language (for applications that will run within the Microsoft .NET Framework).

Perst for .NET supports standard and Compact .NET frameworks and can therefore be used to develop Microsoft Windows CE and PocketPC applications.

Perst Lite is an implementation of Perst for Java for applications running on cell phones, PDAs and other resource-constrained devices based on Sun Microsystems’ Java Platform, Micro Edition (Java ME, formerly called Java 2, Micro Edition, or J2ME). Perst Lite is included in the Perst for Java distribution, and has a “code footprint” approximately 30 percent smaller than standard Perst.

History

Perst was developed by Konstantin Knizhnik, a programmer living in Moscow, Russia, and released in 2003. In 2006, Knizhnik transferred distribution and commercial licensing of Perst to McObject, a for-profit company in Issaquah, Washington, United States. McObject develops and maintains the system, selling technical support and service contracts, as well as proprietary-licensed copies of Perst. Knizhnik is also still closely involved in developing Perst.

McObject develops another DBMS, "e"X"treme"DB, which is from an unrelated codebase.Its a type of Embedded database.

Licensing

Users can redistribute and/or modify Perst under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. For individuals or organizations that cannot or do not wish to comply with the GPL, a commercial license for this software may be purchased from McObject.

Product features

ize

The Perst engine’s size is 5,000 lines of code, and its run-time RAM needs range from 30K to 300K.http://www.mcobject.com/downloads/perstdatasheet.pdf]

Transactions

Perst transactions support the ACID properties (Atomicity, Consistency, Isolation and Durability) with automatic recovery. [https://perst.dev.java.net perst: Home ] ]

Querying

Perst provides a subset of SQL for filtering elements of a collection class. For access to persistent objects, Perst implements specialized collection classes including:

* B-tree indexes
* R-tree indexes
* Main-memory database Container classes based on T-trees
* Patricia Trie indexes
* TimeSeries class to deal efficiently with small fixed-size objects, such as stock quotes
* Specialized versions of collections for thick indexes (indexes with many duplicates) and bit indexes (keys with a restricted number of possible values)

chema evolution

To facilitate changes to an existing database design (database schema), Perst implements “lazy” database schema evolution. When an object instance is loaded from the database, its class descriptor is compared with the format of the class in the application. If they are not identical, and the object is to be changed, then the object is converted and stored in the new format. [ [http://www.mcobject.com/perst/perstarch.shtml Perst Open Source Object-Oriented Embedded Database for Java and .NET ] ]

Additional Features

* Garbage collection
* Multi-threaded [ [http://www.garret.ru/~knizhnik/eoodbms.html#perstarch Embedded Object Oriented Database Systems For Java And Csharp ] ]
* Detection of hanging references
* XML import/export utilities
* Master-slave replication support (with the option to run read-only queries on slave nodes) [ [http://www.embedded.com/showArticle.jhtml?articleID=180100081 Embedded.com - Real-time database support comes to embedded Java and C# designs ] ]
* Integration with AspectJ and JAssist aspect-oriented programming tools. [http://www.garret.ru/~knizhnik/eoodbms.html, http://www.garret.ru/~knizhnik/eoodbms.html#jassist]

Updates

July 2007

* Integration with Apache Lucene full-text search engine is added to Perst for Java
* Addition of multi-version concurrency control (fine-grain database locking)
* Automated updating of indexes when objects/rows of a table are inserted, edited or deleted [ [http://www.jroller.com/perst/entry/embedded_database_gains_full_text Embedded Database Gains Full-Text Search Via Apache Lucene] , "Perst: A Java Embedded Database blog", July, 2007]

January 2008

* McObject announces that Perst for Java has been verified as compatible with the Android mobile device platform backed by Google and the Open Handset Alliance
* Introduction of TestIndex, a demo application showing Perst and Android’s bundled SQLite database performing the same tasks side by side. TestIndex is offered as a free download, with complete source code, from McObject's Web site [ [http://www.jroller.com/perst/entry/perst_verified_for_android_mobile Perst Verified for Android Mobile Platform; Offered With TestIndex Performance Benchmark] , "Perst: A Java Embedded Database Blog", January, 2008]

February 2008

* Support for KD-Tree or "k-dimensional" tree, a database index with uses in spatial and pattern-matching applications, is added. KD trees are useful in handling multi-dimensional data, and in applications where query predicates contain various combinations of object fields (for example, to construct Query-By-Example, or QBE features) [ [http://www.jroller.com/perst/entry/with_kd_trees_mcobject_sharpens With KD Trees, McObject Sharpens its Edge in Java Database Indexes] , "Perst: A Java Embedded Database Blog", February, 2008]

March 2008

* McObject releases ProScout, a demo MIDlet incorporating Perst Lite (for Java ME), as a learning tool. [http://www.java.net Java.Net] [http://community.java.net/mobileandembedded Mobile & Embedded Community] establishes [https://meapplicationdevelopers.dev.java.net/mcobject/perst.html dedicated pages] to offer ProScout with complete source code, screenshots, Getting Started instructions, a file explaining database features used within ProScout, and links to technical articles and database resources [ [http://www.jroller.com/perst/entry/proscout_demo_on_java_net 'ProScout' Demo on java.net Illustrates Databases Use in Java ME Apps] , "Perst: A Java Embedded Database Blog", March, 2008]

June 2008

* Perst gains built-in full-text search (no longer dependent on Apache Lucene). McObject states benefit as greater efficiency compared to using Lucene, and a smaller footprint (the Lucene .jar file is several hundred kilobytes in size, while including search capability in Perst adds just a few kilobytes).
* On-the-fly data compression is added to Perst Lite, reducing stored data size by three to five times
* Support for Language Integrated Query (LINQ) is added to Perst for .NET
* New 38-page "Perst Introduction and Tutorial" is published
* Perst for .NET’s API guide is updated to MSDN-like formatting familiar to .NET programmers. The new documentation, generated using Visual Studio’s SandCastle tool, consists of a single Windows help file, which saves space compared to the earlier approach using many HTML pages. [ [http://www.embedded-computing.com/news/db/?11947 Perst Embedded Database Version 3.0 Adds Major New Features] , "Embedded Computing", June, 2008]

References

External links

* [http://www.mcobject.com/perst Perst information on McObject Web site]
* Knizhnik, Konstantin and Gorine, Andrei. [http://www.embedded.com/showArticle.jhtml?articleID=196602870 “Developing an object-oriented database for J2ME-based embedded devices”] , [http://www.embedded.com Embedded.com] , December 14, 2006.
* Knizhnik, Konstantin. [http://www.embedded.com/products/softwaretools/202400727?_requestid=92804 "Porting a Java ME Midlet Between Blackberry and Nokia S40 and S60 Devices"] , [http://www.embedded.com Embedded.com] , October 14, 2008.
* [https://meapplicationdevelopers.dev.java.net/mcobject/perst.html Perst - ProScout pages on Java.Net Mobile & Embedded Community Web site] .
* Barr, Terrence. [http://weblogs.java.net/blog/terrencebarr/archive/2008/03/databases_for_j.html Databases for Java ME, follow up: Check out the new ProScout sample app] , Terrence Barr's Blog, March 2, 2008.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Углеродные нанотрубки — У этого термина существуют и другие значения, см. Нанотрубки. Схематическое изображение нанотрубки …   Википедия

  • Зелёная соль Магнуса — Соль Магнуса (Magnus green salt) [Pt(NH3)4][Pt(II)Cl4]. Также известна как хлорплатинит 1 го основания Рейзе. Первый из открытых комплексов аммиака и платины. Открыта Генрихом Магнусом в 1823 году. Имеет тёмно зелёный цвет, малорастворима в воде… …   Википедия

  • ПЖК — Профсоюз журналистов Кыргызстана Кыргызстан, организация Источник: http://www.monitoring.kg/eng/books/books 05.html ПЖК производственно животноводческий комплекс Источник: http://www.zaporizhstal.com/products/consumer goods/milk/ ПЖК подкожно… …   Словарь сокращений и аббревиатур

  • PCI Express — PCI E PCI Express PCI Express logo Год открытия: 2002 (1.0) 15 января 2007 (2.0) ноябрь 2010 (Спецификации версии 3.0) Разработчик: Intel, PCI Special Interest Group Что эта шина заменила: AGP, PCI X, PCI …   Википедия

  • Дырка — У этого термина существуют и другие значения, см. Дырка (значения). Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь …   Википедия

  • 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

  • List of object-oriented database management systems — The following is a list of object oriented database management systems.*Caché * [http://www.codeplex.com/Cerebrum Cerebrum : Object oriented network knowledge base] *ConceptBase *Datawasp *Db4o *eXtremeDB *Facets (previously known as GemStone J)… …   Wikipedia

  • In-memory database — An in memory database (IMDB; also main memory database system or MMDB) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems which employ a disk storage… …   Wikipedia

  • Triethyloxonium tetrafluoroborate — Triethyloxonium tetrafluoroborate …   Wikipedia

  • Persegi Gianyar — Football club infobox clubname = Persegi Gianyar fullname = Persatuan Sepakbola Gianyar nickname = founded = ground = Kapten i Wayan Dipta Stadium capacity = 25,000 owner = chairman = manager = CEO = coach = league = season = position = pattern… …   Wikipedia

Share the article and excerpts

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