从Google appengine数据存储区迁移到google cloud bigtable的最佳方法是什么?

时间:2015-05-06 13:05:22

标签: database google-cloud-datastore google-cloud-platform google-cloud-bigtable

我有一个appengine数据存储区,我想迁移到google cloud bigtable。 最好的方法是什么?

感谢您的回答, Yanice

2 个答案:

答案 0 :(得分:1)

这些存储系统完全不同。

<强>架构:

  • Cloud Datastore是一个无架构的文档数据库,而
  • Cloud Bigtable是一个带有架构的宽列数据库(简单架构,但仍然是架构)

可用性&amp;复制:

  • 云数据存储区是为您处理复制的多区域(99.95%可用性SLA)
  • Cloud Bigtable是Zonal(99.9%可用性SLA),您需要自己处理复制

<强>工作负载:

  • Cloud Datastore专为运营工作负载而设计,处理实时用户路径请求
  • Cloud Bigtable专为分析工作负载而设计,可处理非关键路径请求,例如报告或后台查询。

所以,您需要:

  • 在Cloud Datastore中分析您的数据,以确定您在Cloud Bigtable中需要的模式
  • 对于非平凡的数据模型,确定如何修改应用程序以处理它(例如复合索引)
  • 确定是否可用性&amp;复制设置满足或需要,在需要时构建基础架构以便处理它(不推荐)
  • 编写作业以移动数据,可能使用Cloud Dataflow
  • 之类的内容

一般来说,除非您满足非常具体的要求,否则您不希望从数据存储迁移到Bigtable:

  • 仅将数据存储用作键值存储
  • 可以容忍区域数据库
  • 正在运行分析工作负载

答案 1 :(得分:0)

首先查看Java Managed VM sample。 JSON代码可能最有趣。 (由于gRPC限制,Cloud Bigtable尚未使用Java或Python的常规GAE)。

Bigtable每行有一个密钥,如果您的数据库设计可以使用它,那么转换相当容易。对于其他类别,您可能希望创建MapReduce作业。