GAE(Google App Engine Datastore API)翻译(1)
2008-05-26 15:23
591 查看
[align=left]概览[/align]
[align=left] 具备可伸缩性的GAE 数据存储中,能够存储和查询的数据对象,称之为实体:entities.一个entity有一个或多个属性,表示所支持的几种支持的数据类型的一种值。属性还可以关联到其它entity,创建一对多或者多对多的关系。[/align]
[align=left] [/align]
[align=left] GAE 数据存储能在一个事务当中进行多个操作,并且可以在失败后回滚。在分布式的Web 应用程序中这尤其重要。因为可能有多个用户同时读取和操作同样的数据。在多个用户都在改变数据时,GAE 数据存储尝试重新执行事务。[/align]
[align=left] [/align]
[align=left]和传统的数据库不一样,GAE 数据存储利用分布式的结构以存储海量数据。一个GAE应用程序可以能够通过定义关联,查询索引来优化数据的分布式存储。[/align]
[align=left] [/align]
GAE 数据存储并不是关系数据库。在提供与传统数据库的相似介面的同时,利用它本身具备了可伸缩性的能力,提供了另外的方法来管理和设计数据库。
GAE 数据存储API 用一种别具特色的机制定义数据模型。一个模型描述了一种实体:entity,包括多个属性的类型和配置。应用程序利用python类来定义模型,类的attributes描述属性。一种类型的entity对应了一个模型类的对象实例。实例的python attributes则对应了属性值。一个entity可以用类的构造函数创建,并通过调用put()方法之后保存到服务器。
GAE数据存储提供了2种查询方式介面:一种是查询对象的介面,一种是类SQL 的语言:GQL。一个查询返回了多个entitiy,放在对应的类模型的实例里面。可以修改,并返回到存储服务器。
[align=left] 具备可伸缩性的GAE 数据存储中,能够存储和查询的数据对象,称之为实体:entities.一个entity有一个或多个属性,表示所支持的几种支持的数据类型的一种值。属性还可以关联到其它entity,创建一对多或者多对多的关系。[/align]
[align=left] [/align]
[align=left] GAE 数据存储能在一个事务当中进行多个操作,并且可以在失败后回滚。在分布式的Web 应用程序中这尤其重要。因为可能有多个用户同时读取和操作同样的数据。在多个用户都在改变数据时,GAE 数据存储尝试重新执行事务。[/align]
[align=left] [/align]
[align=left]和传统的数据库不一样,GAE 数据存储利用分布式的结构以存储海量数据。一个GAE应用程序可以能够通过定义关联,查询索引来优化数据的分布式存储。[/align]
[align=left] [/align]
GAE 数据存储并不是关系数据库。在提供与传统数据库的相似介面的同时,利用它本身具备了可伸缩性的能力,提供了另外的方法来管理和设计数据库。
GAE 数据存储API 用一种别具特色的机制定义数据模型。一个模型描述了一种实体:entity,包括多个属性的类型和配置。应用程序利用python类来定义模型,类的attributes描述属性。一种类型的entity对应了一个模型类的对象实例。实例的python attributes则对应了属性值。一个entity可以用类的构造函数创建,并通过调用put()方法之后保存到服务器。
from google.appengine.ext import db from google.appengine.api import users classPet(db.Model): name = db.StringProperty(required=True) type = db.StringProperty(required=True, choices=set(["cat","dog","bird"])) birthdate = db.DateProperty() weight_in_pounds = db.IntegerProperty() spayed_or_neutered = db.BooleanProperty() owner = db.UserProperty() pet =Pet(name="Fluffy", type="cat", owner=users.get_current_user()) pet.weight_in_pounds =24 pet.put()
GAE数据存储提供了2种查询方式介面:一种是查询对象的介面,一种是类SQL 的语言:GQL。一个查询返回了多个entitiy,放在对应的类模型的实例里面。可以修改,并返回到存储服务器。
if users.get_current_user(): user_pets = db.GqlQuery("SELECT * FROM Pet WHERE pet.owner = :1", users.get_current_user()) for pet in user_pets: pet.spayed_or_neutered =True db.put(user_pets)
相关文章推荐
- GAE(Google App Engine Datastore API)翻译(2)
- (Google App Engine Datastore API)GAE数据库API翻译
- GAE(Google App Engine Datastore API)翻译(3)
- com.google.appengine.api.datastore.Text用法及解决无法显示Text字段
- (GAE文档翻译)Google App Engine中如何修改你的数据模型
- 在.net中使用google appengine datastore数据存储(a Soap wrapper)
- Google App Engine(GAE)入门教程翻译
- Google Releases the High Replication Datastore for App Engine
- (GAE文档翻译)Google App Engine 数据实体关系建模
- 扩展EGL支持Google App Engine Datastore数据存储
- 在GAE(google appengine)中应用sitemesh
- (GAE)Google App Engine入门程序——helloworld
- WingIDE部署GAE(google app engine)
- 利用免费的GAE(Google App Engine)建立强大的Blog(micolog)网站
- GAE启动错误 GoogleAppEngineLauncher.py", line 42...解决方案
- 主题:菜鸟玩GAE(Google App Engine)完全指南
- 用BirdNest在Google App Engine上搭建一个twitter API
- Images, Users, URL Fetch Python API——Google App Engine Services简介
- Google App Engine的全文搜索api
- Google App Engine ProtoRPC Python API 概述