首页 文章

App Engine上的 Cloud 数据存储客户端库 - NDB或google-cloud-datastore

提问于
浏览
1

根据Google的文档,我似乎有两个使用Python连接到Datastore的主要选项:App Engine的NDB数据存储库和用于Python的Google Cloud Datastore API .

我喜欢构建我的应用程序,以便它可以在需要时增长,可能通过迁移到计算引擎 . 考虑到这一点,我应该使用哪个库?应用程序引擎似乎已经非常积极地开发了 . 在撰写本文时,最后一次提交是在6个月前,虽然看起来它们之前可能是planning some expansion . 一切都会转而使用Google Cloud Datastore API吗?如果NDB正在逐步淘汰,我真的不想开发依赖它 .

我还没有尝试过,但似乎在App Engine中使用完整的Google Cloud Datastore API may come with its own issues .

如果有人有在App Engine - Standard上使用Google Cloud Datastore API的经验,我会很高兴听到您的想法 .

Edit - 2016-11-30 - Uniqueness

此问题被标记为类似于this one . 虽然有一些相似之处,但我特别提到想要选择一种能够在App Engine之外轻松实现增长的解决方案 . 在这一点上,如果我超越App Engine,我就会工作 . 但是,我认识到在App Engine上使用NDB可能仍然有优势,然后如果我超越,则交换到Cloud Datastore API . 我有一些相关的,更具体的问题包括:

  • NDB和Cloud Datastore API是否足够相似,以后会从一个移动到另一个不会有问题?也许有人这样做了并且可能有意见 .

  • NDB是否真的能够在App Engine上发挥作用?性能?

  • 由于NDB使用 Cloud 数据存储,我是否应该担心它最终会停止使用? Google最近使App Engine与其他 Cloud 计算产品阵容越来越接近,而NDB回购最近没有看到大量更新的事实让我感到担忧 . 谷歌不时会停止发布 .

谢谢 .

1 回答

  • 6

    经过一些阅读,我将继续回答我自己的问题,希望为了别人的利益 .

    在完整阅读discussion on google-cloud-python之后,我的许多问题都可以得到一定程度的自信 .

    首先,似乎开发人员对该项目的意见是Google Cloud Datastore API should work on App Engine,但表现将是worse than NDB . 这肯定是在App Engine上使用NDB而非数据存储API的原因 .

    其次,听起来开发人员认为NDB既复杂又成熟,似乎一致支持its eventual inclusion in the Cloud Datastore python library . 因此,NDB似乎不会被终止 . 最有可能的是,最终可能需要从更广泛的gcloud库中包含它 .

    第三,开发人员指示NDB support beyond App Engine is being actively developed,因此如果我的项目超出App Engine,那么NDB可能已经在其他环境中可用,因此不需要切换到Cloud Datastore API . 此外,标准App Engine的下一步是灵活环境,which seems to already support NDB nicely .

    所有这些都表明我应该明确继续推进NDB,从App Engine上更好的性能和ORM功能中受益,除非谷歌未来对此事的意见/指示有所改变,否则我很可能会选择继续在Google Cloud上的其他环境中使用NDB . 我将使用NDB并期待它最终包含在google-cloud-python中 .

    如果有人对此事有任何额外的经验,我很乐意听到你的想法 .

相关问题