{
  "title": "Vector Database Performance Benchmark 2026",
  "version": "Q1 2026",
  "lastUpdated": "2026-02-15",
  "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
  "publisher": "Salt Technologies AI (https://www.salttechno.ai)",
  "methodology": "Performance benchmarks were conducted using standardized test conditions: 1 million vectors with 1536 dimensions (OpenAI text-embedding-ada-002), batch sizes of 100 for indexing, and single-query latency measurements at p50 and p99 percentiles. All managed services were tested on their standard tier configurations from US-East regions. Self-hosted databases were tested on AWS r6g.xlarge instances (4 vCPU, 32 GB RAM). Indexing throughput was measured as vectors indexed per second during bulk insert of 100,000 vectors. Filtering benchmarks used metadata filters with 10 distinct filter values. Maximum dimension limits reflect documented specifications as of February 2026. Pricing reflects publicly listed plans; enterprise and committed-use discounts are excluded. SDK language support reflects officially maintained client libraries. Results represent the median of 3 independent test runs. Production experience assessments are based on 50+ RAG deployments across Salt Technologies AI projects in SaaS, healthcare, fintech, and e-commerce.",
  "schema": {
    "database": {
      "type": "string",
      "description": "Official name of the vector database"
    },
    "vendor": {
      "type": "string",
      "description": "Company or organization that develops the database"
    },
    "openSource": {
      "type": "boolean",
      "description": "Whether source code is publicly available and self-hostable for free"
    },
    "managedOption": {
      "type": "boolean",
      "description": "Whether a managed/hosted cloud service is available"
    },
    "deployment": {
      "type": "string",
      "description": "Available deployment options (managed, self-hosted, or both)"
    },
    "latencyP50Ms": {
      "type": "number",
      "unit": "milliseconds",
      "description": "Median (p50) query latency at 1M vectors, 1536 dimensions"
    },
    "latencyP99Ms": {
      "type": "number",
      "unit": "milliseconds",
      "description": "99th percentile (p99) query latency at 1M vectors, 1536 dimensions"
    },
    "indexingThroughput": {
      "type": "string",
      "description": "Vectors indexed per second during bulk insert"
    },
    "maxVectors": {
      "type": "string",
      "description": "Maximum number of vectors supported (depends on deployment)"
    },
    "maxDimensions": {
      "type": "number",
      "description": "Maximum supported embedding dimensions"
    },
    "indexTypes": {
      "type": "string[]",
      "description": "Supported index algorithms"
    },
    "distanceMetrics": {
      "type": "string[]",
      "description": "Supported distance/similarity metrics"
    },
    "hybridSearch": {
      "type": "boolean",
      "description": "Whether combined vector + keyword search is supported"
    },
    "multiTenancy": {
      "type": "boolean",
      "description": "Whether built-in multi-tenant isolation is supported"
    },
    "acidCompliant": {
      "type": "boolean",
      "description": "Whether ACID transactional guarantees are provided for vector operations"
    },
    "sdkLanguages": {
      "type": "string[]",
      "description": "Officially maintained client SDK languages"
    },
    "managedStartingPriceMonth": {
      "type": "number | null",
      "unit": "USD/month",
      "description": "Starting monthly price for managed/cloud tier. Null if no managed option"
    },
    "pricingModel": {
      "type": "string",
      "description": "Description of pricing structure and tiers"
    },
    "bestFor": {
      "type": "string",
      "description": "Recommended use cases based on production experience"
    }
  },
  "recordCount": 10,
  "records": [
    {
      "database": "ChromaDB",
      "vendor": "Chroma",
      "openSource": true,
      "managedOption": false,
      "deployment": "Self-hosted (open source, in-process or client-server)",
      "latencyP50Ms": 12,
      "latencyP99Ms": 70,
      "indexingThroughput": "2,000-8,000",
      "maxVectors": "<1M (single node)",
      "maxDimensions": 65536,
      "indexTypes": [
        "HNSW"
      ],
      "distanceMetrics": [
        "cosine",
        "L2",
        "inner product"
      ],
      "hybridSearch": false,
      "multiTenancy": false,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "TypeScript",
        "REST"
      ],
      "managedStartingPriceMonth": null,
      "pricingModel": "Free (open source, Apache 2.0). Hosted cloud in development",
      "bestFor": "Rapid prototyping, local development, small-scale applications"
    },
    {
      "database": "Elasticsearch",
      "vendor": "Elastic",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Elastic Cloud) + self-hosted (SSPL license)",
      "latencyP50Ms": 15,
      "latencyP99Ms": 75,
      "indexingThroughput": "5,000-15,000",
      "maxVectors": "Billions (distributed)",
      "maxDimensions": 4096,
      "indexTypes": [
        "HNSW"
      ],
      "distanceMetrics": [
        "cosine",
        "dotProduct",
        "L2"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Java",
        "Go",
        "Ruby",
        "PHP",
        "Rust",
        ".NET",
        "REST"
      ],
      "managedStartingPriceMonth": 95,
      "pricingModel": "Free trial (Elastic Cloud), usage-based from $95/mo. Self-hosted: free (SSPL)",
      "bestFor": "Teams using Elasticsearch wanting to add vector search alongside full-text search"
    },
    {
      "database": "Milvus",
      "vendor": "Zilliz",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Zilliz Cloud) + self-hosted (Milvus, Apache 2.0)",
      "latencyP50Ms": 6,
      "latencyP99Ms": 35,
      "indexingThroughput": "10,000-30,000",
      "maxVectors": "Billions+ (distributed)",
      "maxDimensions": 32768,
      "indexTypes": [
        "HNSW",
        "IVF_FLAT",
        "IVF_SQ8",
        "IVF_PQ",
        "SCANN",
        "DiskANN",
        "GPU_IVF_FLAT",
        "GPU_IVF_PQ"
      ],
      "distanceMetrics": [
        "cosine",
        "L2",
        "inner product"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Go",
        "Java",
        "C#",
        "REST",
        "gRPC"
      ],
      "managedStartingPriceMonth": 65,
      "pricingModel": "Free tier (Zilliz Cloud), capacity-based from $65/mo. Self-hosted: free (Apache 2.0)",
      "bestFor": "Large-scale deployments needing GPU acceleration and advanced indexing algorithms"
    },
    {
      "database": "MongoDB Atlas",
      "vendor": "MongoDB",
      "openSource": false,
      "managedOption": true,
      "deployment": "Managed (MongoDB Atlas only)",
      "latencyP50Ms": 22,
      "latencyP99Ms": 110,
      "indexingThroughput": "3,000-10,000",
      "maxVectors": "Billions (Atlas)",
      "maxDimensions": 4096,
      "indexTypes": [
        "HNSW"
      ],
      "distanceMetrics": [
        "cosine",
        "euclidean",
        "dotProduct"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Java",
        "Go",
        "C#",
        "Ruby",
        "PHP",
        "Rust",
        "Swift",
        "Kotlin",
        "REST"
      ],
      "managedStartingPriceMonth": 57,
      "pricingModel": "Free tier (512MB), dedicated from $57/mo. Vector search included in Atlas pricing",
      "bestFor": "Teams using MongoDB wanting vector search without a separate database"
    },
    {
      "database": "Pinecone",
      "vendor": "Pinecone",
      "openSource": false,
      "managedOption": true,
      "deployment": "Managed (serverless + pod-based)",
      "latencyP50Ms": 8,
      "latencyP99Ms": 45,
      "indexingThroughput": "5,000-15,000",
      "maxVectors": "Billions",
      "maxDimensions": 20000,
      "indexTypes": [
        "Proprietary"
      ],
      "distanceMetrics": [
        "cosine",
        "dotProduct",
        "euclidean"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Java",
        "Go",
        "REST"
      ],
      "managedStartingPriceMonth": 70,
      "pricingModel": "Free tier (2GB), serverless pay-per-use or pod-based from $70/mo",
      "bestFor": "Zero-ops managed vector search with fastest time to production"
    },
    {
      "database": "pgvector",
      "vendor": "PostgreSQL Community",
      "openSource": true,
      "managedOption": false,
      "deployment": "Self-hosted (PostgreSQL extension). Available on managed PG services",
      "latencyP50Ms": 18,
      "latencyP99Ms": 90,
      "indexingThroughput": "1,000-5,000",
      "maxVectors": "10-50M (single node)",
      "maxDimensions": 16000,
      "indexTypes": [
        "HNSW",
        "IVFFlat"
      ],
      "distanceMetrics": [
        "cosine",
        "L2",
        "inner product"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": true,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Ruby",
        "Go",
        "Java",
        "C#",
        "PHP",
        "Any SQL client"
      ],
      "managedStartingPriceMonth": null,
      "pricingModel": "Free extension. Cost = existing PostgreSQL infrastructure",
      "bestFor": "Teams on PostgreSQL wanting vector search without new infrastructure. ACID required"
    },
    {
      "database": "Qdrant",
      "vendor": "Qdrant",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Qdrant Cloud) + self-hosted (Apache 2.0)",
      "latencyP50Ms": 4,
      "latencyP99Ms": 25,
      "indexingThroughput": "8,000-20,000",
      "maxVectors": "Billions (distributed)",
      "maxDimensions": 65536,
      "indexTypes": [
        "HNSW"
      ],
      "distanceMetrics": [
        "cosine",
        "dot",
        "euclidean",
        "manhattan"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "TypeScript",
        "Rust",
        "Go",
        "Java",
        ".NET",
        "REST",
        "gRPC"
      ],
      "managedStartingPriceMonth": 9,
      "pricingModel": "Free tier (1GB managed), usage-based from $9/mo. Self-hosted: free (Apache 2.0)",
      "bestFor": "Performance-critical RAG with best latency-to-cost ratio"
    },
    {
      "database": "Redis",
      "vendor": "Redis Ltd.",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Redis Cloud) + self-hosted (Redis Stack, RSAL/SSPL)",
      "latencyP50Ms": 5,
      "latencyP99Ms": 20,
      "indexingThroughput": "15,000-40,000",
      "maxVectors": "10-100M (RAM-bound)",
      "maxDimensions": 32768,
      "indexTypes": [
        "HNSW",
        "FLAT"
      ],
      "distanceMetrics": [
        "cosine",
        "L2",
        "inner product"
      ],
      "hybridSearch": true,
      "multiTenancy": false,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "Node.js",
        "Java",
        "Go",
        "C#",
        "Ruby",
        "REST"
      ],
      "managedStartingPriceMonth": 7,
      "pricingModel": "Free tier (Redis Cloud, 30MB), pay-per-use from $7/mo. Self-hosted: free (RSAL/SSPL)",
      "bestFor": "Ultra-low-latency vector search for real-time applications and session-based RAG"
    },
    {
      "database": "Supabase",
      "vendor": "Supabase",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Supabase Cloud) + self-hosted. Uses pgvector",
      "latencyP50Ms": 20,
      "latencyP99Ms": 95,
      "indexingThroughput": "1,000-5,000",
      "maxVectors": "10-50M (plan-dependent)",
      "maxDimensions": 16000,
      "indexTypes": [
        "HNSW",
        "IVFFlat"
      ],
      "distanceMetrics": [
        "cosine",
        "L2",
        "inner product"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": true,
      "sdkLanguages": [
        "TypeScript",
        "Python",
        "Dart",
        "Swift",
        "Kotlin",
        "C#",
        "REST"
      ],
      "managedStartingPriceMonth": 25,
      "pricingModel": "Free tier (500MB), Pro at $25/mo, Team at $599/mo. pgvector included",
      "bestFor": "Full-stack developers wanting managed pgvector with auth, storage, and edge functions"
    },
    {
      "database": "Weaviate",
      "vendor": "Weaviate B.V.",
      "openSource": true,
      "managedOption": true,
      "deployment": "Managed (Weaviate Cloud) + self-hosted (BSD 3-Clause)",
      "latencyP50Ms": 12,
      "latencyP99Ms": 65,
      "indexingThroughput": "3,000-10,000",
      "maxVectors": "Billions (managed)",
      "maxDimensions": 65535,
      "indexTypes": [
        "HNSW",
        "flat",
        "dynamic"
      ],
      "distanceMetrics": [
        "cosine",
        "dot",
        "L2-squared",
        "hamming",
        "manhattan"
      ],
      "hybridSearch": true,
      "multiTenancy": true,
      "acidCompliant": false,
      "sdkLanguages": [
        "Python",
        "TypeScript",
        "Go",
        "Java",
        "REST",
        "GraphQL"
      ],
      "managedStartingPriceMonth": 25,
      "pricingModel": "Free tier (managed), pay-per-use scaling. Self-hosted: free (BSD 3-Clause)",
      "bestFor": "Applications needing hybrid search (vector + keyword) and flexible schema"
    }
  ]
}