SOA/ESB
PROGRESS software

ObjectStore

ObjectStoreは、信頼性の高い高性能データ管理システムの開発とアプリケーションのキャッシングをサポートする、実績あるテクノロジソリューションです。

ObjectStoreは、エンタープライズ向けのeビジネスアプリケーション、通信アプリケーション、そして商用ソフトウェアアプリケーションにとって、理想的なデータ管理ソリューションです。
このスケーラブルな高性能テクノロジは、独自のオブジェクト指向データモデリングと、JavaおよびC++のネイティブサポートによって、これまで不可能だったスピード、信頼性、スケーラビリティ、開発生産性を実現し、ミッションクリティカルなシステムの要求に応えます。

ビジネスをWebに拡張するとき、ネットワークインフラをサポートするとき、そして、リアルタイム性を重視する企業が膨大なトランザクションとユーザに対応する最先端ソフトウェアを構築するときでも、実績あるテクノロジソリューションであるObjectStoreを使用することによって、アプリケーションのための強力で安定した高性能な基盤を開発することができます。
ObjectStoreは、今日の開発パラダイムと緊密に連携する新しい効果的なデータ分散管理戦略を企業に提供します。

機能一覧
サポートプラットフォーム

効率的なデータ管理

ObjectStoreは、Java、C++などのオブジェクトプログラミング環境に理想的な、高性能のデータストレージを提供します。ObjectStoreデータベースは、企業のコンポーネントオブジェクトモデルによって定義されます。

したがって、通常利用するオブジェクトモデリング言語さえ理解していれば、ObjectStoreの操作は簡単に習得することができます。C++およびJavaのクラス階層は、それぞれのネイティブフォーマットで格納され、リレーショナルデータベースのように表形式に変換されません。

つまりObjectStoreでは、新しいクラスを作成したり、既存のクラスを拡張したりするように、簡単に新しいデータ型をサポートすることができます。ユーザは、利用するプログラミング言語のすべてのメリットを活用することができ、型や複雑さを問わずにデータを管理することができます。オブジェクトコレクションを管理する標準ライブラリもObjectStoreで直接サポートすることができます。
さらにObjectStoreは、問い合わせ処理、索引作成、トランザクションなど、さまざまな機能をサポートしています。

開発時間を高速化

C++とJavaへのシームレスなインタフェースにより、リレーショナルデータベース上に構築される通常のオブジェクトアプリケーションのコードベースの25%から70%を占める、マッピングコードの記述が不要になります。 また、ObjectStoreではJDBCやSQL を使用する必要がありません。

ObjectStoreのオブジェクトは、選択したプログラミング言語のネイティブなコマンドを使って、簡単に作成、更新、問い合わせ、削除を行うことができます。アプリケーションがそのまま利用できる形でデータを格納することにより、開発コストを節減し、生産性を高めるとともに、これまでのようなシリアル化やマッピングコードでなく、ビジネスロジックに専念することが可能になります。

ObjectStoreは、ミドル層データサーバとして利用することができます。この場合、ObjectStoreは既存のエンタープライズシステムに接続し、ミドル層にデータをキャッシュしてメモリスピードでユーザに提供します。
また、新しいアプリケーションのレコードのための高性能データベースとしても利用できます。

パフォーマンスの強化

リレーショナルおよびオブジェクトリレーショナルデータベース管理システムと違い、ObjectStoreは、実行時にテーブルジョインにより関連するデータを取得する必要がなく、JavaおよびC++アプリケーションコンポーネントが一時的に行う処理と同様に、関係を維持したままデータコンポーネントとオブジェクトを格納、管理します。

つまりObjectStoreは、データベース内の参照関係をたどることによって、関連オブジェクトを即座に検索することができます。
実行時のテーブルジョインとアプリケーションのマッピングコードが不要になるため、パフォーマンスは飛躍的に向上します。これによってアプリケーションに必要なコードが減少し、結果としてアプリケーションの開発時間を短縮し、TCOを削減することが可能になります。

確実な信頼性

複数のユーザと複数のアプリケーションに大規模オブジェクトデータベースへの同時アクセス/更新を確実に提供するためには、論理的、物理的両方の面からデータの整合性を保護する特別な防御策が必要です。

ObjectStoreは、データの整合性を保証するために、以下のような複数の防御策を提供しています。

並行処理制御

ObjectStoreを利用するユーザは、常に一貫性のあるデータへのアクセスができます。
ObjectStoreは、従来のトランザクションシステムの独立性を保証するために、標準のロッキングをサポートしています。さらに、特別な並行処理制御であるMVCC(Multi Version Concurrency Control)が、アプリケーション設計のための高度な柔軟性を提供します。
MVCCにより、トランザクションにおけるデータの一貫性を維持しながら、書き込み処理と並行して多くの読み出し処理を実行することができます。

災害復旧

ObjectStoreのオンラインバックアップ/リカバリ機構によって、破壊的なシステム障害が発生したとしても、一貫性のあるDBMSを復旧させることができます。

高可用性

ObjectStoreは、ビジネスを継続させるためのフェイルオーバおよびレプリケーション機能を提供します。

比類のないCache-Forward™アーキテクチャ

ObjectStoreのCache-Forwardアーキテクチャは、ロードバランシング、キャッシュの親和性、トランザクションサービス、全体的なコンポーネントの調整と管理を通じて、アプリケーションの最大限のパフォーマンスを引き出すことができるように設計されています。

Cache-Forwardアーキテクチャは、ObjectStoreサーバや他のエンタープライズデータベースのコンポーネント用にローカルなデータキャッシュを作成します。このキャッシュは、オペレーティングシステムの「仮想メモリ」機能にならった方式を利用し、物理メモリとローカルディスクにわたって管理されます。このローカルキャッシュ管理方式により、大規模データベースのデータセットを、アプリケーションローカルにキャッシュすることが可能になります。

したがってユーザは、膨大なデータすべてをメモリ内に保持している感覚で操作することができます。アプリケーションは、大きな負荷がかかっている中央サーバにネットワークを介して要求を送る必要がなくなり、ローカルキャッシュからメモリスピードでデータを使用することができます。

コンポーネントデータキャッシュを分散管理できるObjectStore独自の機能により、企業は従来のサーバ中心型データベースシステムの性能を凌ぐ大規模なシステムを構築することが可能になります。
またObjectStoreは、これらの分散キャッシュ内のデータとトランザクションの整合性も自動的に維持します。データアクセスをアプリケーション層に容易に分散できるこの機能により、中央のデータベースサーバとして機能する高額なハードウェアの購入も不要になり、運用費を最小限に抑えられます。

最新のアーキテクチャ

ObjectStoreサーバは、カーネルスレッド、非同期I/O、共有メモリ通信を活用できるように設計されています。ObjectStore セッションの管理機能を利用してマルチスレッドアプリケーションをサポートするObjectStoreクライアントは、ミドル層サーバの実装に理想的です。

1つのObjectStore セッションは、複数のスレッドを持つことができ、これらのスレッドは単一のデータベーストランザクションを共有します。加えて、1つのプロセスは、複数のセッションを持つことができ、それらの上で複数の独立したトランザクションが実行されます。
このObjectStoreセッションの管理機能は、膨大な数の要求に同時に対応するための、マルチスレッド化された大規模アプリケーションサーバに対して非常に適しています。スレッド対応のサーバとアプリケーションにObjectStoreのセッション管理機能を融合することにより、高度な並行性とパフォーマンスが実現します。

ObjectStoreは、単一のアプリケーションサーバプロセス内で動作する多数のスレッド、セッション、トランザクションを持つ、シングルプロセスデータベースとして構成することも可能です。

ObjectStoreのビジュアルな側面

ObjectStore製品ファミリには、ObjectStore アプリケーションを構築する開発者のためのビジュアルなツールも含まれています。

  • ObjectStore Inspector — ObjectStoreに格納されたデータの表示、問い合わせ、編集を行うためのグラフィカルなブラウザです。
  • ObjectForms — ダイナミックなデータ主導型Webページを自動生成します。
  • ObjectStore Active Toolkit — ObjectStoreへのADO&OLE DBインタフェースを提供し、リレーショナル形式のデータを必要とするツールと容易に統合を可能にします。

分散型高性能アーキテクチャ

  • マルチスレッドサーバ
  • マルチスレッドクライアント
  • 分散クライアントおよびサーバキャッシュ
  • ロケーションに依存せずネットワークに透過的なオブジェクトへのアクセス
  • シングルプロセス構成

C++インタフェース

  • ハードウェアコンパイラとプラットフォームをまたがる異機種のサポートを提供
  • ANSI C++標準を完全にサポート

Javaインタフェース

  • データベースのJDKコレクションをサポート
  • JDO準拠インタフェース
  • RMI(Remote Method Invocation)をサポート
  • C++コンポーネントとのインターオペラビリティ

複雑な構造化データのサポート

  • データ構造がそのまま格納され、マッピングコードは不要
  • オブジェクト間の関係が格納されるため、実行時のテーブルジョインは不要
  • ダイナミックなデータモデリング

インフラストラクチャのサポート

  • XAトランザクションをサポート
  • COM/DCOMおよびCORBAをサポート
  • ObjectStore Active ToolkitによりOLE DBおよびADOをサポート

高可用性と信頼性

  • 自動リカバリ
  • 分散オンラインバックアップ
  • 透過的な対称フェイルオーバ
  • アーカイブロギング
  • レプリケーション

トランザクション、並列処理制御、通知

  • 透過的な分散2フェーズコミット
  • 自動デッドロック検出
  • MVCC( Multi Version Concurrency Control)により、競合を発生させずデータベースの書き込みと同時に複数の読み出しを処理
  • 柔軟なイベントベースの通知

オブジェクトのIDとコントロール

  • ハードポインタおよびソフトポインタをサポート
  • エクスポートID(OID)
  • コンポーネントのクラスタリング

セッション管理

  • 単一のプロセスに複数の並行トランザクション
  • 単一のプロセスに複数のセッション
  • 単一のセッションに複数のスレッド
  • スレッド間でトランザクションを共有

データレプリケーション

  • 複数の読み出し専用スナップショット
  • スナップショットコピーの増分アップデート
  • 非同期リフレッシュ

問い合わせとコレクション

  • 豊富なコレクションライブラリ
  • 関係を通じた参照整合性
  • 自動インデックス作成

データのセキュリティ

  • オペレーティングシステムのユーザ認証機能を利用可能
  • データベースおよびセグメントレベルのアクセス権
  • ユーザおよびグループレベルのセキュリティ

言語ローカライズのサポート

  • ヨーロッパおよびアジアの言語のためにマルチバイトのNLSサポート
  • 異機種のクライアント/サーバ環境のための文字セット変換

システム管理

  • パフォーマンス監視
  • スキーマ進化、データベースコンパクション、永続的ガーベッジコレクション
  • 整合性の確認とロック管理
  • ASCIIダンプおよびロードユーティリティ

  • Microsoft Windows XP、2000、NT
  • Sun Solaris
  • Hewlett-Packard HP-UX 32ビットおよび64ビット
  • Linux
  • IBM AIX