

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 向量資料庫選項
<a name="vector-db-options"></a>

AWS 提供各種向量資料庫解決方案，以支援生成式 AI 應用程式中的不同使用案例和需求。這些選項可以廣泛分類為個別資料庫服務和受管服務產品，每個服務都有不同的特性和優勢。了解這些選項對於希望有效實作向量搜尋功能，同時維持最佳效能、可擴展性和成本效益的組織至關重要。

如需向量資料庫解決方案的詳細資訊，請參閱下列各節：
+ [個別向量資料庫選項](#individual-dbs)
+ [受管服務選項](#managed-db)
+ [選擇正確的向量資料庫](#choosing-database)

## 個別向量資料庫選項
<a name="individual-dbs"></a>

上的個別向量資料庫選項 AWS 包括 [Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)、[Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html)、[Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) 搭配 pgvector、[Amazon MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/what-is-memorydb.html)、[Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/what-is.html)、[Amazon Neptune Analytics ](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html)和 [Amazon S3 Vector](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)。（開放原始碼延伸模組，pgvector 新增了儲存和搜尋 ML 產生的向量內嵌功能。) 這些解決方案提供不同的向量搜尋方法，允許組織根據其現有的基礎設施、技術需求和特定[使用案例](use-cases.md)進行選擇。

### Amazon Kendra
<a name="kendra"></a>

Amazon Kendra 是一種企業級智慧型搜尋服務，使用自然語言處理和進階機器學習演算法傳回從資料搜尋問題的特定答案。Amazon Kendra 簡化了搜尋功能的實作，使其成為生成式 AI 應用程式的有效後端解決方案。

Amazon Kendra 的其他主要功能包括下列項目：
+ 原生連線至超過 [40 個資料來源](https://aws.amazon.com/kendra/connectors/)
+ 內建資料準備功能
+ 不需要深度技術專業知識的快速設定

Amazon Kendra 的優點包括下列項目
+ 自動化資料處理 （區塊、擷取、擷取）
+ 強大的自訂選項：
  + [面向搜尋](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html)
  + [搜尋分析](https://docs.aws.amazon.com/kendra/latest/dg/search-analytics.html)
  + [調整搜尋相關性](https://docs.aws.amazon.com/kendra/latest/dg/tuning.html)
+ 透過 進行簡單的程式設計存取 [適用於 Python (Boto3) 的 AWS SDK](https://docs.aws.amazon.com/kendra/latest/dg/gs-python.html)

如需詳細資訊，請參閱 [Amazon Kendra 文件中的 Amazon Kendra 優點](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html#what-is-benefits)。

### Amazon OpenSearch Service
<a name="opensearch-service"></a>

Amazon OpenSearch Service 是一種受管服務，可協助您在 中部署、操作和擴展 OpenSearch Service 叢集 AWS 雲端。

OpenSearch Service 的核心功能包括下列項目：
+ 開放原始碼搜尋和分析引擎
+ 分散式架構
+ 即時資料處理

使用 OpenSearch Service 的一些優點包括：
+ 水平可擴展性
+ RESTful API 支援
+ 處理結構化和非結構化資料
+ 即時資料分析
+ 適合各種部署大小

如需詳細資訊，請參閱 [ OpenSearch Service 文件中的 Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#what-is-features) OpenSearch Service 的功能。

### Amazon RDS for PostgreSQL 搭配 pgvector
<a name="rds"></a>

Amazon RDS for PostgreSQL 與 [pgvector](https://github.com/pgvector/pgvector) 結合 AWS 受管關聯式資料庫服務與 PostgreSQL 的向量處理延伸。此組合可讓組織儲存和查詢高維度向量，同時維護 Amazon RDS。此解決方案特別適合需要即時向量操作的生成式 AI 應用程式，而不需要管理資料庫基礎設施的額外負荷。

Amazon RDS for PostgreSQL 搭配 pgvector 的主要優點如下：
+ 高可用性
+ 自動容錯移轉
+ 經濟實惠 (pay-per-use)
+ 內建監控
+ 即時向量資料整合

如需詳細資訊，請參閱 [Amazon RDS 文件中的 Amazon RDS 的優點](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)。

### Amazon DocumentDB
<a name="documentdb"></a>

Amazon DocumentDB （與 MongoDB 相容） 是一種文件資料庫，可在 5.0 版和更新版本中提供原生向量搜尋功能。它結合了 JSON 型文件儲存與向量搜尋的靈活性，同時支援階層式可導覽小型世界 (HNSW) 和反轉檔案平面 (IVFFlat) 索引方法。

Amazon DocumentDB 的核心功能包括下列項目：
+ 儲存和索引向量最多 2，000 個維度 （最多 16，000 個維度，無需索引）
+ 向量相似性搜尋的毫秒回應時間
+ 支援 euclidean、cosine 和 dot 產品距離指標
+ 與現有的 MongoDB 相容應用程式無縫整合

在下列情況中使用 Amazon DocumentDB：
+ 對於已經在使用 MongoDB APIs且需要向量搜尋功能的應用程式
+ 對於需要彈性文件資料結構結合語意搜尋的使用案例
+ 對於需要傳統文件查詢和向量相似性搜尋的案例
+ 對於提供產品建議、個人化、聊天助理和詐騙偵測的應用程式

如需詳細資訊，請參閱 [Amazon DocumentDB 文件中的 Amazon DocumentDB 向量搜尋](https://docs.aws.amazon.com/documentdb/latest/developerguide/vector-search.html)。 Amazon DocumentDB 

### Amazon MemoryDB
<a name="memorydb"></a>

Amazon MemoryDB 是與 Redis 相容的記憶體內資料庫，可在熱門向量資料庫之間提供最快的向量搜尋效能 AWS。它提供毫秒以下的查詢延遲，具有多可用區域耐久性。

MemoryDB 的核心功能包括下列項目：
+ 將應用程式資料和數百萬個向量儲存在單一資料庫中
+ 單一位數毫秒查詢和更新回應時間
+ 上效能最快的最高召回率 AWS
+ 每個向量最多支援 32，768 個維度
+ 即時語意搜尋和快取功能

在下列情況中使用 MemoryDB：
+ 對於需要超低延遲 (sub-10ms) 的即時應用程式
+ 適用於每天有數百萬個請求的高輸送量工作負載
+ 對於即時建議引擎、語意快取和異常偵測等使用案例
+ 對於需要記憶體內資料存放區和向量搜尋功能的應用程式

如需詳細資訊，請參閱 MemoryDB 文件中的[向量搜尋](https://docs.aws.amazon.com/memorydb/latest/devguide/vector-search.html)。

### Amazon Neptune Analytics
<a name="neptune"></a>

Amazon Neptune Analytics 是一種圖形分析引擎，可提供原生向量搜尋功能，因此非常適合圖形擷取增強生成 (GraphRAG) 使用案例。它結合了向量相似性搜尋與圖形周遊和演算法。

Neptune Analytics 的核心功能包括下列項目：
+ 在幾秒內分析數十億個關係
+ 結合向量搜尋與圖形演算法 （路徑調查結果、社群偵測、集中性）
+ 支援具有拓撲知識的 GraphRAG 應用程式
+ 比現有的圖形分析解決方案快上 80 倍
+ 與 Amazon Bedrock 整合，以實現全受管 GraphRAG

在下列情況中使用 Neptune Analytics：
+ 對於需要具有向量內嵌的知識圖表的 GraphRAG 應用程式
+ 對於需要與向量相似性周遊複雜關係的使用案例
+ 對於需要具有關係內容的可解釋 AI 回應的應用程式
+ 對於客戶 360 檢視、詐騙偵測網路和知識探索等案例

如需詳細資訊，請參閱 [Amazon Neptune Analytics 文件](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html)。

### Amazon S3 Vectors
<a name="s3-vectors"></a>

Amazon S3 Vectors 是 中第一個 AWS 具有原生向量儲存和查詢功能的雲端物件存放區。它為需要大規模擴展的 AI 應用程式提供專用、成本最佳化的向量儲存。

Amazon S3 Vectors 的核心功能包括下列項目：
+ 每個索引最多可儲存 20 億個向量，每個向量儲存貯體最多可支援 10，000 個索引
+ Sub-100 毫秒的查詢延遲，針對長期儲存和不常存取模式進行最佳化
+ 與專用向量資料庫相比，向量操作的成本降低高達 90%
+ 具有自動擴展和 99.999999999% (11 個 9s) 耐用性的無伺服器架構

在下列情況中使用 Amazon S3 向量：
+ 對於需要以最低成本儲存數十億個向量的應用程式
+ 對於容忍低於秒查詢延遲 (100 毫秒或以上） 而非低於 10 毫秒的工作負載
+ 對於長期向量保留和封存使用案例
+ 對於不常擷取模式的 RAG 應用程式
+ 對於將儲存經濟性優先於超低延遲的組織

Amazon S3 Vectors 原生與 Amazon Bedrock 知識庫整合，並與 Amazon OpenSearch Service 在分層架構中運作良好。您可以使用 Amazon S3 Vectors 進行冷儲存，並使用 OpenSearch Service 進行熱查詢。

如需詳細資訊，請參閱 Amazon [ S3 文件中的使用 S3 向量和向量儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)體。 Amazon S3 

## 受管服務選項
<a name="managed-db"></a>

Amazon Bedrock 知識庫代表向量資料庫實作的 AWS 全受管方法。此服務在儲存選項的彈性，結合其自動化管理功能，對於尋求實作 RAG 而不管理複雜基礎設施的組織來說特別有價值。

透過 Amazon Bedrock 知識庫，您可以建立、維護和查詢使用 RAG 增強基礎模型的知識庫。此服務可透過管理整個資料擷取、向量化和擷取管道，簡化實作 RAG 的複雜程序。

Amazon Bedrock 知識庫的主要優點包括：
+ 簡化的資料處理
  + 自動資料擷取和區塊
  + 從多個檔案格式擷取內建文字
  + 受管向量內嵌產生
  + 自動中繼資料擷取和索引
+ 簡化 RAG 實作
  + 預先設定的擷取策略
  + 自動內容視窗最佳化
  + 內建關聯性調校
  + 現成的語意搜尋功能
+ 安全與管控
  + Integrated AWS Identity and Access Management (IAM) 控制項
  + 靜態和傳輸中的資料加密
  + VPC 支援
  + 使用 稽核記錄 AWS CloudTrail

Amazon Bedrock 知識庫支援多個[向量存放區選項](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html)，包括：
+ Amazon Aurora PostgreSQL 搭配 pgvector
+ Amazon Neptune Analytics
+ Amazon EMR Serverless
+ Amazon S3 Vectors
+ Pinecone
+ Redis Enterprise Cloud

此受管服務會處理自動化資料擷取、向量化和擷取。這可簡化 RAG 實作。

如需每個支援的向量存放區的詳細資訊，請參閱 [Amazon Bedrock 知識庫文件](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)。

## 選擇正確的向量資料庫
<a name="choosing-database"></a>

根據這些關鍵決策因素選取向量資料庫：
+ **如果您需要具有向量搜尋的 MongoDB 相容文件資料庫** – 選擇 Amazon DocumentDB。當您的應用程式使用 MongoDB APIs，而且您想要新增語意搜尋功能而不管理個別向量基礎設施時，這是理想的選擇。
+ **如果您需要超低延遲的即時應用程式** – 選擇 Amazon MemoryDB。這可在 AWS 具有低於毫秒回應時間的 上提供最快的向量搜尋效能。它非常適合即時推薦引擎和高輸送量應用程式。
+ **如果您需要以圖形為基礎的知識表示法搭配向量搜尋** – 選擇 Amazon Neptune Analytics。這最適合需要周遊複雜關係和執行圖形型查詢以及向量搜尋的 GraphRAG 應用程式，以提供可解釋的 AI 回應。
+ **如果您需要結合關聯式查詢與向量搜尋** – 選擇 Amazon Aurora PostgreSQL 與 pgvector。當您的應用程式同時需要相同資料庫中的傳統 SQL 操作和向量相似性搜尋時，此選項是理想的選擇。
+ **如果您需要延遲低於 10 毫秒的高輸送量查詢** – 選擇 Amazon OpenSearch Service。它擅長處理高頻率查詢和即時應用程式，並包括最近的 GPU 加速改進。
+ **如果您需要以符合成本效益的方式存放數十億個向量** – 選擇 Amazon S3 向量。此選項可節省高達 90% 的成本，非常適合不常擷取模式 （查詢之間的分鐘到小時） 可容忍低於 100 毫秒延遲的應用程式。
+ **如果您需要搭配向量搜尋進行全文搜尋** – 選擇 Amazon OpenSearch Service。此選項在單一平台中結合了強大的全文搜尋功能與向量搜尋。