用于描述 BigTable 数据模型的词语的含义
Posted
技术标签:
【中文标题】用于描述 BigTable 数据模型的词语的含义【英文标题】:Meaning of words used to describe the BigTable data model 【发布时间】:2011-10-30 21:18:42 【问题描述】:我正在学习如何使用 Google App Engine。我的问题是关于用于描述 BigTable 数据库的词语的含义。
我在big table上看过google的论文,这篇论文从行、单元格、列族、列和列键的角度描述了BigTable数据模型。我觉得论文中给出的例子让我对如何开始设计 BigTable 数据库有了一个很好的了解。
然后我查看了 Google App Engine datastore documentation and API 。这使用术语实体、属性、键、实体组和索引来描述数据模型。
我的问题是:
论文中使用的术语与 API 中使用的术语有什么关系?
【问题讨论】:
【参考方案1】:Datastore 建立在 Megastore 之上,而 Megastore 则建立在 BigTable 的实现之上。
在为 appengine 开发时,您实际上并不需要关心 Megastore 和 BigTable 概念,因为这一切都超出了您的控制范围,而且数据存储区在它们之上构建了更多内容。这就像在了解了 BerkleyDB 的实现方式之后尝试对 mysql 数据进行建模......有趣但最终对您的应用程序没有那么有用。
通读 megastore 论文,它可能会为您提供所需的大部分内容,还可以查看一些关于高复制数据存储的 Google IO 讨论,因为这些讨论涉及到内部发生的事情。
【讨论】:
BigTable 的实现只有一种,叫做 BigTable。 ;) MegaStore 论文链接很有用,尤其是关于数据模型的第 3.2 节。我没有意识到 BigTable 实现和 DataStore API 之间存在如此重要的层——它们经常在相同的上下文中被提及。感谢您的帮助,克里斯。以上是关于用于描述 BigTable 数据模型的词语的含义的主要内容,如果未能解决你的问题,请参考以下文章