Understanding Pinecone Architecture
1. Understanding Serverless Architecture
| Property | Behavior |
| Compute | Auto-scales with query traffic; pay-per-use |
| Storage | Decoupled; pay per GB stored |
| Cold start | Possible after long idle; first query latency higher |
| Capacity | Virtually unlimited (billions of vectors) |
| Best for | Variable workloads, RAG apps, dev/test, multi-tenant |
2. Understanding Pod Architecture
| Property | Behavior |
| Compute | Dedicated pods; fixed cost regardless of traffic |
| Pod types | s1 (storage), p1 (perf), p2 (high QPS) |
| Sizes | x1, x2, x4, x8 |
| Cold start | None; always warm |
| Best for | Predictable high QPS, low-latency SLAs |
Note: Pinecone is migrating most users to Serverless. New pod-based indexes may not be available in all regions.
3. Understanding Index Structure
Project
└── Index (e.g., "products-1536")
├── Namespace: "tenant-a"
│ ├── Vector: id=v1, values=[...], metadata={...}
│ └── Vector: id=v2, ...
├── Namespace: "tenant-b"
└── Namespace: "" (default)
| Component | Role |
| Index | Top-level vector container; fixed dim/metric |
| Namespace | Logical partition within index |
| Vector | id, values, metadata, optional sparseValues |
4. Understanding Namespaces
| Property | Description |
| Purpose | Logical partitioning within an index |
| Isolation | Queries scoped to one namespace at a time |
| Creation | Implicit on first upsert |
| Limit | 10K+ namespaces per index (serverless) |
| Cost | No extra cost; storage based on total vectors |
5. Understanding Collections
| Property | Description |
| Definition | Static snapshot of a pod-based index |
| Use | Backup, clone, migrate between pod types |
| Cost | Storage-only (cheaper than active pods) |
| Serverless | Not supported (use backups instead) |
6. Understanding Vector Dimensions
| Model | Dimensions | Use Case |
OpenAI text-embedding-3-small | 1536 | General RAG, cost-effective |
OpenAI text-embedding-3-large | 3072 | High-accuracy retrieval |
Cohere embed-v3 | 1024 | Multilingual |
| SentenceTransformers MiniLM | 384 | Edge / low-cost |
Pinecone multilingual-e5-large | 1024 | Inference API |
| Max allowed | 20000 | Hard limit |
7. Understanding Distance Metrics
| Metric | Range | Best For |
cosine | [-1, 1] (1=identical) | Text embeddings |
euclidean | [0, ∞) (0=identical) | Spatial, image |
dotproduct | (-∞, ∞) | Hybrid, recommenders |
| Property | Description |
| Default | All metadata fields indexed |
| Selective indexing | Configurable at index creation (pod-based) |
| Indexed types | String, number, boolean, list of strings |
| Max size | 40KB per vector |
9. Understanding Sparse vs Dense Vectors
Dense Vectors
- Fixed dimension, mostly non-zero
- From neural embeddings (OpenAI, Cohere)
- Captures semantic meaning
- Best for: similarity search
Sparse Vectors
- High dim (10K+), mostly zero
- From BM25, SPLADE, TF-IDF
- Captures keyword / term importance
- Best for: exact match, lexical search
| Attribute | Dense | Sparse |
| Storage format | Array of floats | {indices: [...], values: [...]} |
| Metric required | Any | dotproduct only |
10. Understanding Hybrid Search Capabilities
| Index Type | Hybrid Support |
| Serverless (dotproduct) | Yes — dense + sparse |
| Pod-based (dotproduct) | Yes — dense + sparse |
| Cosine/Euclidean indexes | No — dense only |