CoreDataデータフォーマット
2007/03/30 (Fri) 22:07:46 JST
データフォーマット
Tigerでは、Core Dataは管理オブジェクトコンテキストの保存先に3種類のフォーマットをサポートしています。
- XMLファイルフォーマット
- Binaryアーカイブフォーマット
- SQLiteデータベースファイルフォーマット
各フォーマットにはそれぞれ長所と短所があります。 XMLフォーマットは人も読むことができ、テストに最適です。 バイナリフォーマットは人には読めませんが、XMLフォーマットよりも高いパフォーマンスを持ちます。 どちらのフォーマットも基本的、つまり一度の操作ですべてのデータモデルをディスクから読み書きします。
最後のSQLiteフォーマットは最も安定した、かつ高速なフォーマットです。 SQLiteはTigerに含まれるオープンソースの組み込みデータベースで、Core Dataのストレージレイヤーとして理想的な性質が多くあります。 SQLiteはオブジェクトを必要な分だけディスクからメモリにロードでき、Core Dataの効率を劇的に上げます。 これにより、巨大なデータを扱うアプリケーションでも使用メモリ量を大幅に抑えることが可能です。
どのフォーマットにとっても重要な点は、Core Dataは常にファイルを変更する可能性があることです。 XMLやSQLiteフォーマットではカバーの下を覗くのも何が行われているかを見るのも簡単ですが、ファイル中のデータは決して変更してはいけません。
独自のフォーマットの使用
すでにあるアプリケーションフォーマットもCore Dataと共に使えます。 そのファイルを読み込み、Core Dataのオブジェクトグラフを生成する必要があります。 自動アンドゥ/リドゥのサポートなど、Core Dataのすべての機能を使えます。
Inverse Pages: DevelopingWithCoreData