【问题标题】:Google Cloud SQL Timeseries Statistics谷歌云 SQL 时间序列统计
【发布时间】:2016-06-03 14:33:45
【问题描述】:

我有一张记录我们网站上发生的事件的大表。它有数千万行。

我已经尝试过添加索引和其他优化。

但是,这对我们的服务器来说仍然非常繁重(尽管我们有一个非常强大的服务器),并且在一些大型图形/图表查询上需要 20 秒。事实上,我们的守护进程经常干预以终止查询。

目前我们在前端有一个 Google Compute 实例,在后端有一个 Google SQL 实例。

所以我的问题是 - 有没有更好的方法来使用 Google Cloud 存储查询时间序列数据?

我的意思是,他们有专门的服务器或存储引擎吗?

我需要一些可以连接到我的 php 应用程序的东西。

【问题讨论】:

  • 啊,我明白了,如果我不能使用 mysql,我对如何查询它有点困惑——它在哪里说如何从 php 应用程序连接到它? :)
  • 它支持 HBase API,但看起来不像有原生的 PHP 客户端。从 mysql 迁移到像 Bigtable 这样的商店可能需要一笔不小的投资。如果你真的要最大化你的 mysql 实例,你可以考虑跨多个实例分片数据(在每个实例上存储数据的子集),但这也需要不小的投资并且有自己的权衡。网上有很多关于mysql sharding的文章。
  • 您可以运行 HBase REST 服务器 (hbase.apache.org/book.html#_rest) 以通过 REST API 与 Cloud Bigtable 交互,该 API 应该适用于任何语言,但性能不如原生 API,因为它必须经过一个额外的跃点(并不是说它会很慢,但相对于本机客户端它会更慢)。 Cloud Bigtable 非常强大,但它也比关系数据库“低级”得多。您需要进行一些分析以确定它是否适合您的用例。
  • 是的,这是评估的另一种选择,但如果您打算编写大量数据,请记住这篇文章 (cloud.google.com/appengine/articles/scaling/contention)。您可能必须以这样一种方式设计您的架构,即使用 Datastore 相对于 Bigtable 没有太多优势。顺便问一下,您是出于分析目的还是出于其他目的查询这些数据?如果大型查询仅用于分析,您还可以考虑将数据导出到 BigQuery (cloud.google.com/bigquery) 进行分析。

标签: mysql google-app-engine google-cloud-platform google-cloud-sql google-app-engine-php


【解决方案1】:

Elasticsearch 非常适合用于时间序列数据。

你可以在计算引擎上运行它,或者他们有一个托管版本。

它通过 HTTP JSON API 访问,并且有几个 PHP 客户端(尽管我倾向于直接调用 API,因为我发现这样更好地理解他们的查询语言)。

https://www.elastic.co

他们还具有用于时间序列数据的自动图形界面。它叫做 Kibana。

享受!!

【讨论】:

    【解决方案2】:

    更新:我错过了问题“使用 Google Cloud?”的重要部分,我的回答没有使用任何专门的 GC 服务或基础架构。


    我使用 ElasticSearch 来存储来自网站的事件和分析信息。我什至写了一个 statsd 后端在 elasticsearch 中存储统计信息。

    在 elasticsearch 将 kibana 从 3 更改为 4 后,我发现界面非常不适合查看统计信息。您只能从每个查询中绘制 1 个指标,因此如果要绘制时间、平均时间和 90% 的平均时间,则必须执行 3 个查询,而不是 1 个返回 3 个值的查询。 (同样的问题存在于 3 中,只是版本 4 看起来更丑陋,更让我的用户感到困惑)

    我的建议是选择 graphana 支持的时间序列数据库 - 一个时间序列图表前端。 OpenTSDB 以类似 hadoop 的格式存储信息,因此它能够大规模扩展。大多数其他存储事件类似于基于行的信息。

    要捕获统计信息,您可以使用 statsd 或 reimann(或 reimann 然后使用 statsd)。 Reimann 可以在事件发送到您的统计数据库之前添加警报和监控,statsd 只是对统计数据进行整理、平均和刷新到数据库。

    【讨论】:

      猜你喜欢
      • 2020-10-03
      • 2014-09-04
      • 1970-01-01
      • 2019-01-29
      • 2021-04-14
      • 2023-01-25
      • 2013-09-08
      • 2020-10-16
      • 2011-12-11
      相关资源
      最近更新 更多