2012-03-10 7 views
0

私たちはSAASベースのアプリケーションを開発しています。要件の1つは、データベーステーブルのすべての変更を記録すること、すなわちデータの日付/時間ベースのバージョンを作成することである。クライアントは、どのバージョンのデータにも戻すことができます。日付のバージョン管理と復元

私はデータベースに約30のテーブルを持ち、データの挿入頻度はバルクインポートによって1日あたり80,000レコードが追加/更新されています。ただし、クライアントはGUIを使用してフォームを介してデータを挿入することもできます(一括インポート以外)。

この要件を実装する戦略を作成する前に、この実装方法に関するご意見/ご提案をお待ちしております。

私はthis blog postを見直し、非常に良い出発点を見つけましたが、過去のデータを復元する方法はまだ疑問です。

データベーススナップショットは有望な解決策ですが、前に述べたように、これはSAASベースのアプリケーションであり、複数のクライアントデータを1つのデータベースに格納し、スナップショットは他のクライアントのデータも復元します。

この要件の実行方法に関する戦略や計画を提案してください。

答えて

0

JPA/Hibernateを使用してデータを取得する予定がある場合は、Enversにショットを付けることができます。

Enversは、データベースエンティティのバージョンを管理するためのJBossオープンソースプロジェクトです。表全体の特定の列に@Audited注釈を付けると、監査履歴の追跡が開始されます。通常、すべての監査データを_AUDIT名の表に格納します。また、履歴データを照会するためのAPIも提供します。詳細について

は、私たちはORMとしてHibernateは使用すると思いますので、私たちは、Springフレームワークの上に移動することを計画している

+0

http://www.jboss.org/enversを通して行ってください。私たちの主な関心事は、関連テーブルの膨大な量のデータです。これもバージョンアップする必要があります。次に、データを任意のバージョンに戻します。 – Saqib

関連する問題