请输入您要查询的百科知识:

 

词条 Perst
释义

  1. History

  2. Versions

  3. In detail

     Size  Transactions  Querying  Schema evolution  Additional features 

  4. Example Implementations

  5. Licensing

  6. References

  7. External links

{{Infobox software
|name = Perst
|logo =
|caption =
|developer = McObject
|released = {{Start date and age|2003}}
|latest_release_version =
|latest_release_date = {{start date and age|2006|02|14}}
|latest preview version =
|latest preview date =
|operating_system = Cross-platform
|genre = ODBMS
|license = GPL or proprietary
|website = {{URL|www.mcobject.com/perst}}
}}

Perst is an open source, dual license, object-oriented embedded database management system (ODBMS). Both the Java programming language, and the C# programming language versions are compact and Perst has been implemented on smart phones running the Android and Windows Phone (WP7) operating systems.

History

Perst was launched in 2003, in Russia. It was designed to achieve high-performance by tightly integrating the database with the programming language: Perst directly stores data in the language objects. In 2006 McObject LLC, based in Issaquah, WA took over the development of Perst. It continues to offer free downloads and has added commercial license options.

Perst was first written in Java, and ported to C#. Although originally designed for desktop- and server-based software, Perst has also found usage in providing database management for mobile applications running on devices such as smartphones. These mobile devices typically have hardware constraints, with limited RAM and few CPU cycles available and non-standard (for database systems) operating requirements (such as support for Java ME, or Silverlight in the Windows Phone 7 mobile platform).[1][2][3][4]

Versions

Currently available versions of Perst are Perst for .NET, Perst for Java and Perst Lite. Perst for Java and Perst Lite are bundled in a single software distribution.

Perst for .NET supports C# versions 1.0 and 2.0 with the same source code. Support for specific C# 2.0 features (such as template classes) is provided at compile time. It is compatible with both standard and compact .NET frameworks, as well as Silverlight, and can operate on both Microsoft Windows Phone 7 (WP7) and Windows Embedded Compact (formerly Windows CE).

Perst for Java supports J2SE/J2EE versions 1.3 and 1.4, as well as J2SE/J2EE version 5. It is compatible with the Android smartphone environment.

Perst Lite is the Perst for Java implementation that runs on devices (such as BlackBerry smartphones) based on the Java ME (J2ME) mobile device platform. It has a memory footprint approximately 30 percent smaller than standard Perst.[5]

In detail

Size

The Perst engine’s size is 5,000 lines of source code, and its run time random-access memory (RAM) needs range from 30K to 300K.[6]]

Transactions

Perst transactions support the ACID properties (atomicity, consistency, isolation, durability) with automatic recovery.

Querying

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

  • B-tree indexes
  • R-tree indexes
  • In-memory database container classes based on T-trees
  • k-d tree indexes
  • Radix tree (Patricia trie)indexes
  • Time series 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)[7]

Schema 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. With an “eager” schema evolution format changes would sweep through the database all at once.

Additional features

  • Garbage collection
  • Multi-threaded
  • Support for Language Integrated Query (LINQ)[8]
  • XML import/export utilities
  • Master/slave replication support, with the option to run read-only queries on slave nodes
  • Full text search[9]
  • Integration with AspectJ and JAssist aspect-oriented programming tools[10]

Example Implementations

ProScout is a demo midlet for using Perst Lite in the Java ME environment. The demonstration is of a discrete note-taking facility for a sports recruiter. Originally implemented for the Blackberry, it has also been deployed on the Nokia S60.[11]

McObject provides a demo app of a CRM system using Perst for .NET, including a fully text-searchable contact database that runs in the desktop browser in Silverlight.[12] Andy Wigley, of appamundi, ported this demo app to Windows Phone and described the project in a series of blog postings.[13]

Licensing

Users can redistribute and/or modify Perst under the terms of the GNU General Public License (version 2 or later) as published by the Free Software Foundation. For individuals or organizations that cannot or do not wish to comply with the GPL, a commercial license is available from McObject.

References

1. ^See, for example, “Building a database for Windows Phone 7 qualifies as epic,” from Brandon Watson, Microsoft Director of Developer Experience for Windows Phone 7, in his blog post Windows Phone 7 Device Requests, 6/17/2010.
2. ^Database duo deliver Windows Phone 7 apps storage, [https://www.theregister.co.uk/2010/06/30/windows_phone_7_database/ The Register, 6/30/2010].
3. ^Embedded database engine for Silverlight applications, Architecture + Strategy blog, MSDN.
4. ^Developing an object-oriented database for J2ME-based embedded devices. EE Times, 12/14/2006. This article discusses the technical challenges that had to be overcome in Java ME (J2ME) in order to support an ODBMS in that environment.
5. ^Databases for Java ME, part 2: Not just JavaDB but also Perst Lite, Terrence Barr’s blog on Java.Net. 12/7/2007 {{webarchive|url=https://web.archive.org/web/20120226075511/http://weblogs.java.net/blog/terrencebarr/archive/2007/12/databases_for_y.html |date=2012-02-26 }}. Barr, a Sun Microsystems evangelist for Java ME, in this blog post and in a preceding one (Need A Database With Your Phone?, 9/5/20070 {{webarchive|url=https://web.archive.org/web/20110818192130/http://weblogs.java.net/blog/terrencebarr/archive/2007/09/need_a_database.html |date=2011-08-18 }}, describes the emerging demand for data management in applications that run on Java ME-based smartphones, and the handful of database systems available to satisfy this need.
6. ^McObject releases Perst, an open source embedded database for Java. Java Developer’s Journal, 2/9/2006
7. ^McObject releases Perst vs. SQLite benchmark on Android. Dr. Dobb’s Journal, 1/2/2008
8. ^{{cite web|url=http://www.windowsfordevices.com/c/a/News/Embedded-database-adds-LINQ-support/|title=Embedded database adds LINQ support.|archiveurl=https://archive.today/20130209183243/http://www.windowsfordevices.com/c/a/News/Embedded-database-adds-LINQ-support/|archivedate=2013-02-09|deadurl=yes|df=}} eWeek’s Windows For Devices, 6/9/2008
9. ^McObject Released Perst 4.0, New Native Full-Text Search and More for Android. {{webarchive|url=https://web.archive.org/web/20110520092526/http://openhandsetmagazine.com/2009/01/mcobject-released-perst-40-new-native-full-text-search-and-more-for-android/ |date=2011-05-20 }} Open Handset Magazine, 1/27/2009
10. ^For further discussion of features see McObject’s Perst embedded database specification; also its Perst for Java: Introduction and Tutorial and Perst for .NET: Introduction and Tutorial
11. ^ Porting a Java ME Midlet Between Blackberry and Nokia S40 and S60 Devices, http://eetimes.com/design/embedded/4007203/Porting-a-Java-ME-Midlet-Between-Blackberry-and-Nokia-S40-and-S60-Devices
12. ^Perst and Silverlight Embedded Database Demo Application
13. ^Perst - a database for Windows Phone 7 Silverlight

External links

  • {{official website|www.mcobject.com/perst}} at McObject
  • Perst - ProScout pages on Java.Net Mobile & Embedded Community website.

4 : Object-oriented database management systems|Free database management systems|Android (operating system) development software|Embedded databases

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/14 12:25:41