Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 谷歌云SQL时间序列统计_Mysql_Google App Engine_Google Cloud Platform_Google Cloud Sql_Google App Engine Php - Fatal编程技术网

Mysql 谷歌云SQL时间序列统计

Mysql 谷歌云SQL时间序列统计,mysql,google-app-engine,google-cloud-platform,google-cloud-sql,google-app-engine-php,Mysql,Google App Engine,Google Cloud Platform,Google Cloud Sql,Google App Engine Php,我有一个巨大的表格记录我们网站上发生的事件。它有几千万行 我已经尝试添加索引和其他优化 然而,它对我们的服务器来说仍然是非常繁重的(尽管我们有一个非常强大的服务器),并且在一些大型的图形/图表查询中需要20秒。事实上,我们的守护进程经常介入以终止查询 目前,我们在前端有一个Google Compute实例,在后端有一个Google SQL实例 所以我的问题是-是否有更好的方法使用谷歌云存储查询时间序列数据? 我是说,他们有专门的服务器或存储引擎吗 我需要一些可以连接到php应用程序的东西。Ela

我有一个巨大的表格记录我们网站上发生的事件。它有几千万行

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

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

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

所以我的问题是-是否有更好的方法使用谷歌云存储查询时间序列数据?

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


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

Elasticsearch对于时间序列数据来说非常棒

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

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

它们还有一个用于时间序列数据的自动绘图界面。它叫Kibana


享受

更新:我错过了问题的重要部分“使用谷歌云?”我的回答没有使用任何专门的GC服务或基础设施


我使用ElasticSearch来存储事件和分析来自web站点的信息。我甚至在elasticsearch中编写了一个statsd后端来存储stat信息

在elasticsearch将kibana从3改为4后,我发现界面对于查看统计数据非常糟糕。每个查询只能绘制1个度量,因此如果要将时间、平均时间和平均时间绘制为90%,则必须执行3个查询,而不是返回3个值的1个查询。(3中也存在同样的问题,只是版本4看起来更难看,让我的用户更困惑)

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

为了捕获统计信息,您可以使用statsd或reimann(或reimann,然后使用statsd)。Reimann可以在事件发送到统计数据库之前添加警报和监视功能,statsd只是整理、平均数据,并将统计数据刷新到数据库中


看看Cloud Bigtable:啊,我明白了,如果我不能使用mysql,我对如何查询它有点困惑——它在哪里说如何从php应用程序连接到它?:)它支持HBase API,但看起来不像是本地PHP客户端。从mysql迁移到像Bigtable这样的存储可能需要一笔不小的投资。如果你真的在搜索MySQL实例,你可以考虑在多个实例上分割数据(在每个实例上存储一个数据子集),但是这也需要一个非平凡的投资,并且有自己的权衡。web上有很多关于mysql分片的文章。您可以运行HBase REST server()通过REST API与Cloud Bigtable交互,REST API可以在任何语言上工作,但它的性能不如本机API,因为它必须经过额外的跃点(不是说它会很慢,但相对于本机客户端来说会比较慢)。CloudBigtable功能非常强大,但它也比关系数据库“低很多”。您需要进行一些分析,以确定它是否适合您的用例。是的,这是另一个需要评估的选项,但是如果您计划编写大量数据,请记住本文()。您可能必须以这样一种方式设计模式,即使用数据存储比使用Bigtable没有太多优势。顺便问一下,您查询这些数据是出于分析还是其他目的?如果大型查询仅用于分析,还可以考虑将数据导出到BigQuy()以供分析。