Векторное хранилищеВремя выполнения в msOpensearch1695Postgresql1807Нептун2236S3 векторное хранилище2284 Aurora Capacity Unit (ACU) 0,12 $ за ACU в час Тип векторного магазина Время полученияПриблизительная цена в месяцS3 Vector2284 мс$3.54Нептун2236 мс$345PostgreSQL1807 мс$86OpenSearch1695 мс$172 Начиная с 15 июля, AWS добавила поддержку векторных магазинов S3 для баз знаний Bedrock. 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 управляется: Открытый поиск: является распределенным, сообществом управляемым, Apache 2.0-лицензированным, 100% открытым исходным кодом поисково-аналитическим пакетом, используемым для широкого набора случаев использования, таких как мониторинг приложений в режиме реального времени, анализ журналов и поиск веб-сайтов. OpenSearch предоставляет высокомасштабируемую систему для обеспечения быстрого доступа и реагирования на большие объемы данных с интегрированным инструментом визуализации, OpenSearch Dashboards, который позволяет пользователям легко исследовать свои данные. OpenSearch поддерживается поисковой библиотекой Apache Lucene и поддерживает ряд возможностей поиска и анализа, таких как поиск к-ближайших соседей (KNN), SQL, обнаружение аномалий, 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. Снижая затраты на загрузку, хранение и запросы векторов до 90%, S3 Vectors делает экономически эффективным создание и использование больших наборов векторных данных для улучшения памяти и контекста агентов ИИ, а также семантических результатов поиска ваших данных S3. 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. Она сочетает в себе производительность и доступность высококачественных коммерческих баз данных с простотой и экономичностью баз данных с открытым исходным кодом, в частности 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 упрощает развертывание и управление вашими базами данных, предлагая при этом универсальность, необходимую для создания устойчивых и производительных глобальных приложений на облачных поставщиках по вашему выбору. Pinecone: Pinecone - это служба векторной базы данных на основе облака, предназначенная для приложений искусственного интеллекта, особенно тех, которые включают в себя получение увеличенного поколения. Redis Enterprise Cloud: Redis Enterprise Cloud - это полностью управляемая, по запросу, база данных как услуга (DBaaS) от Redis, построенная на основе открытого исходного кода 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 для сравнения производительности. Эта функция lambda ожидает испытательного события в формате: { "query": "Can you provide a list of bank holidays employers can have?", "kb_id": "AAUAL8BHQV" } запрос - это наш запрос из моего текстового примерного файла. Вы можете использовать любой текстовый файл, который вы хотите. kb_id - ID базы знаний; мы создадим базовую базу знаний для тестирования И я создал 4 различных базы знаний с использованием разных источников данных: И, наконец, у нас есть все необходимое для проведения наших тестов: Давайте запустим функцию lambda и изменим только идентификатор базы знаний, чтобы проверить его должным образом. OpenSearch: Neptune: PostgreSQL: S3 Vector store: И для лучшего визуального, упорядоченного по времени исполнения: Векторное хранилищеВремя выполнения в msOpensearch1695Postgresql1807Нептун2236S3 векторное хранилище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 Это означает $ 0,24 * 24 часа * 30 дней * 2 (индексирование, поиск и запрос) * 0,5 (минимальный OCU) = $ 172. : PostgreSQL - pay per ACU Aurora Capacity Unit (ACU) 0,12 $ за ACU в час Минимальный 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 * 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 (на ГБ)* GET, LIST и все другие запросы (на 1000 запросов) Векторы S3 требуют $0.20 за ГБ $0.055 *PUT подлежит минимальной загрузке 128 КБ на PUT. Чтобы снизить затраты PUT, вы можете загружать несколько векторов на запрос PUT. S3 Векторные запросы цены S3 Запросы по векторам (на 1000 запросов) $ 0,0025 S3 Данные вектора — сумма векторов по индексу, умноженная на средний векторный размер (данные вектора, ключи и фильтруемые метаданные) Первые 100 тысяч векторов $ 0,0040 за ТБ Более 100 тысяч векторов $ 0,0020 за ТБ ТЛДР : S3 Vectors storage charge ((4 байта * 1024 измерения) векторные данные/вектор + 1 Кб фильтруемых метаданных/вектор + 1 Кб нефильтруемых метаданных/вектор + 0,17 Кб ключа/вектор) = 6,17 Кб логического хранилища на средний вектор. 6.17 КБ/средний вектор * 250 000 векторов * 40 векторных индексов = 59 ГБ логического хранилища. Общая стоимость ежемесячного хранилища = 59 ГБ * $0.06/ГБ в месяц = $3.54 Final comparison table: Тип векторного магазина Время полученияПриблизительная цена в месяцS3 Vector2284 мс$3.54Нептун2236 мс$345PostgreSQL1807 мс$86OpenSearch1695 мс$172 Векторный тип магазина Время восстановления Приблизительная цена за месяц Если скорость не столь критична, я бы выбрал векторный магазин S3. Очевидным победителем, в противном случае, является OpenSearch, который, вероятно, будет лучшим выбором. Какой векторный магазин вы используете в своем проекте?