mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-18 13:08:24 +02:00
56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
# Google Cloud Datastore Overview
|
|
|
|
## API
|
|
|
|
This file describes the API for [Google Cloud Datastore][0]. Google Cloud Datastore
|
|
is a fully managed, schemaless, non-relational datastore accessible through
|
|
Google APIs infrastructure. It provides a rich set of query capabilities,
|
|
supports atomic transactions, and automatically scales up and down in response
|
|
to load.
|
|
|
|
The API is deliberately low-level to map to the underlying Datastore RPC model
|
|
and provide more flexibility to developers and higher level library
|
|
implementers.
|
|
|
|
## Client libraries
|
|
|
|
The Datastore can be used with many client libraries. Getting started
|
|
guides for the different libraries are available on the [Getting Started][1]
|
|
page.
|
|
|
|
## Features
|
|
|
|
The Datastore is a schemaless NoSQL datastore providing robust,
|
|
scalable storage for your application, with the following features:
|
|
|
|
* No planned downtime
|
|
* Atomic transactions
|
|
* High availability of reads and writes
|
|
* Strong consistency for reads and ancestor queries
|
|
* Eventual consistency for all other queries
|
|
|
|
The Datastore replicates data across multiple datacenters using a system
|
|
based on the Paxos algorithm. This provides a high level of availability for
|
|
reads and writes. Most queries are eventually consistent.
|
|
|
|
## Data Model
|
|
|
|
* **Entity**: An entity has one or more *properties*, named values of one of
|
|
several supported data types: for instance, a property can be a string, an
|
|
integer, or a reference to another entity. Each entity is identified by its
|
|
*kind*, which categorizes the entity for the purpose of queries, and a *key*
|
|
that uniquely identifies it within its kind.
|
|
|
|
* **Key**: Each entity belongs to a specific kind, which categorizes it for
|
|
the purpose of queries. In addition, each entity has its own key which
|
|
uniquely identifies it. The key consists of a kind, an identifier, and an
|
|
optional [ancestor path][2].
|
|
|
|
* **Transaction**: The Datastore can execute multiple operations in a single
|
|
transaction. By definition, a transaction cannot succeed unless every one
|
|
of its operations succeeds; if any of the operations fails, the transaction
|
|
is automatically rolled back.
|
|
|
|
[0]: https://cloud.google.com/datastore/
|
|
[1]: https://cloud.google.com/datastore/docs/getstarted
|
|
[2]: https://cloud.google.com/datastore/docs/concepts/overview#Datastore_Ancestor_paths
|