- AWS 解決方案程式庫›
- 使用 Amazon OpenSearch Service 進行即時文字搜尋的指引
使用 Amazon OpenSearch Service 進行即時文字搜尋的指引
概觀
本指引可讓您將 Amazon DynamoDB 與 Amazon OpenSearch Service 整合,以啟用即時搜尋。大多數應用程式應使用 Amazon DynamoDB 與 Amazon OpenSearch Service 的零 ETL 整合。針對需求與零 ETL 整合應用程式不相符的應用程式,本指引示範了如何透過平行函數,從 DynamoDB 到 OpenSearch Service 對資料執行初始載入,以及如何將新資料複製到 OpenSearch Service。透過將資料保留在兩個位置,您可以將查詢定位到最符合您需求的資料庫:DynamoDB 支援任何需要高效能和可擴展性的固定存取模式,而 OpenSearch Service 則支援需要搜尋靈活性和篩選功能的存取模式。
運作方式
此架構圖表顯示如何將資料從 Amazon DynamoDB 表格載入並將資料串流至 Amazon OpenSearch 服務,以支援即時開放式搜尋和篩選。
開始使用
Well-Architected 支柱
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
AWS 雲端開發套件 (AWS CDK) 將解決方案的基礎架構定義為程式碼,協助您實現一致的部署。Lambda 將工作分為較小的工作單位,每個單位負責不同的應用程序功能。這些單一任務功能可減少人為錯誤,並支援小型增量變更,如果失敗,更容易撤銷。
在適用的情況下,本指引會在專用的亞馬遜虛擬私有雲 (Amazon VPC) 網路中啟動服務,而不是公用網路。透過 Amazon VPC 的私人網路支援所有層級的安全性,讓您控制資料的存取方式。此外,使用單一目的、最低權限的 AWS 身分與存取管理 (IAM) 原則可協助您防止權限變更造成更廣泛、不預期的後果,並降低使用者不當處理敏感資料的風險。AWS Secrets Manager 會產生並安全地儲存管理員機密,防止使用者在存在暴露風險的程式碼或環境變數中儲存憑證。
如果某部分匯入失敗,Amazon SQS 會提供自動重試機制,協助您快速從失敗中復原。作為記錄系統,DynamoDB 使用時點復原進行持續備份,從而在過去 35 天內即可恢復到任何秒。OpenSearch 服務可協助您使用初始資料載入的「創建」作業來防止兩個資料庫之間的偏移,防止舊資料覆寫較新的資料。OpenSearch 服務設定為使用單節點叢集,但您可以將其變更為多可用區域叢集,以維持生產中的可用性。
Lambda 可讓您平行化工作負載:來自 DynamoDB 的讀取會透過分段式並行掃描,分割在多個 Lambda 函數調用中。相較於單一執行緒,這種平行化能夠管理顯著更高的輸送量。
Lambda 會在批次中一起讀取 DynamoDB 項目,而不是作為個別的 GetItem 請求。因此,本指引會取用更少的讀取容量單位。藉由減少初始化連線等工作所花費的工作量,批次使用可減少計算時間和 Lambda 呼叫次數,從而降低運算成本。此外,OpenSearch 服務批次作業具有效率,有助於降低運算資源的整體成本。
Lambda 僅在需要將資料移至 OpenSearch 服務時調用函數,而且不在閒置時執行。這有助於您最大限度地利用運算資源。此外,DynamoDB 作為無伺服器的受管理服務,有助於降低效率低,並降低工作負載消耗的總功耗。
相關內容
部落格
Amazon DynamoDB 與 Amazon OpenSearch Service 的零 ETL 整合現已推出
本部落格文章示範了如何開始使用 Amazon DynamoDB 與 Amazon OpenSearch Service 的零 ETL 整合。
免責聲明
找到今天所需的資訊了嗎?
讓我們知道,以便我們改善頁面內容的品質