Limits
This page summarizes current Pinecone limitations.
General limitations
-
-
Max size for an upsert request is 2MB. Recommended upsert limit is 100 vectors per request.
-
Pinecone is eventually consistent, so there can be a slight delay before upserted records are available to query.
After upserting records, use the
describe_index_stats
operation to check if the current vector count matches the number of records you expect, although this method may not work for pod-based indexes with multiple replicas. -
Dense vectors must contain at least one non-zero value.
-
Max dimensionality for dense vectors is 20,000.
-
Sparse vectors can contain no more than 1000 non-zero values.
-
Max dimensionality for sparse vectors is 4.2 billion.
-
Records with sparse vector values must also contain dense vector values.
-
Only indexes using the
dotproduct
distance metric support sparse-dense vectors.Upserting sparse-dense vectors into these index types with a different distance metric, or into different index types will succeed, but querying will return an error.
-
Indexes created before February 22, 2023 do not support sparse vectors.
-
-
-
Max metadata size per vector is 40 KB.
-
Null metadata values are not supported. Instead of setting a key to hold a null value, we recommend you remove that key from the metadata payload.
-
-
- Max value for
top_k
, the number of results to return, is 10,000.
- Max value for
-
- Max vectors per fetch or delete request is 1,000.
Serverless index limitations
Warning
Serverless indexes are in public preview and are available only on AWS in the
us-west-2
andus-east-1
regions. Test thoroughly before using serverless indexes in production.
-
Each project is limited to 20 serverless indexes.
-
Each serverless index is limited to 10,000 namespaces.
-
Each serverless namespace is limited to 1B vectors.
-
During the public preview period, requests are limited as follows:
-
query
requests are limited to 1000 read units/second per index. -
upsert
,delete
, andupdate
requests, combined, are limited to 50,000 write units/second per namespace. -
list
,fetch
, anddescribe_index_stats
requests, combined, are limited to 100 requests/second per index.
-
-
Serverless indexes do not support the following features:
-
Instead, you can delete records by ID prefix.
-
Configuring indexes (
configure_index()
)Because serverless indexes scale automantically based on usage, this operation is not relevant
Pod-based index limitations
-
Each p1 pod has enough capacity for 1M vectors with 768 dimensions.
Each s1 pod has enough capacity for 5M vectors with 768 dimensions. -
Metadata with high cardinality, such as a unique value for every vector in a large index, uses more memory than expected and can cause the pods to become full.
-
You cannot query or write to a collection after its creation. For this reason, a collection only incurs storage costs.
You can only perform operations on collections in the current Pinecone project.
-
Only
s1
andp1
pod-based indexes using thedotproduct
distance metric support sparse-dense vectors.
Starter index limitations
-
Organizations on the Starter plan are limited to one project containing one free pod-based starter index.
If you need more than a single starter index, upgrade to the Standard or Enterprise plans.
-
Starter indexes are limited to 100,000 records.
-
Starter indexes are limited to 100 namespaces.
If you need more than 100 namespaces, you may wish to use metadata filtering to support multitenancy in your project. Another alternative is to upgrade to the Standard or Enterprise plans and use index types that support more namespaces.
-
Starter indexes can be hosted only in the
gcp-starter
environment, which is us-central-1 (Iowa) region of the GCP cloud. -
Starter indexes do not support the following features:
-
Collections may not be necessary or appropriate for starter indexes. Collections serve two primary purposes: decreasing usage by archiving inactive indexes, and experimenting with different index configurations. However, starter indexes neither incur usage costs nor specify pod types or sizes.
-
In some cases, you may be able to delete records by ID instead.
-
Configuring indexes (
configure_index()
)Because you can have only one starter index, this operation is not supported.
Updated 5 days ago