database-design - Bigtable数据库设计理论

标签 database-design google-app-engine bigtable

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

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

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

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

最佳答案

... are there books or academic research papers on designing databases for bigtable and similar database paradigms?

嗯,Bigtable 本质上是一个数据库本身,所以我认为您的问题更多是关于如何在这些类似 Bigtable 的数据库中建模并在某种程度上设计您的模式。更具体地说,您想知道如何在 Google 的 App Engine 上执行此操作。

使用 GAE,您将使用 Datastore API,它为 Bigtable 添加了一个重要的抽象层,因此在某种程度上,您不必像使用 HBase 之类的东西那样担心底层细节。 SO 上有一些帖子(here's a great answer by 我认为是 GAE 团队的一名 Google 工程师)将指导您并提供有关如何处理这种新型数据库系统的提示。

有用信息:

  1. > HBase灵感来自谷歌的 Bigtable ( Alternate Link ) 论文
  2. > Hypertable也受到 Bigtable 论文的启发
  3. > Cassandra数据模型灵感来自 Bigtable 论文
  4. > Hadoop灵感来自谷歌的 GFSMapReduce论文

关于database-design - Bigtable数据库设计理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496518/

相关文章:

python - 当使用实体列表调用 db.put() 时,是否会为每个实体调用特定于模型的 put() ?

nosql - Redis 与 Cassandra(Bigtable 数据模型)

mysql - SQL 数据库布局包括列表作为条目

java - 在 Cloud Endpoint Framework 中使用 IP 地址访问 App Engine 本地主机

android - 将模块部署到 App Engine 选项在 Android Studio 上不可用

python - 使用谷歌应用程序引擎的线程型解决方案

mysql - 合并 MySQL 数据表是最佳实践吗?

mysql - 如何在数据库 ERD 中模拟多对多关系的菱形模型

python - Postgres 性能提示加载数十亿行

java - JSP::与 session 对象混淆