Vektör depolama msOpensearch1695Postgresql1807Neptune2236S3 vektör depolama2284 Aurora Kapasite Birimi (ACU) saat başına ACU başına $0.12 Vektör mağazası türü Alışveriş zamanıGünde yaklaşık fiyatS3 Vektör2284 ms$3.54Neptun2236 ms$345PostgreSQL1807 ms$86OpenSearch1695 ms$172 15 Temmuz'dan itibaren, AWS, Bedrock bilgi tabanları için S3 vektor depolarına destek ekledi. 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 Yönetimi: Diğerleri : Her biri ne? AWS Yönetimi: Açık Arama: Apache 2.0 lisanslı,% 100 açık kaynaklı bir arama ve analiz paketi, gerçek zamanlı uygulama izleme, log analizi ve web sitesi arama gibi geniş bir kullanıma sahiptir. OpenSearch, kullanıcıların verilerini keşfetmelerini kolaylaştıran entegre bir görselleştirme aracı olan OpenSearch Dashboards ile büyük veri hacimlerine hızlı erişim ve yanıt sağlamak için yüksek ölçeklenebilir bir sistem sunar. OpenSearch, Apache Lucene arama kütüphanesi tarafından desteklenir ve KNN arama, SQL, Anomaly Detection, Machine Learning Commons, Trace Analytics, tam metin arama ve daha fazlasını destekler. Açık Arama Açık Arama S3 Vector Ürünleri: 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, vektorları depolamak ve sorgulamak için yerel destekleyici ilk bulut nesne mağazasıdır, AI ajanları için amaçlı ve maliyetle optimize edilen vektor depolama sunar, AI inferans ve Amazon S3'te depolanan içeriğinizin semantik aramasını sağlar. %90'a kadar vektorların yükleme, depolama ve sorgulama maliyetlerini azaltarak, S3 Vectors, büyük vektor veri setlerini oluşturmak ve kullanmak, AI ajanlarının hafızasını ve bağlamlarını ve S3 verilerinizin semantik arama sonuçlarını geliştirmek için maliyetli hale getirir. AWS Aurora PostgreSQL Çözümleri: 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 ile uyumlu bir bulut tabanlı, tamamen yönetilen ilişki veritabanı hizmetidir. Yüksek kaliteli ticari veritabanların performansını ve kullanılabilirliğini, açık kaynaklı veritabanların, özellikle de PostgreSQL'in basitliğini ve maliyetini birleştirir. Amazon Neptunu Hakkında: 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, hızlı, güvenilir ve tamamen yönetilen grafik veritabanı hizmetidir ve yüksek derecede bağlantılı veri kümeleri ile çalışan uygulamaları oluşturmak ve çalıştırmak kolaylaştırır. And non-AWS managed: MongoDB Atlas: MongoDB Atlas, MongoDB'yi oluşturan aynı kişiler tarafından sunulan çok bulutlu bir veritabanı hizmetidir. Atlas, veritabanlarınızı dağıtmayı ve yönetmeyi basitleştirir ve seçtiğiniz bulut sağlayıcılarında dayanıklı ve performanslı küresel uygulamalar oluşturmak için ihtiyacınız olan esnekliği sunar. Pinecone: Pinecone, AI uygulamaları için tasarlanmış bulut tabanlı bir vektor veritabanı hizmetidir, özellikle de arama artırılmış jenerasyonu içerenler. Redis Enterprise Cloud: Redis Enterprise Cloud, Redis'in açık kaynak Redis'in temelleri üzerine kurulan tam yönetilen, talep üzerine, veritabanı hizmet olarak (DBaaS) bir teklifidir. Şimdi, her bir desteklenen mağazanın ne olduğunu anlıyoruz. Sadece AWS tarafından yönetilen mağazaları test edeceğim ve karşılaştıracağım. Bir Python lambda fonksiyonu oluşturdum. 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 }) } Bu örnekte, performans karşılaştırması için amazon.nova-micro-v1:0 bedrock modeli kullanacağız. Bu lambda işlevi, aşağıdaki biçimde bir test olayını bekler: { "query": "Can you provide a list of bank holidays employers can have?", "kb_id": "AAUAL8BHQV" } Cevap: İstediğiniz herhangi bir dosyayı kullanabilirsiniz. kb_id - bilgi tabanı kimliği; test etmek için bir temel bilgi tabanı oluşturacağız Ve farklı veri kaynakları kullanarak 4 farklı bilgi tabanını oluşturdum: Ve son olarak, testlerimizi yapmak için ihtiyacımız olan her şeye sahibiz: Lambda işlevini çalıştıralım ve sadece bilgi tabanının ID'sini doğru şekilde test etmek için değiştirelim. OpenSearch: Neptune: PostgreSQL: S3 Vector store: Ve daha iyi bir görsel için, yürütme zamanına göre düzenlenir: Vektör depolama msOpensearch1695Postgresql1807Neptune2236S3 vektör depolama2284 Vektor Mağazası Çalışma Süresi MS Burada görebileceğiniz gibi, OpenSearch daha hızlı bir depolama çözümüdür. Ocu olarak ödenir. 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 Ödeyebileceğiniz minimum OCU 0,5. Bu, $ 0,24 * 24 saat * 30 gün * 2 (indeksleme, arama ve sorgulama) * 0,5 (minimum OCU) = $ 172. : Hakkında PostgreSQL - pay per ACU Aurora Kapasite Birimi (ACU) saat başına ACU başına $0.12 Ödeyebileceğiniz asgari ACU 0. Ama 1 ACU size $0.12 maliyeti olacak * 24 saat * 30 gün = $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 Minimum örnek saat başına $0.48 demektir. ay başına maliyeti size $0.48 * 24 saat * 30 gün = $345. Wow! S3 vector store, here - you will need to pay for requests and storage. S3 Vektor Depolama / Ay - vektor veri, anahtar ve metadata aylık mantıksal depolama = $0.06 per GB S3 Vectors request pricing PUT istekleri (GB başına)* GET, LIST ve diğer tüm istekleri (1000 isteğe göre) S3 Vektorlar GB başına $0.20 talep ediyor $0.055 *PUT, her PUT için en az 128 KB'lik bir ücret ödenir.PUT maliyetlerini düşürmek için, her PUT isteği için birden fazla vektör batarya edebilirsiniz. S3 Vektor Arama Fiyatları S3 Vektör sorgusu talebleri (1000 talebin başına) $0.0025 S3 Vektör verileri - endeks başına vektörlerin toplamı, ortalama vektör boyutu ile çoğaltılmıştır (vektor verileri, anahtarlar ve filtrelenebilir metadata) İlk 100 bin vektor, TB başına $0.0040 100 bin vektor üzerinde $0.0020 TB başına TLDR Hakkında: S3 Vectors storage charge ((4 byte * 1024 boyut) vektor veri/vektor + 1 KB filtrelenebilir metadata/vektor + 1 KB filtrelenemez metadata/vektor + 0,17 KB anahtar/vektor) = ortalama vektor başına 6,17 KB mantıksal depolama alanı. 6.17 KB/ortalama vektor * 250.000 vektor * 40 vektor endeksi = 59 GB mantıksal depolama alanı. Aylık toplam depolama maliyeti = 59 GB * $0.06/GB aylık = $3.54 Final comparison table: Vektör mağazası türü Alışveriş zamanıGünde yaklaşık fiyatS3 Vektör2284 ms$3.54Neptun2236 ms$345PostgreSQL1807 ms$86OpenSearch1695 ms$172 Vektör Tipi Geri Dönüş Zamanı Aylık Yaklaşık Fiyatlar Hız o kadar kritik değilse, S3 vektor mağazasını seçerdim. aksi takdirde, açıkça kazanan OpenSearch, muhtemelen daha iyi bir seçim olurdu. Projenizde hangi vektor mağazası kullanıyorsunuz?