一千萬個為什麽

搜索

Google雲端存儲與Redis/ElasticSearch



我們正在構建一個從API讀取數據並將其顯示在前端的應用程序。由於API限制,我們必須緩存API調用,這意味著我們將API調用的結果(包括用戶信息(名字,國家,電子郵件等)和大量活動日誌數據)保存在數據庫中,並且只需要請求如果存儲的數據大於x小時,則從API獲取新數據。

此應用程序還應該可以登錄並查看其相關數據的多個用戶使用。對於每個用戶,應用程序連接到不同的API端點(例如“user1.api.com/data/whatever”和“user2.api.com/data/whatever”)。

所以,最後會有兩個數據庫。一個用於緩存外部工具的API調用,另一個用於應用程序的用戶管理。但是,我們不確定最好使用什麽。

將雲數據庫用於緩存或用戶管理通常是一個好主意?由於應用程序將在Google Container Engine上運行,因此我們可能會使用Google雲端存儲(用於緩存)和Firebase(用於用戶管理)。或者我們應該使用像Redis/ElasticSearch(用於緩存)和其他不同用戶數據的東西?

轉載註明原文: Google雲端存儲與Redis/ElasticSearch

一共有 2 個回答:

我對Redis/ElasticSearch了解不多,但GCS並不是真正的類似數據庫的解決方案,它更接近文件存儲解決方案。

如果您正在尋找Google雲提供的類似數據庫的存儲:

如果您期望適度的應用流量或交替的高/低流量,它可能更具成本效益(並且更簡單),以便擁有 Google App Engine 應用程序,而不是基於GCE的解決方案。

我們有類似的需求,因為需要在服務器中緩存一組數據以用於服務應用程序(快速處理),並且到一天結束時,我們需要將數據從緩存服務器同步到原始服務器。

從長遠來看,我會建議去Redis,因為你可以將Redis作為中間數據庫(緩存),它會幫助你擴展。

您可以編寫腳本以每隔一段時間或一天中的特定時間運行,以便您可以從原始服務器(外部應用程序)中提取/推送數據。

您的要求在任何時候都不需要Elastic Search,因為它可以幫助您加速基於緩存的搜索結果,它只是一個搜索引擎。