| 開発者 | マクオブジェクト |
|---|---|
| 初回リリース | 2003年 |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ODBMS |
| ライセンス | GPLまたはプロプライエタリ |
| Webサイト | www.mcobject.com/perst |
Perst は、オープン ソース、デュアル ライセンス、オブジェクト指向の 組み込み データベース管理システム( ODBMS )です。Javaプログラミング言語バージョンとC#プログラミング言語バージョンはどちらもコンパクトで、Perst はAndroidおよびWindows Phone (WP7)オペレーティング システムを実行 するスマートフォンに実装されています。
歴史
Perst は 2003 年にロシアで発売されました。データベースとプログラミング言語を緊密に統合することで高性能を実現するように設計されており、Perst は言語オブジェクトにデータを直接保存します。2006 年にワシントン州イサクアに拠点を置く McObject LLC が Perst の開発を引き継ぎました。同社は引き続き無料ダウンロードを提供しており、商用ライセンス オプションも追加しています。
Perst は当初 Java で書かれ、その後 C# に移植されました。元々はデスクトップおよびサーバーベースのソフトウェア用に設計されていましたが、Perst はスマートフォンなどのデバイスで実行されるモバイル アプリケーションのデータベース管理にも利用されています。これらのモバイル デバイスには通常、ハードウェア上の制約があり、RAM が限られており、CPU サイクルが少なく、(データベース システムにとって) 非標準の動作要件 ( Java MEのサポートやWindows Phone 7 モバイル プラットフォームのSilverlightなど) があります。 [1] [2] [3] [4]
バージョン
現在利用可能な Perst のバージョンは、Perst for .NET、Perst for Java、および Perst Lite です。Perst for Java と Perst Lite は、単一のソフトウェア ディストリビューションにバンドルされています。
Perst for .NET は、同じソース コードで C# バージョン 1.0 と 2.0 をサポートします。特定の C# 2.0 機能 (テンプレート クラスなど) のサポートは、コンパイル時に提供されます。標準およびコンパクト .NET フレームワーク、および Silverlight と互換性があり、Microsoft Windows Phone 7 (WP7) とWindows Embedded Compact (旧 Windows CE) の両方で動作できます。
Perst for Java は、J2SE / J2EE バージョン1.3 および 1.4、さらに J2SE/J2EE バージョン 5 をサポートしています。Android スマートフォン環境にも対応しています。
Perst Liteは、Java ME (J2ME) モバイルデバイスプラットフォームに基づくデバイス (BlackBerry スマートフォンなど) で実行される Perst for Java 実装です。メモリフットプリントは標準の Perst より約 30% 小さくなっています。[5]
詳細
サイズ
Perstエンジンのサイズはソースコードで5,000行で、実行時に必要な ランダムアクセスメモリ(RAM)は30K~300Kです。[6 ]
取引
Perstトランザクションは、自動回復機能を備えたACIDプロパティ (アトミック性、一貫性、独立性、耐久性)をサポートします。
クエリ
Perst は、コンテナ クラスの要素をフィルタリングするためのSQLのサブセットを提供します。保存されたオブジェクトにアクセスするために、Perst は次のような特殊なコレクション クラスを実装します。
- Bツリー インデックス
- Rツリーインデックス
- Tツリーに基づくインメモリデータベースコンテナクラス
- k -d ツリーインデックス
- 基数木(パトリシアトライ)インデックス
- 株価情報などの小さな固定サイズのオブジェクトを効率的に処理するための時系列クラス
- 厚いインデックス(重複が多いインデックス)とビットインデックス(値の数が制限されているキー)のコレクションの特殊バージョン[7]
スキーマの進化
既存のデータベース設計 (データベース スキーマ) の変更を容易にするために、Perst は「遅延」データベーススキーマ進化を実装します。オブジェクト インスタンスがデータベースからロードされると、そのクラス記述子がアプリケーションのクラスの形式と比較されます。それらが同一でなく、オブジェクトを変更する必要があるときは、オブジェクトは変換され、新しい形式で保存されます。「積極的」スキーマ進化では、形式の変更がデータベース全体に一斉に広がります。
追加機能
- ガベージコレクション
- マルチスレッド
- 統合言語クエリ(LINQ)のサポート[8]
- XMLインポート/エクスポートユーティリティ
- マスター/スレーブ レプリケーションのサポート、スレーブノードで読み取り専用クエリを実行するオプション付き
- 全文検索[9]
- アスペクト指向プログラミングツールAspectJおよびJAssistとの統合[10]
実装例
ProScout は、Java ME 環境で Perst Lite を使用するためのデモ MIDlet です。このデモは、スポーツ リクルーター向けの個別のメモ作成機能です。当初はBlackberry用に実装されましたが、 Nokia S60にも導入されています。[11]
McObjectは、Perst for .NETを使用したCRMシステムのデモアプリを提供しています。これには、Silverlightのデスクトップブラウザで実行される、完全にテキスト検索可能な連絡先データベースが含まれています。 [12] appamundiのAndy Wigley氏は、このデモアプリをWindows Phoneに移植し、一連のブログ投稿でプロジェクトについて説明しました。[13]
ライセンス
ユーザーは、 Free Software Foundationが発行したGNU General Public License (バージョン 2 以降)の条件に従って、Perst を再配布および/または改変することができます。GPL に準拠できない、または準拠したくない個人または組織の場合は、McObject から商用ライセンスを入手できます。
参考文献
- ^ たとえば、Microsoft の Windows Phone 7 開発エクスペリエンス担当ディレクターである Brandon Watson のブログ記事「Windows Phone 7 デバイス リクエスト」(2010 年 6 月 17 日) の「Windows Phone 7 用データベースの構築は壮大な作業」を参照してください。
- ^ データベース デュオが Windows Phone 7 アプリ ストレージを提供、The Register、2010 年 6 月 30 日。
- ^ Silverlight アプリケーション用の組み込みデータベース エンジン、Architecture + Strategy ブログ、MSDN。
- ^ J2ME ベースの組み込みデバイス用のオブジェクト指向データベースの開発。EE Times、2006 年 12 月 14 日。この記事では、Java ME (J2ME) 環境で ODBMS をサポートするために克服する必要があった技術的な課題について説明します。
- ^ Java ME 用データベース、パート 2: JavaDB だけでなく Perst Lite も、Terrence Barr の Java.Net のブログ。2007 年 12 月 7 日 Archived 2012-02-26 at the Wayback Machine。Sun Microsystems の Java ME エバンジェリストである Barr は、このブログ記事と前回のブログ (Need A Database With Your Phone?、2007 年 9 月 5 日 Archived 2011-08-18 at the Wayback Machine ) で、Java ME ベースのスマートフォンで実行されるアプリケーションでのデータ管理の需要が高まっていることと、このニーズを満たすために利用できるデータベース システムについて説明しています。
- ^ McObject が Java 用のオープンソース組み込みデータベース Perst をリリース。Java Developer's Journal、2006 年 2 月 9 日
- ^ McObject が Android 上で Perst vs. SQLite ベンチマークをリリース。Dr. Dobb's Journal、2008 年 1 月 2 日
- ^ 「組み込みデータベースに LINQ サポートが追加されました」。2013 年 2 月 9 日時点のオリジナルよりアーカイブ。eWeek の Windows For Devices、2008 年 6 月 9 日
- ^ McObject が Perst 4.0 をリリース。Android 向けの新しいネイティブ全文検索など。2011 年 5 月 20 日にWayback Machineにアーカイブ。Open Handset Magazine、2009 年 1 月 27 日
- ^ 機能の詳細については、McObject の Perst 組み込みデータベース仕様を参照してください。また、Perst for Java: 入門とチュートリアルおよび Perst for .NET: 入門とチュートリアルも参照してください。
- ^ Blackberry と Nokia S40 および S60 デバイス間での Java ME Midlet の移植、http://eetimes.com/design/embedded/4007203/Porting-a-Java-ME-Midlet-Between-Blackberry-and-Nokia-S40-and-S60-Devices
- ^ Perst および Silverlight 組み込みデータベース デモ アプリケーション
- ^ Perst - Windows Phone 7 Silverlight のデータベース
外部リンク
- McObjectの公式ウェブサイト
- Perst - Java.Net Mobile & Embedded Community Web サイトの ProScout ページ。
