use*_*321 17 mysql database google-app-engine google-cloud-storage google-cloud-sql
我想构建一个服务于很多人(超过200万)的应用程序,所以我认为我应该使用Google Cloud Datastore.但是我也知道有一个选项可以使用Google Cloud SQL,但仍然可以为很多人使用mySQL服务(就像Facebook和Youtube所做的那样).
这是一个正确的假设使用数据存储而不是关系云SQL与这么多用户?先感谢您
Rob*_*t D 31
为了给出一个明智的答案,我需要了解更多有关您的应用程序的信息.但是......我将概述我发现的最大问题......
Google Datastore实际上是一个分布式分层数据存储.为了获得他们想要的可扩展性,必须有一些妥协.作为开发人员,您会发现这些都是易于解决,难以解决或无法解决的问题.后者远比你想象的要大.
如果您习惯于关系数据库以及在同一事务中跨多个表操作数据的能力,那么您可能会使用数据存储区来解决问题.最大的(?)问题是只在有限数量的实体组中支持交易(目前为5个).举一个简单的例子,假设您有一个简单的父子关系,并且您需要在事务中同时更新超过5个父项下的子记录...无法完成(是的,真的).如果您重新组织数据结构并尝试将所有以前的子记录放在单个实体下,以便可以在单个事务中更新它们,您将遇到另一个限制...您无法可靠地更新相同的事实实体组每秒不止一次(是的,真的).如果你在父节点之间查询实体类型而没有指定每个实体的根实体,你会得到委婉地称为"最终一致性"的东西......这意味着它不是(是的,真的).
以上内容都在Google的文档中,但如果您刚开始使用它(当然它可以处理它!),您可能会对它进行掩饰.
Mar*_*nds 19
Facebook和YouTube使用MySQL将其大部分内容提供给大多数用户并不严格.它们主要使用非常大的NoSQL存储(Cassandra和BigTable)来实现可伸缩性,并且可能将MySQL用于需要更复杂的关系存储的小规模工作.如果可以,尝试使用数据存储,因为您可以免费启动,并且在处理大量数据时也可以节省资金.
小智 9
这取决于你对"很多人"的意思,你拥有什么样的数据,以及你想用它做什么.
Cloud SQL专为需要SQL数据库的应用程序而设计,该数据库可以处理您可以在SQL中编写的任何查询,并确保您的数据始终处于一致状态.
Cloud SQL最多可以提供3200个并发查询,具体取决于层.如果查询很简单并且可以从RAM提供,它们应该只需几毫秒,并假设您的用户每秒发出大约1个请求,那么它可以支持数万个同时活跃的用户.但是,如果他们正在进行更复杂的查询,如搜索或编写大量数据,那么它就会更少.
如果您有一组简单的查询,不太关心立即的一致性,或者期望更多的流量,那么您应该查看数据存储区.
| 归档时间: |
|
| 查看次数: |
12619 次 |
| 最近记录: |