Mac OS X - Data Management

Core Dataは、Model-View-Controller(MVC)パターンに基づいて十分に要素化されたCocoaアプリケーションをビルドするための柔軟で強力なデータモデルフレームワークを提供します。

Core Dataを使うと、視覚的に素早くアプリケーションのデータモデルを定義でき、アプリケーションコードから簡単にアクセスできます。例えば、保存、リストア、やり直し、繰り返しのような一般的な機能に対処するためのインフラストラクチャが提供されるので、開発者は革新的な機能をアプリケーションに組み込む作業に集中できます。Core DataはビルトインのSQLiteデータライブラリを使っているので、別々のデータベースシステムをインストールする必要がありません。

Core Data

Core Data

Core Dataは、サイズを問わず、あらゆる種類のアプリケーションが必要とするデータモデルを取り扱うために開発された、多目的のデータ管理ソリューションを提供します。開発者はこれを利用して、連絡先管理アプリケーションから、ベクターグラフィックスのイラスト作成プログラムまで多種多様な製品を作り上げることができます。制限はありません。データオブジェクトを管理するほぼすべてのアプリケーションで、Core Dataを使用することによって恩恵を得ることができます。

Interface Builder(アップルのグラフィカルユーザインターフェイスエディタ)は、ビルド前のCore Dataコントロールオブジェクトを提供します。これにより、アプリケーションのユーザインターフェイスとそのデータモデルの間のグルーコードの多くは必要なくなります。SQL構文について気にする必要もありません。ユーザの操作を追跡するため論理ツリーを保持したり、データの一貫性維持のための新しいメカニズムを作る必要もありません。アプリケーションのユーザインターフェイスをそのCore Dataモデルにつなぎ合わせるだけで、開発者に代わってすべてを実行してくれます。

Core Dataは、アプリケーションのモデルレイヤーを、定義済みのインメモリデータオブジェクトにまとめます。Core Dataはこれらのオブジェクトに加えられた変更を憶えておき、例えば、ユーザが元に戻す(Undo)コマンドを実行した時など、リクエストに応じて変更を元に戻したりします。また、アプリケーションデータの変更を保存するタイミングになったら、Core Dataはオブジェクトを永続的なメモリに格納します。さらに、Core dataはデータを通常のファイルに保存し、そのファイルはユーザがFinderで管理したり、Spotlightで検索したり、CDにバックアップを取ったり、友人や家族に電子メールで送ることができます。

Core Dataフレームワークを使って、モデルオブジェクトの抽象定義を提供する管理オブジェクトモデルを作ることができます。これはエンティティと呼ばれ、アプリケーションで使用します。このエンティティリレーションモデルは、エンティティとリレーションをモデル化するためのリッチな環境を提供するXcodeのData Model Designツールを使って定義されます。アプリケーションのデータタイプとその関係の青写真とみることができます。

SQLite

Mac OS Xは、評判の高いSQLiteライブラリ(アプリケーションに簡単に組み込める、軽量ながら強力なリレーショナルデータベースエンジン)を含んでいます。SQLiteは多くのプラットホーム上の無数のアプリケーションで使われており、軽量、組み込み型SQLデータベース・プログラミングのための事実上の業界標準となっています。オブジェクト指向のData Coreフレームワークとは異なり、SQLiteは直接データテーブルを操作するため、手続き的な、SQLにフォーカスした APIを使用します。

HTML5 Client-Side Data Storage in Safari

SafariのHTML5クライアントデータストレージ

世界で最も革新的なブラウザであるSafariは、最新のHTML5オフラインデータストレージ機能をサポートします。オフラインストレージ機能は、どんなWebアプリでも、単純なKey-ValueデータAPI、または、より高度なSQLインターフェイスを使って、Macのブラウザキャッシュにセッションデータをローカルに保存することを可能にします。データはSafariを終了しても永続的に保持されます。そのため、アプリケーションは、そのデータにアクセスする際にネットワーク接続への依存度が減り、起動時間や全体的なパフォーマンスがこれまで以上に向上します。