我正在尋找一種解決方案,該解決方案將託管接近靜態的200GB結構化乾淨數據集,並在數據上提供JSON API以在Web應用程序中進行查詢。解決方案主機200GB的數據和提供聚合的JSON API?
我的每行數據是這樣的,我有大約700萬行:
parent_org,org,spend,count,product_code,product_name,date
A31,A81001,1003223.2,14,QX0081,Rosiflora,2014-01-01
的數據幾乎是完全靜態的 - 它每月更新一次。我想支持像簡單聚合查詢:
- 得到首發QX,通過組織產品代碼的總開支,每月
- 獲得由上級單位A31的總開支,每月
而且我希望通過RESTful JSON API提供這些查詢,以便我可以在Web應用程序中使用這些數據。
我不需要做連接,我只有一張桌子。
解決方案我已經調查:
- 到目前爲止我一直使用的是Postgres(與Web應用程序提供的API),但我開始達到什麼我可以用索引做限制和物化視圖,沒有專用硬件+比我擁有更多的技能
- Google雲數據存儲:適用於大小約爲這個大小的結構化數據,並且具有烘焙的JSON API,但不會進行聚合(所以我無法支持我的「總支出」查詢以上)
- Google BigTable:絕對可以做這個大小的數據,可以做聚合,可以建立我的使用App Engine的自己的API?可能需要將數據轉換爲hbase才能導入。
- 谷歌的BigQuery:在快速聚集,就需要推出自己的API與BigTable的,容易導入數據
我想知道如果有上面我需要一個通用的解決方案。如果沒有,我也會很樂意提供關於託管這些數據和提供JSON API的最佳設置的任何建議。
更新:看來,BigQuery和Cloud SQL支持類似於SQL的查詢,但云SQL可能不足夠大(見註釋)和BigQuery的昂貴得很快,因爲你通過查詢支付,就違反對於一個公共Web應用程序而言並不理想。數據存儲是很好的價值,但不做聚合,所以我不得不預先聚合並有多個表。
雲SQL是一個選項嗎?大小調整常見問題 - https://cloud.google.com/sql/faq#sizeqps –
@SolomonDuskis謝謝。它看起來像它會足夠大:)是否有可能在這個大小的數據集上執行?或者是答案(就像Postgres一樣)「直到你用真實數據進行嘗試時纔會知道」? – Richard
我不知道。我自己更喜歡Cloud Bigtable。讓我看看是否可以讓雲端SQL中的某個人訪問。 –