機能概要
最終更新日 2016-4-18

データストア

データストアとは

アピアリーズが提供するデータベース「データストア」は、堅牢なセキュリティに防護されたクラウド上のデータベースです。
アプリのバックエンド・データベースとしての利用は勿論のこと、Dropboxに代表されるクラウド・ストレージ用途としても利用できます。

機能と特色

スキーマレスなデータ構造

データストアのデータベース・エンジンには、NoSQLが使用されています。
NoSQLはスキーマレス・データベースとも呼ばれ、OracleやMySQLに代表される一般的なリレーショナル・データベースとは異なり、スキーマ(データ構造の型、テーブル構造)を事前に定義する必要がなく、非常に柔軟なデータ構造を持つことができます。

アピアリーズでは、データストアに格納するデータを「オブジェクト」、データを意味ある単位に集めた単位を「コレクション」と呼びます。
これは、一般的なリレーショナル・データベースの「レコード」と「テーブル」に相当する概念です。
これにより、スキーマレスでありつつも、リレーショナル・データベースで培った設計技術をそのまま流用することを可能にしています。

コレクションの種類

上述のコレクションには3種類のタイプがあり、コレクション作成時にこのタイプを指定します。
以下に、それぞれのタイプの概要を示します。

タイプ 説明
JSONコレクション JSON(Javascript Object Notation)形式のデータを格納するコレクション。文字列や数値などの他に配列や連想配列を扱うことができ、また、それらをネストさせることも可能。一般的な用途としては、アプリ内で扱うデータのモデル(エンティティ)表現が想定される。
バイナリ・コレクション バイナリファイルを格納するためのコレクション。JPEG、PNG、MPEGといったマルチメディアデータ、PDF、Word、Excel、PowerPointに代表されるドキュメントデータなどを保存することが可能。
シーケンス・コレクション シーケンシャルな番号を発番する、特殊なコレクション。詳細は後述。

強力なクエリ機能

NoSQLの特色を活かしつつSQLとの親和性を高めた、シンプルで強力な検索機能を利用できます。

柔軟なアクセス制御

各コレクション単位に、参照権限、更新権限(登録、更新、削除)を、ログイン状態別(ログイン前・後)、会員別に設定することが可能です。
このアクセス制御は、「オブジェクト所有者」「アクセス権限」「アクセス権限レベル」と呼ばれる3つの設定要素の組み合わせから成ります。

オブジェクト所有者

オブジェクト所有者は、コレクションに格納されたそれぞれのオブジェクト(データ / バイナリファイル)の所有者を示す設定要素です。オブジェクト作成のタイミングでシステムにより設定されます。

オブジェクト所有者 説明
所有者を持つオブジェクト REST API経由で、ストアトークン(*1)を利用しオブジェクトを作成した場合、作成されるオブジェクト。
所有者を持たないオブジェクト REST API経由で、ストアトークン(*1)を利用せずオブジェクトを作成した場合、作成されるオブジェクト。
アクセス権限

オブジェクトに対する操作権限を表す設定要素で、後述のアクセス権限レベルと組み合わせて設定することになります。

アクセス権限 説明
登録 オブジェクトを登録するために必要となる権限です。
参照 オブジェクトを参照するために必要となる権限です。
更新 オブジェクトを更新するために必要となる権限です。
削除 オブジェクトを削除するために必要となる権限です。
アクセス権限レベル

設定するコレクションの各操作(アクセス権限)に対し、アクセス権限レベルを設定できます。アクセス権限レベルに関して以下に示します。

アクセス権限レベル 説明
ADMIN それぞれのオブジェクトには、コントロールパネル経由でのみアクセス可能です。
OWNER オブジェクト単位で設定されている所有者のみアクセス可能です。
対象オブジェクトが所有者を持たない場合は アプリにログイン状態である会員 だけがアクセス可能です。
SIGN IN オブジェクトには アプリにログイン状態である会員 だけがアクセス可能です。
ALL 対象オブジェクトへのすべてのアクセスを許可します。また、アクセス権限が参照の場合、トークン(ストアトークンまたはアプリトークン)の省略が可能です。

シーケンス・コレクション

シーケンス・コレクションは、シーケンシャルな番号を発行するための特殊なコレクションです。
排他制御により一意な番号の発行が約束されており、アプリ内で重複が許されない番号を使用したい場合に役立ちます。
また、発行済みの番号に対して整数値での加減算が可能なので、カウンタとしても利用できます。
アイディア次第で様々な用途に応用できるコレクションです。

メンテナンスフリー

データベースの運用・管理は大変な作業です。
データベースの運用にはシビアで神経を使う作業が多く、そのほとんどがミスの許されないものである反面、とても退屈な作業でもあります。
アピアリーズのデータストアを利用することで、神経をすり減らす退屈な作業から解放され、データモデリングやアプリ開発といった、本質的で生産的なタスクに多くの時間を割り当ててください。

関連ドキュメント