Google Cloud Datastore vs Cloud SQL



我正在用Google Cloud作为后端构建一个移动应用程序。它存储有关餐馆在内的信息,包括菜单。我需要根据菜单项和地理位置进行搜索。

我对使用哪种Google云解决方案感到困惑。最初,我计划将Google App Engine与Cloud DataStore一起存储数据,但后来发现,它不支持地理位置搜索,即使我使用App Engine搜索API,我也不会获得"像'like'like'Text Search搜索。关于使用Cloud SQL,我担心它的价格。我还在考虑使用Google Compute Engine并在其中安装所需的MongoDB或SQL并使用一些自定义搜索库。

所以我的问题是以下哪个应该是可行且经济的解决方案,用于存储大量数据并使用文本和地理位置

进行搜索
  • gae带有云数据存储
  • 与云SQL的GAE
  • 使用MongoDB或SQL安装的GCE

也欢迎其他任何可行解决方案

Google有一个页面,可以为在GCP上选择哪种存储选项提供高级指导,称为选择存储选项。

专门用于云数据存储:

描述:用于您的网络和移动应用程序的可扩展,完全管理的NOSQL文档数据库。

有益:

  • 半结构化应用程序数据
  • 分层数据
  • 耐用的钥匙值

常见工作负载:

  • 用户配置文件
  • 产品目录
  • 游戏状态

专门针对云SQL:

描述:建立在Google基础架构的强度和可靠性的完全管理的MySQL数据库服务中。

有益:

  • Web-FrameWorks
  • 结构化数据
  • OLTP工作负载

常见工作负载:

  • 网站,博客和内容管理系统(CMS)
  • 商业智能(BI)应用程序
  • ERP,CRM和电子商务应用程序

您可以看到,您的用例都可以接壤。餐厅 菜单与产品目录非常相似。

云数据存储将需要更少的操作工作/想法。例如,您不需要考虑它应该使用的类型的VM实例和内存大小。但是,要对数据进行分析,而不仅仅是为菜单提供菜单,您可能想每天将垃圾转储到BigQuery中。

Cloud SQL在开始时需要更多的思考,并且在小尺寸的情况下要比云数据存储更昂贵。它确实使您在分析方面具有更大的灵活性,因为它实际上并不需要您倾倒到bigquery中。

如果您想要更多的控制,在GCE上运行其他数据库肯定是一个选择。这里的权衡将需要您代表您更积极的操作工作,例如安装,修补,调整等。

最新更新