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

Database 从google appengine数据存储迁移到google cloud bigtable的最佳方式是什么?,database,google-cloud-datastore,google-cloud-platform,google-cloud-bigtable,Database,Google Cloud Datastore,Google Cloud Platform,Google Cloud Bigtable,我有一个appengine数据存储,我想迁移到google cloud bigtable。 最好的方法是什么 谢谢你的回答, Yanice先看下面的图片。JSON代码可能是最有趣的。(由于gRPC的限制,CloudBigtable还不能与Java或Python的常规GAE一起工作) Bigtable每行有一个键,如果您的数据库设计可以使用该键,那么这是一个相当简单的转换。对于其他类型,您可能需要创建MapReduce作业。这些存储系统完全不同。 模式: 云数据存储是一个无模式的文档数据库,而

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

谢谢你的回答,
Yanice

先看下面的图片。JSON代码可能是最有趣的。(由于gRPC的限制,CloudBigtable还不能与Java或Python的常规GAE一起工作)

Bigtable每行有一个键,如果您的数据库设计可以使用该键,那么这是一个相当简单的转换。对于其他类型,您可能需要创建MapReduce作业。

这些存储系统完全不同。 模式:

  • 云数据存储是一个无模式的文档数据库,而
  • Cloud Bigtable是一个具有模式(简单模式,但仍然是模式)的宽列数据库
可用性和复制:

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

  • 云数据存储是为操作工作负载而设计的,用于处理实时用户路径请求
  • Cloud Bigtable设计用于分析工作负载,处理非关键路径请求,如报告或后台查询
因此,您需要:

  • 分析云数据存储中的数据,以确定在Cloud Bigtable中需要的模式
  • 对于非平凡数据模型,确定如何修改应用程序以处理它(如复合索引)
  • 确定可用性和复制设置是否满足或需要,在顶部构建基础架构以在需要时处理它(不推荐)
  • 编写一个作业来移动数据,可能使用云数据流之类的东西
一般来说,除非满足非常具体的要求,否则您不会希望从数据存储移动到Bigtable:

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

“Cloud Bigtable还不能与Java或Python的常规GAE一起工作-由于gRPC的限制”哇,很高兴知道。去阿彭金怎么样?是否在任何地方记录了该限制?如果是的话,我完全错过了。我注意到这些库文档()说“如果您的程序在Google App Engine或Google Compute Engine上运行,使用应用程序默认凭据是最简单的选择。”这当然意味着支持GAE。它需要自定义运行时,这意味着您无法在本地调试,但您可以使用GAE运行--我将在今天或明天更新指令和示例。代码示例将非常棒。我想这些会出现吗?我看到已经有一个ManagedVM示例,但不是一个香草GAE示例。希望今晚完成。