Database design Bigtable数据库设计理论

Database design Bigtable数据库设计理论,database-design,google-app-engine,bigtable,Database Design,Google App Engine,Bigtable,我非常精通关系数据库设计的理论和实践 我知道什么是有效的,什么是无效的,什么是性能的,什么是可维护的(几乎-当你开始有真正的数据时,总有地方可以调整) 似乎我找不到关于分布式可伸缩数据库的大量知识,比如Google的Bigtable(用于为Google app engine编写应用程序)。什么有效,什么无效,什么可以扩展,为什么不能 当然,有一些博客文章和文章,但是有关于为bigtable和类似的数据库范例设计数据库的书籍或学术研究论文吗?搜索词是面向列的数据库/datastores 一开始讨

我非常精通关系数据库设计的理论和实践

我知道什么是有效的,什么是无效的,什么是性能的,什么是可维护的(几乎-当你开始有真正的数据时,总有地方可以调整)

似乎我找不到关于分布式可伸缩数据库的大量知识,比如Google的Bigtable(用于为Google app engine编写应用程序)。什么有效,什么无效,什么可以扩展,为什么不能


当然,有一些博客文章和文章,但是有关于为bigtable和类似的数据库范例设计数据库的书籍或学术研究论文吗?

搜索词是面向列的数据库/datastores

一开始讨论了如何建立数据库。我们赢了

然而,以栏目为导向正处于“复兴”阶段。它最适合于大型只读分布式场景


当您搜索面向列的数据库/存储时,有很多理论可以找到。

只是为了确定。。。你确实读过谷歌关于bigtable的文章,对吧

像hadoop这样的技术就是基于这篇初始论文的

。。。有书籍或学术研究吗 计算机数据库设计论文 bigtable和类似数据库 范例

Bigtable本质上是一个数据库本身,所以我认为您的问题更多的是如何在这些类似Bigtable的数据库中建模并在某种程度上设计模式。更具体地说,你想知道如何在谷歌的应用程序引擎上做到这一点

有了GAE,您将使用数据存储API,它为Bigtable添加了一个重要的抽象层,因此在某种程度上,您不必像使用HBase这样的东西那样担心低级细节。在SO(我认为是GAE团队一员的谷歌工程师)上有一些帖子将指导您,并提供如何接近这种新型数据库系统的提示

有用信息:

  • 灵感来自谷歌的()论文
  • 也受到Bigtable纸的启发
  • 的数据模型受Bigtable文件的启发
  • 灵感来自谷歌的广告和报纸

  • 据我所知,关于非关系型数据库设计的最新文献并不多——不过,通过挖掘关系型范式“获胜”之前的旧论文,您可能会获得一些有价值的见解

    当然,像Bigtable这样的数据库的基本观点是,在web应用程序和其他大量读取的应用程序中,考虑到廉价磁盘存储的可用性,最好的方法是优化读取,并在写入方面做更多的工作。标准化的作用正好相反——最小化磁盘上的数据复制,从而使写入更容易、更便宜,但读取更困难。几乎所有关系数据库设计的差异都来自这一事实

    另一个结果——可能需要更多注意的一个结果——是,当您优化读取时,您必须知道您将提前进行哪种类型的读取,而规范化结构或多或少是不可知读取的