벡터 매장 msOpensearch1695Postgresql1807Neptune2236S3 벡터 매장2284 Aurora Capacity Unit (ACU) 시간당 ACU당 0.12달러 벡터 스토어 유형 수신 시간약 1 개월 가격S3 벡터2284 ms$3.54네 벡터2236 ms$345PostgreSQL1807 ms$86OpenSearch1695 ms$172 7월 15일부터 AWS는 Bedrock 지식베이스에 대한 S3 벡터 스토어에 대한 지원을 추가했습니다. AWS managed: Others: OpenSearch MongoDB Atlas S3 vector store Pinecone PostgreSQL Redis Enterprise Cloud Neptune AWS managed: Others: OpenSearch MongoDB Atlas S3 vector store Pinecone PostgreSQL Redis Enterprise Cloud Neptune AWS 관리 : 다른분들 : 각각 무엇인가요? AWS 관리 : 오픈소스 : 그것은 분산, 커뮤니티 주도, 아파치 2.0 라이선스, 100 % 오픈 소스 검색 및 분석 스위트 실시간 응용 프로그램 모니터링, 로그 분석 및 웹 사이트 검색과 같은 광범위한 사용 사례를 위해 사용됩니다. OpenSearch는 통합 된 시각화 도구, OpenSearch Dashboards를 사용하여 큰 양의 데이터에 대한 빠른 액세스 및 응답을 제공하기위한 매우 확장 가능한 시스템을 제공합니다. OpenSearch는 데이터를 탐색하기 쉽습니다. OpenSearch는 Apache Lucene 검색 라이브러리에 의해 구동되며, K-nearest neighbors (KNN) 검색, SQL, Anomaly Detection, Machine Learning Commons, Trace Analytics, 전체 텍스트 검색 등 다양한 검색 및 분석 기능을 지원합니다. 오픈소스 오픈소스 S3 Vector 스토어: Amazon S3 Vectors is the first cloud object store with native support to store and query vectors, delivering purpose-built, cost-optimized vector storage for AI agents, AI inference, and semantic search of your content stored in Amazon S3. By reducing the cost of uploading, storing, and querying vectors by up to 90%, S3 Vectors makes it cost-effective to create and use large vector datasets to improve the memory and context of AI agents as well as semantic search results of your S3 data. Amazon S3 Vectors는 인공지능 에이전트, 인공지능 추론 및 Amazon S3에 저장된 콘텐츠의 상징적 검색을 위한 목적으로 구축된 비용 최적화된 벡터 스토리지를 제공하는 기본적인 스토리지 및 쿼리 벡터 지원을 제공하는 최초의 클라우드 오브젝트 스토어입니다.By reducing the cost of uploading, storing, and querying vectors by up to 90%, S3 Vectors makes it cost-effective to create and use large vector datasets to improve the memory and context of AI agents as well as semantic search results of your S3 data. AWS Aurora PostgreSQL에 대한 정보: Amazon Aurora PostgreSQL is a cloud-based, fully managed relational database service that is compatible with PostgreSQL. It combines the performance and availability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases, specifically PostgreSQL. Essentially, it's a PostgreSQL-compatible database offered as a service by Amazon Web Services Amazon Aurora PostgreSQL은 PostgreSQL과 호환되는 클라우드 기반, 완전히 관리되는 관계 데이터베이스 서비스로 고급 상업용 데이터베이스의 성능과 가용성을 Open Source 데이터베이스, 특히 PostgreSQL의 단순성과 비용 효율성과 결합합니다. 아마존 네프 타운 : Amazon Neptune is a fast, reliable, fully managed graph database service that makes it easy to build and run applications that work with highly connected datasets Amazon Neptune는 빠르고 신뢰할 수 있고 완전히 관리되는 그래프 데이터베이스 서비스로 고도로 연결된 데이터 세트와 함께 작동하는 응용 프로그램을 쉽게 구축하고 실행할 수 있습니다. And non-AWS managed: MongoDB Atlas: MongoDB Atlas는 MongoDB를 구축하는 동일한 사람들에 의해 제공되는 다중 클라우드 데이터베이스 서비스입니다.Atlas는 데이터베이스의 배포 및 관리를 단순화하면서 선택한 클라우드 공급 업체에서 탄력적이고 성능이 높은 글로벌 응용 프로그램을 구축하는 데 필요한 유연성을 제공합니다.MongoDB Atlas is a multi-cloud database service by the same people that build MongoDB.Atlas simplifies deploying and managing your databases while offering the versatility you need to build resilient and performant global applications on the cloud providers of your choice. Pinecone: Pinecone은 AI 애플리케이션을 위해 설계된 클라우드 기반 벡터 데이터베이스 서비스이며, 특히 탐색 증대 생성을 포함하는 애플리케이션입니다. Redis Enterprise Cloud: Redis Enterprise Cloud는 Redis의 완전히 관리되고, 수요에 따라, 데이터베이스-as-a-service (DBaaS) 제공, 오픈 소스 Redis의 기초에 구축 이제, 우리는 지원되는 각 스토어가 무엇인지 이해합니다.나는 AWS 관리 스토어 만 테스트하고 비교할 것입니다. Python lambda 함수를 만들었습니다. import json import time import boto3 def lambda_handler(event, context): """Demo: Bedrock Nova Micro with Knowledge Base timing comparison""" # Configuration - easily change these for testing MODEL_ID = "amazon.nova-micro-v1:0" # Allow override for comparison KNOWLEDGE_BASE_ID = event.get('kb_id') # Initialize clients bedrock_runtime = boto3.client('bedrock-runtime') bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') query = event.get( 'query', 'Can you provide a list of bank holidays employers can have?') start_time = time.time() try: # 1. Retrieve from Knowledge Base kb_start = time.time() kb_response = bedrock_agent_runtime.retrieve( knowledgeBaseId=KNOWLEDGE_BASE_ID, retrievalQuery={'text': query}, retrievalConfiguration={ 'vectorSearchConfiguration': {'numberOfResults': 3}} ) kb_time = time.time() - kb_start # 2. Build context and prompt context = "\n".join([r['content']['text'] for r in kb_response.get('retrievalResults', [])]) prompt = f"Context: {context}\n\nQuestion: {query}\n\nAnswer:" # 3. Call Bedrock model model_start = time.time() response = bedrock_runtime.converse( modelId=MODEL_ID, messages=[{"role": "user", "content": [{"text": prompt}]}], inferenceConfig={"maxTokens": 500, "temperature": 0.7} ) model_time = time.time() - model_start total_time = time.time() - start_time answer = response['output']['message']['content'][0]['text'] return { 'statusCode': 200, 'body': json.dumps({ 'kb_id': KNOWLEDGE_BASE_ID, 'query': query, 'answer': answer, 'timing_ms': { 'kb_retrieval': round(kb_time * 1000), 'model_inference': round(model_time * 1000), 'total': round(total_time * 1000) }, 'chunks_found': len(kb_response.get('retrievalResults', [])) }) } except Exception as e: return { 'statusCode': 500, 'body': json.dumps({ 'error': str(e), 'kb_id': KNOWLEDGE_BASE_ID }) } 이 예제에서는 amazon.nova-micro-v1:0 bedrock 모델을 사용하여 성능을 비교할 것입니다. 이 lambda 함수는 다음 형식의 테스트 이벤트를 기대합니다.This lambda function expects a test event in the format: { "query": "Can you provide a list of bank holidays employers can have?", "kb_id": "AAUAL8BHQV" } 쿼리 - 내 텍스트 예제 파일에서 우리의 쿼리입니다.당신은 원하는 모든 텍스트 파일을 사용할 수 있습니다. kb_id - 지식베이스 ID; 우리는 테스트를 위해 베드록 지식베이스를 만들 것입니다. 그리고 나는 다른 데이터 원본을 사용하여 4 가지 지식 기반을 만들었습니다. 그리고 마지막으로, 우리는 우리의 테스트를하기 위해 필요한 모든 것을 가지고 있습니다 : lambda 함수를 실행하고 지식베이스 ID 만 변경하여 올바르게 테스트합시다. OpenSearch: Neptune: PostgreSQL: S3 Vector store: 그리고 더 나은 시각을 위해, 실행 시간에 따라 순서대로 : 벡터 매장 msOpensearch1695Postgresql1807Neptune2236S3 벡터 매장2284 벡터 스토어 MS 실행 시간 여기에서 볼 수 있듯이 OpenSearch는 더 빠른 저장 솔루션입니다. OCU에 따라 지불합니다. OpenSearch OpenSearch Compute Unit (OCU) - Indexing $0.24 per OCU per hour OpenSearch Compute Unit (OCU) - Search and Query $0.24 per OCU per hour OpenSearch Compute Unit (OCU) - Indexing $0.24 per OCU per hour OpenSearch Compute Unit (OCU) - Search and Query $0.24 per OCU per hour 당신이 지불 할 수있는 최소 OCU는 0.5입니다.그것은 $0.24 * 24 시간 * 30 일 * 2 (인덱싱, 검색 및 쿼리) * 0.5 (최소 OCU) = $172. : : PostgreSQL - pay per ACU Aurora Capacity Unit (ACU) 시간당 ACU당 0.12달러 당신이 지불 할 수있는 최소 ACU는 0. 그러나 1 ACU는 당신에게 비용을 $0.12 * 24 시간 * 30 일 = $86 : Neptune Memory-optimized Neptune Capacity Units configuration Cost 16 m-NCUs $0.48 per hour 32 m-NCUs $0.96 per hour 64 m-NCUs $1.92 per hour 128 m-NCUs $3.84 per hour 256 m-NCUs $7.68 per hour 384 m-NCUs $11.52 per hour Memory-optimized Neptune Capacity Units configuration Cost 16 m-NCUs $0.48 per hour 32 m-NCUs $0.96 per hour 64 m-NCUs $1.92 per hour 128 m-NCUs $3.84 per hour 256 m-NCUs $7.68 per hour 384 m-NCUs $11.52 per hour 최소 인스턴스는 시간당 $0.48 이다. 그것은 당신에게 달 당 $0.48 * 24 시간 * 30 일 = $345. 와우! S3 vector store, here - you will need to pay for requests and storage. S3 벡터 스토리지 / 월 - 벡터 데이터, 키 및 메타데이터의 월간 논리 저장 = $0.06 per GB S3 Vectors request pricing PUT 요청 (GB 당)* GET, LIST 및 모든 다른 요청 (1000 요청 당) S3 벡터 요청 $0.20 GB 당 $0.055 *PUT는 PUT 당 최소 128KB의 요금이 부과됩니다.PUT 비용을 낮추려면 PUT 요청 당 여러 벡터를 배치할 수 있습니다. S3 벡터 쿼리 가격 S3 벡터 쿼리 요청 ( 1,000 요청 당) $0.0025 S3 벡터 데이터 - 인덱스 당 벡터의 합계 평균 벡터 크기 (벡터 데이터, 키 및 필터 가능한 메타데이터) 첫 번째 100 천 개의 벡터 $0.0040 per TB 100,000개가 넘는 벡터 $0.0020 per TB TLDR : S3 Vectors storage charge ((4 바이트 * 1024 차원) 벡터 데이터 / 벡터 + 1 KB 필터할 수 있는 메타데이터 / 벡터 + 1 KB 필터할 수 없는 메타데이터 / 벡터 + 0.17 KB 키 / 벡터) = 평균 벡터 당 6.17 KB 논리 저장 공간. 6.17 KB/평균 벡터 * 250,000 벡터 * 40 벡터 인덱스 = 59 GB 논리 저장 공간. 총 월간 스토리지 비용 = 59 GB * 월당 $0.06/GB = $3.54 Final comparison table: 벡터 스토어 유형 수신 시간약 1 개월 가격S3 벡터2284 ms$3.54네 벡터2236 ms$345PostgreSQL1807 ms$86OpenSearch1695 ms$172 Vector 스토어 유형 Retrieval 시간 월별 가격 대략 속도가 그렇게 중요하지 않다면 S3 벡터 스토어를 선택할 것입니다.그렇지 않으면 분명한 승자는 OpenSearch이며 아마 더 나은 선택이 될 것입니다. 프로젝트에서 어떤 벡터 스토어를 사용하고 있습니까?