Buckets

In Kii Cloud, data is stored in a bucket. Data in a bucket is securely stored in the database managed by Kii Cloud.

A bucket is a container of KiiObjects. All KiiObjects are stored in buckets. When your application stores some data, a bucket must be prepared first.

There is an option ("Encrypted Bucket") that will prepare a dedicated key for each bucket and store the data after encrypting it automatically with AES-256 using this key. You will be able to store the data in strongly encrypted form with this option, but some restriction will apply to the data query. Please contact support@kii.com if you want to learn more about this option.

Purposes of using buckets

The main purposes of using buckets for data management is to organize the usage and types of data according to the specification of your mobile app and to define the scope of search and access control. Additionally, you can use buckets for performance tuning.

  • Organizing data

    With buckets, you can organize data processed in your mobile app. You can reference a bucket by any name set with your mobile app and it is helpful to organize data according to the specification of your mobile app.

    Unlike relational databases (RDB), Kii Cloud does not require you to predefine data formats. You can, therefore, store KiiObjects in different formats in a single bucket. However, you can easily access necessary data if you organize KiiObjects in different buckets according to their types and usages. For example, in a social networking app, you will need to deal with various types of data including posts, photos, and setting files. You can access those items easily by putting them in dedicated buckets.

  • Defining the scope of search and access control

    Kii Cloud allows you to search for KiiObjects and modify the access control on a bucket basis. When designing buckets for your mobile app, remember that it is ideal to put KiiObjects of the same type in a single bucket. KiiObjects of the same type are, for example, those that will be searched together and those that will be configured with the same access permission.

  • Tuning the performance

    One bucket with an excessive amount of KiiObjects will cause the performance degradation. You can improve the performance by having multiple buckets. For more information, see Performance.