This page describes concepts upon which Open Saves is built. For an overview of Open Saves, see Overview.
A store is an immutable container for a collection of related records. You create and receive stores using a unary RPC.
A record is a mutable data entity that belongs to a store. You create and retrieve records using a unary RPC.
A record can consist of the following:
-
Property: the field where typed data is stored as an integer, string, or boolean.
-
Blob: a single large object used for storing images, videos, game state data, or other types of data in Cloud Storage. Blobs are created and retrieved by a streaming RPC (
Create/GetBlob
). -
Chunked blob: a large blob split into smaller chunks that are uploaded in parallel. To upload a chunked blob, call
CreateChunkedUploadRequest
with the chunk size and get a session ID to upload chunks via a streaming API. When downloading a chunked Blob, a streaming API is also used after you callGetBlobChunkRequest
.
Blobs and chunked blobs are treated as separate types of data.
You can specify the owner of a store or record using the OwnerId
field.
Tags are a list of strings associated with stores or records that you can use to organize and query your resources. You can edit the tags using UpdateStore
or UpdateRecord
.
You can use hints to indicate how you want the server to behave. For example, use cache hints to instruct the server to skip the cache when retrieving records or to not cache records. You can also use blob hints to force data to be stored in Cloud Storage or force a blob to be stored in the metadata server. Blob and cache hints can be used in tandem, such as when you want to skip the cache when storing a record but also force the property as an inline blob.