Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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
Java BigQuery性能和运行并发作业_Java_Google App Engine_Google Bigquery - Fatal编程技术网

Java BigQuery性能和运行并发作业

Java BigQuery性能和运行并发作业,java,google-app-engine,google-bigquery,Java,Google App Engine,Google Bigquery,我们正在与GoogleBigQuery(使用Java)合作开发我们的一个云解决方案,并且在开发过程中面临许多问题。我们的意见和问题如下- 我们使用查询作业(例如:Jobs().insert()/Jobs().Query()方法,然后使用tableData().list()方法进行数据检索。作业执行需要2-3秒(我们现在只有MB的数据)。我们研究了code.google.com和github.com上的示例代码,并尝试实现它们。但是,我们无法实现超过2-3秒的快速执行。从BigQuery表检索数据

我们正在与GoogleBigQuery(使用Java)合作开发我们的一个云解决方案,并且在开发过程中面临许多问题。我们的意见和问题如下-

  • 我们使用查询作业(例如:Jobs().insert()/Jobs().Query()方法,然后使用tableData().list()方法进行数据检索。作业执行需要2-3秒(我们现在只有MB的数据)。我们研究了code.google.com和github.com上的示例代码,并尝试实现它们。但是,我们无法实现超过2-3秒的快速执行。从BigQuery表检索数据的快速方法是什么?有没有办法提高作业执行速度?如果是,您能否提供示例代码的链接
  • 在我们的屏幕中,我们需要从不同的表(不同的查询)中获取数据并显示它们。因此,我们插入了多个查询作业,并汇总了总执行时间(例如:如果有两个作业(即两个查询),则需要6-7秒)。在Google文档中提到,我们可以运行并发作业。是否有任何示例代码可用于此
  • 等待您有价值的回复。

    1)大查询是一个高度可扩展的数据库,在成为“超级快速”数据库之前。它的设计目的是使用一种名为Dremel的技术处理大量数据,这些数据分布在多台不同的机器之间。因为它被设计为使用多台机器和并行处理,所以您应该期望具有具有良好性能的超级可扩展性

    2)BigQuery是分析数十亿行的一种资产

    例如:在5-10秒内分析所有维基百科的修订版并不坏,是吗?但是,即使是一个小得多的表也需要大约相同的时间,即使它有10k行

    3)在这种规模下,您最好使用更传统的数据存储解决方案,如云SQL或App Engine数据存储。如果您想保持SQL功能,云SQL是最好的猜测

    Sybase IQ通常安装在单个数据库中,不使用Dremel。这就是说,在许多情况下,它将比大查询更快……正如设计的那样

    4)当然,性能不同于专用环境。您每月可获得2万美元的专用环境

  • 如果可以独立运行查询,则对缓存结果的查询可以快得多。以下查询将运行得更快
  • 检查瓶颈是否与网络\分页\页面呈现\等无关。您可以通过仅尝试执行第2步来实现
  • 并行作业可能根据其当前负载在BQ端排队
  • 我的建议是将查询与演示分开。运行BQ查询,将“小尺寸”数据检索到快速访问数据存储(平面文件、缓存、云SQL等),并从中呈现。
    正如奔腾10所说,BQ非常适合处理海量数据(并且返回结果的速度比任何其他类似的解决方案都更快、更便宜)。如果您正在寻找快速报告可视化工具的后端,恐怕BQ可能不是您的解决方案。

    Pentium10,您可能正在编写。我们可能需要根据我们的要求考虑其他替代方案。N.N.我们可以尝试您的建议,即兴改进现有的应用程序。然而,为了满足我们的需求,我们可能需要考虑Pentium10提到的替代方案。