我将运行一个只有很少表的应用程序,但是一个表大约是30-50K,另一个表是20-25M行,我需要做一些使用的查询多列上的一些LIKE子句以及列上的其他条件。
数据会每月刷新一次,因此只会读取,不会写入或更新。
谷歌的bigQuery在加入“喜欢”搜索和“排序依据”时证明不足,所以我处于恐慌之中。像这样的搜索实际上会抛出资源错误或执行数百秒:
SELECT
s.site as site,
s.rank as rank,
s.visitors as visitors,
s.store_id as store_id,
s.currency as currency,
p.title as title,
p.product_type as product_type,
p.handle as handle,
p.price as price,
p.created_at as created_at,
p.image_url as image_url,
p.description as description
FROM eComData.stores s INNER JOIN eComData.products p
ON s.store_id = p.store_id
WHERE (
title like '%foo%'
OR
product_type like '%foo%'
OR
description like '%foo%'
)
ORDER BY rank
LIMIT 1000 OFFSET 0
您建议哪种云解决方案可以处理大型数据集,更重要的是,可以加快查询速度?
我的选择是 1)优化Google bigQuery以更快地运行(看起来不太好) 2)Google DataStore 3)亚马逊极光 4)Amazon DynamoDB
我想了解您对上述任何解决方案的体验,并期待您的建议。谢谢!
答案 0 :(得分:0)
您的数据有20M行。它根本不是真正的大数据规模。
尝试aws redshift。它是用于存储结构化数据的aws本机数据仓库。它内置自动缩放功能,您可以线性扩展。
答案 1 :(得分:0)
这似乎是迁移到 Amazon Redshift 的理想情况。