1

我將運行一個應用程序,它只有很少的表格,但一個表格的大小約爲30-50K,另一個表格的行數爲20-25M,我需要做一些使用很少有LIKE子句在多個列上以及其他列上符合條件。有關雲數據庫20M +記錄的建議?

數據每月都會刷新,因此只能讀取,不能寫入或更新。

當涉及到加入「類似」搜索和「排序」的聯接時,Google 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)優化谷歌的BigQuery跑得更快(不找好) 2)谷歌數據存儲 3)亞馬遜極光 4)亞馬遜DynamoDB

我想聽聽你的經驗任何提到的解決方案,並期待您的建議。謝謝!

+2

您使用的是標準SQL嗎?傳統SQL不會通過連接自動推送過濾器。 –

+0

嗯,你發現了哪些研究和具體問題?既然你包含了數據存儲,那麼看起來你還沒有研究太多,這使得你的問題太廣泛了。那說,看看google雲扳手。 –

+0

@ZigMandel,對不起,如果我的問題似乎很廣泛 - 我是一個php和mySQL的前端人物,所以我對大數據非常陌生。在查看DataStore之後,我發現無法執行連接,所以這絕對不是。 –

回答

0

您的數據有20M行。這根本不是真正的大數據量。

嘗試aws紅移。這是一個aws原生數據倉庫來存儲結構化數據。它內置自動縮放功能,可以線性擴展。

  • sreeni
0

這似乎是遷移到亞馬遜紅移理想的情況下。

  • 我曾爲在Redshift倉庫每天遷移(寫入)分析數據的公司提供分析數據,這些分析數據是每日更多20M +記錄。 面向列的Redshift是寫入優化的,確保 您有足夠的資源來查詢大型數據集。
  • 它的寫入速度非常緩慢。但是因爲你應該閱讀更多 比你會寫(根據你的要求 - 在 問題中提到),這不會是你的問題。
  • Redshift Official Documentation是詳盡的和廣泛的 支持是通過互聯網。
  • 縮放很容易。您可以按照您的意願和要求添加/刪除節點。
  • 但是,如果您還有另一個倉庫,則非postgres的某些功能 會有所不同。大約90%的東西保持不變,這個 不會是一個主要的管理問題。 Redshift不支持功能/功能列表 ,這也可在其 文檔中找到。
  • 如果您有一個儀表板工具 需要連接到數據源並定期刷新,則Redshift也會表現出色。