1

Google 为 GCP 提供 Datastore,它是 CQRS 中的“C”。但是,“Q”(查询)在哪里?

Datastore 使其成为可行的查询系统有两个非常大的限制,这也许是合理的:

  1. 没有潜台词搜索
  2. 除非它们已被过滤,否则不会对字段进行排序

Google Cloud 提供“App Engine Search API”,但这不是端点 API。它是一个库 API。这意味着,必须管理它周围的基础设施。

使用 Datastore,优点之一是我可以通过规则以“无服务器”方式管理访问,以便我的客户端应用程序可以直接处理 Datastore(即“无服务器”)。

使用搜索 API,我必须编写一个应用程序来使用四种支持的语言之一来索引我的文档,公开端点,管理可伸缩性......如果我必须手动完成所有这些操作,就无法实现使用 Datastore 等无服务器服务的目的。

Google Cloud 在以无服务器方式进行搜索、过滤和排序方面是否为 Datastore 提供了更多的补充?他们会吗?

4

1 回答 1

3

使用 Datastore,优点之一是我可以通过规则以“无服务器”方式管理访问,以便我的客户端应用程序可以直接处理 Datastore(即“无服务器”)。

我认为 Datastore 的安全模型对于直接远程客户端(例如 Web 浏览器)访问来说不够强大。特别是即使使用IAM for Datastore,它也缺少记录级权限。Firebase实时数据库及其安全规则似乎更合适。

使用搜索 API,我必须编写一个应用程序来使用四种支持的语言之一来索引我的文档,公开端点,管理可伸缩性

同样,您不能直接远程客户端访问搜索 API。然而,搜索 API 旨在与 AppEngine 一起使用,它为您管理单个机器/实例并根据请求率和响应延迟实现自动缩放

也许要获得真正的“无服务器”设置,您可以按照此处所述将 Firebase 和Algolia结合起来?

于 2016-12-04T12:51:19.767 回答