Bucket

Kii Cloud でのデータは Bucket に保存されます。Bucket に保存されたデータは Kii Cloud が安全に管理するデータベースに格納されます。

Bucket は内部に KiiObject を格納するための入れ物です。Kii Cloud 上のデータ(KiiObject)は全てこのバケツに保存され、それなしではデータは保存できません。モバイルアプリでデータを格納するには、まず Bucket を用意してから、Bucket の内部に格納したいデータを含む KiiObject を作成します。

さらなる安全性を担保するオプションとして、Bucket ごとに専用のキーを準備し、データ格納前に AES-256 を使った暗号化を施すオプション(暗号化 Bucket)も存在します。このオプションを使うと、データをより強固に暗号化した状態で保存できる一方、データ検索に一部制限がかかります。詳しくは support@kii.com までお問い合わせください。

Bucket の目的

データ管理で Bucket を導入する目的は、モバイルアプリの仕様に基づいてデータの用途や型を整理すると同時に、検索やアクセス権の設定範囲を定めることにあります。また、副次的な目的として、パフォーマンスチューニングに利用することもできます。

  • データの用途や型を整理する

    Bucket を使うと、モバイルアプリで扱うデータを整理することができます。Bucket はモバイルアプリで付けた名前によって参照できるため、モバイルアプリの仕様に合わせてデータを整理するのに役立ちます。

    Kii Cloud は、リレーショナルデータベース(RDB)と異なり、KiiObject に格納するデータのレコード型をあらかじめ定める必要がありません。1 つの Bucket に様々な目的を持った、様々な型の KiiObject を入れることも可能です。しかし、用途や型に応じて分類して保存しておくと、目的のデータへのアクセスが容易になります。たとえば、SNS モバイルアプリのデータストアであれば、近況の記事、公開用の写真、設定値など様々なデータを扱いますが、それぞれを別の Bucket に入れておけばアクセスも容易になります。

  • 検索やアクセス権の設定範囲を定める

    Kii Cloud では Bucket を単位にして KiiObject の検索やアクセス権の変更を行う機能を用意しています。そのため、Bucket の設計としては、モバイルアプリでまとめて検索したいオブジェクトや、まとめてアクセス権を設定したいオブジェクトを同一の Bucket に格納しておくのが理想的です。

  • パフォーマンスをチューニングする

    1 つの Bucket に KiiObject が大量にあると、パフォーマンスが劣化します。性能を向上させたい場合、Bucket の分割を行うのも 1 つの方法です。詳細は パフォーマンス をご覧ください。