跳至主要內容

AWS 解決方案程式庫

使用 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 服務,以支援即時開放式搜尋和篩選。

開始使用

部署本指引

範例程式碼

使用範例程式碼在您的 AWS 帳戶中部署本指引

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 整合。

閱讀部落格

免責聲明

範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。

找到今天所需的資訊了嗎?

讓我們知道,以便我們改善頁面內容的品質