我正在尝试了解Google App Engine(GAE)数据存储区的设计方式以及如何使用它。我在getting started page的描述中可视化结构时遇到了一些困难。
有人可以使用数字为我们视觉导向的人解释数据存储吗?或者在考虑视觉学习的情况下再次指出一个好的教程?
我正在寻找解释如何使用GAE的图表/图表的答案。
答案 0 :(得分:3)
2008年IO会议“在Google App Engine数据存储区的封面下”对数据存储区有一个很好的视觉概览。
https://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore
http://snarfed.org/datastore_talk.html
如需更多IO会谈,请访问: https://developers.google.com/appengine/docs/videoresources
答案 1 :(得分:2)
答案 2 :(得分:1)
我猜这里没有正确的答案,只是不同的思维模式。根据您的编程背景,您可能会发现我的启发,令人不安或两者兼而有之。我将数据存储区描绘为桶的单个巨大的分布式键值集合,其包含任何名称空间中的任何类型的所有实体数据以及所有用户的所有GAE应用程序。单个存储桶称为实体组。它有一个根密钥(在引擎盖下)由您的appID,命名空间,种类,实体ID或名称组成。在实体组中,存在一个或多个具有扩展根密钥的密钥的实体。属于根密钥本身的实体可能存在也可能不存在。单个实体组内的操作是原子的(事务性的)。实体是一个简单的类似地图的数据结构。 2个内置索引(升序和降序)再次是索引条目的2个巨型排序集合。每个索引条目都是appID,命名空间,种类,属性名称,属性类型,属性值,实体键的数据结构 - 按此顺序。 每个实体的每个属性的每个(自动)索引值创建2个这样的索引条目。还有一个只包含实体键的索引。然而,自定义索引转到另一个带有包含appID,命名空间,索引类型,组合索引值,实体键的条目的已排序集合。这是使用元数据的整个数据存储区的唯一部分。它存储一个索引定义,该定义告诉商店如何从实体形成组合索引值。这就是我脑海里浮现的画面,我从中了解了如何让数据存储空间感到高兴。