我刚刚开始使用biquery,我的数据库很小(行1个表中有10K),我的查询是简单计数和分组。 每次请求平均需要3-4秒,但有时会跳到10秒,事件为15秒 我正在使用BQ工具从Irland的amazon linux服务器查询。
是否有可能更快地获得结果(不到1秒),这样我就能更快地展示我的网页。
答案 0 :(得分:4)
这是预期的行为。在BigQuery中,您使用的是共享基础架构,因此根据目前的使用情况,您将获得更好或更差的响应时间。实际上,批量查询(那些不需要交互性的查询)会受到奖励,并且不会增加您的配额。
您通常不会使用BigQuery作为主数据库来显示Web应用程序中的数据。根据您的目的,BigQuery可以是一个大数据存储,您应该有另一个中间存储,您可以存储计算结果以显示给您的用户。或者在您的用例中,您并不真正需要BigQuery,并且有更好的解决方案。
在任何情况下,您都无法避免等待几秒钟(即使您使用Premium,您也可以获得更多有关服务的保证,但在任何情况下都无法提供足够快速的服务作为您的主要后端一个webapp)
答案 1 :(得分:3)
1) Big Query是一个高度可扩展的数据库,在成为“超快”数据库之前。它旨在使用名为Dremel的技术处理大量数据,在几台不同的机器之间分配处理。因为它被设计为使用多台机器和并行处理,所以你应该期望具有超级可扩展性和良好的性能。
2)当您想要分析数十亿行时,BigQuery是一种资产。
例如:在5-10秒内分析所有维基百科的修订版本并不错,是吗?但即使是一个小得多的表也需要大约相同的时间,即使有10k行。
3)在此规模下,您最好使用更传统的数据存储解决方案,例如Cloud SQL或App Engine数据存储。如果您想保持SQL功能,那么Cloud SQL就是最佳猜测。
Sybase IQ通常安装在单个数据库中,并且不使用Dremel。也就是说,在许多情况下,它会比Big Query更快......按照设计。
4)当然,性能与专用环境不同。您可以获得每月20K美元的专属环境。