2011-07-27 8 views
0

のデータをさまざまなテーブルに格納するCakePHP/MySQLアプリがあります。CakePHPはXML/JSONとしてデータのスナップショットを保存します

ジョブデータは最終的にレポートを生成するために使用されます。しかし、私はレポートバージョン仕事データが変更された場合ので、新しいレポートバージョンが作成されていることをを作成する方法を実装する必要があります。作成されたすべてのバージョンのコピーを保持する必要があります。

私は、ジョブデータのXMLスナップショットを取る仕事テーブルに関連付けられているレポートテーブルを持っていることによって、このアプローチをしようと思いました。 レポートが生成されるたびに、新しいレポートレコードが作成され、一意のIDと関連付けられたジョブIDとその時点のデータのXMLスナップショットが関連付けられます。

これは合理的なアプローチですか?私は数千のレポートが生成されるので、XMLスナップショットをファイルとして保存することを嫌っており、データベース内のデータを安全に保ちたいと考えています。

最後に、XMLをDBに保存するにはどうすればいいですか?私はXML Helperを使ってデータのXMLを生成していますが、これを保存するのに問題があります。これは、生成されたXMLのサイズに起因すると確信しています(私がテストしているジョブはXMLの600行以上の行を生成し、DBに手動で挿入すると41KiBになります)。

私はこれについて完全に間違った方法ですか?データの「スナップショット」を保存する必要があることを考えれば、後で処理するときにXML Parserを使用することができます。 JSONをより実用的にすることができますか(私はJSONデータをどうやって使うか、それが構造化されているかどうかはあまり気にしません)

誰かが私に助けてくれたら、


UPDATE:私はそれはそれは保存機能で生成され、保存された$データアレイのthatsにそれを追加することによってXMLを保存するために得ることができました。しかし、それはまだストレージを台無しにしています。これをより効率的に行うためのアイデアはありますか?

+0

Re:[JSON vs XML](http://www.json.org/xml.html) – deizel

答えて

1

あなたはalkemannのRevision behaviorを考えましたか?

あなたが探しているように聞こえるかもしれません(XMLに関係なく)。

+1

これははるかに良い選択肢のようです。確かに多くのありがとう! – Marius

関連する問題