通过某些服务处理大型MySql数据库

时间:2016-02-27 06:17:11

标签: amazon-web-services google-cloud-storage amazon-rds google-cloud-sql

我们在组织中使用MySql db,表格变得越来越大。 它给我们的服务器带来了沉重的负担,并且当Query很复杂并返回数百万条记录时需要花费大量时间。

因此,我们决定使用一些可用的服务来解决这个问题。 请不要给我们自己处理它的解决方案。

我们可以免费使用谷歌,亚马逊等任何服务。

问题基本上是询问这里提供哪些服务,以及 什么是最好的。

因此,我们服务器上的负载变得越来越少,数据开始变得越来越快。

先谢谢。

3 个答案:

答案 0 :(得分:1)

我会考虑使用Amazon Aurora而不是MySQL。 Aurora与MySQL兼容,因此您无需更改任何代码,甚至无需更改正在使用的数据库驱动程序。它在重负载下比MySQL表现更好,特别是在大量并发查询的情况下。

您可能还想查看使用Amazon Redshift,尽管这需要对您的应用程序进行一些更改。根据您存储的数据类型和运行的查询类型,Redshift可能比MySQL快几个数量级。我是根据经验说的,因为我正在努力将一些大型桌子从MySQL迁移到Redshift,而且速度的提升是令人难以置信的。

否则,您是否正在将缓存集成到系统中?明智地使用数据缓存可以真正减轻数据库的负担。我建议使用Redis进行缓存。您可以使用Amazon's ElastiCache服务,或者我更喜欢的RedisLabs

答案 1 :(得分:0)

Google Cloud SQL FAQ应该是一个很好的开始页面,以获取有关此服务的一些信息。

Cloud SQL最具意义的功能与它与Google Cloud Platform中的其他产品集成有关,例如App EngineCompute EngineData Store,以及大多数公共管理和维护任务护目镜。

Cloud SQL是云中MySQL的一个实例。 MySQL实例的所有主要常见功能都可以在Cloud SQL实例中使用,例如

  • 标准MySQL
  • MySQL有线协议
  • 与工具集成(例如:工作台)
  • 日志(未完整)
  • 语句(存储过程,触发器和视图)
  • InnoDB和MyISAM存储引擎
  • 导入/导出数据

作为差异的Cloud SQL的功能和资源是:

  • 垂直缩放(R / W,不断增长的磁盘I / O,CPU和内存)
  • 水平扩展(R,只读复制实例)
  • 数据库管理即服务(创建,调整大小,复制,备份)
  • App Engine和计算引擎实例之间的快速连接
  • 可从任何地方访问
  • 自动和计划备份以及时间点恢复
  • 加密,出站和入站流量。
  • 实例更改(磁盘,内存等),停机时间很短。

有7种类型的tiers(实例模板)具有不同的资源。

Cloud SQL有两种计费选项:打包和每次使用。

  • 包装:按实例(每日)类型(层)固定价格
  • 每次使用:按层次使用的固定价格 (这个型号按小时计算.1:40小时轮到2点)
  • 仅对出口网络流量进行结算(Google云基础架构中的流量不会被收取费用:通过App Engine和GCE不会收费)。
  • 使用金额的结算,而不是超额分配。
  • 计费磁盘I / O(每层都有一组默认的I / O操作)。
  • 存储按GB / h存储收费。
  • 结算费用使用美国太平洋时间计算。

提示:如果每月使用> = 450小时,最好使用套餐计划。

无论如何,建议将Cloud SQL用于中小型项目(最高500GB数据库和10s-100s QPS),并且限制100个挂起连接,不受层级限制。

答案 2 :(得分:0)

将将单个服务器推送到其限制的数据传输到单个云实例上只会导致访问时间变慢。

购买具有更多CPU,更多内存和更多硬盘的计算机,并将您的SQL转移到该计算机上,直到您可以有效地实施“大数据”解决方案,将数据分散到多台计算机上。

如果您的数据未在多台计算机上拆分,则使用在线“云”服务将无法获益。在您看到AWS或GCE的任何好处之前,您必须重新构建数据以利用多台计算机。

我不能告诉你有多少人认为只是将他们的东西从本地服务器转移到AWS或GCE上会让它更快。当他们的应用或数据较慢时,他们总是感到失望,因为他们认为AWS =速度。但AWS =容量,而不是速度。