Database limits
Learn about the usage limits of Astra DB Serverless and how to increase them if needed.
Replicas
Astra DB Serverless restricts how replicas are used.
-
Astra DB Serverless replicates data across three availability zones within the launched region to promote uptime and ensure data integrity.
-
Only the following consistency levels are allowed:
- Reads
-
Any supported consistency level is permitted.
- Single-region writes
-
LOCAL_QUORUM
andLOCAL_SERIAL
- Multi-region writes
-
EACH_QUORUM
andSERIAL
Keyspaces
Astra DB Serverless does not support UDFs or UDAs.
Collections
These Data API collections differ from collections in Cassandra and CQL. See Namespaces versus keyspaces for the new terminology. |
-
A database cannot have more than five collections.
-
You cannot create a collection or load data to a specific region using the Astra Portal. You must use the initial region you selected when you created the database.
-
Only the
UnifiedCompactionStrategy
compaction strategy is allowed. This strategy combines ideas fromSizeTieredCompactionStrategy
,LeveledCompactionStrategy
, andTimeWindowCompactionStrategy
, along with token range sharding. This all-inclusive compaction strategy works well for Astra DB Serverless use cases. -
A warning is issued if reading or compacting a partition that exceeds 100 MB.
-
You cannot
UPDATE
orDELETE
a list value by index because Astra DB Serverless does not allow list operations that perform a read-before-write. Operations that are not by index work normally.
Fields
These Data API fields differ from fields in Cassandra and CQL. See Namespaces versus keyspaces for the new terminology. |
There is a limit to the number of fields you can have and the amount of data you can store in a single field.
-
A collection cannot have more than 64 fields.
-
A document cannot put more than 10 MB of data into a single field.
Indexes
There is a limit to the number of SAI indexes you can have.
-
A database cannot have more than 50 SAI Indexes.
-
A collection cannot have more than 10 SAI Indexes.
Rate limits
The default Astra DB Serverless rate limit is ~12,000 operations per second (ops/sec). Batches count as a single operation, regardless of the number of operations in a batch.
Astra DB Serverless workloads can be limited to 4,096 ops/sec. This additional rate limiting can occur for newly created or idle database when the load increases suddenly. If you encounter rate limiting exceptions or errors, retry those requests with a back-off strategy until the database has scaled and is able to receive a higher request rate. If you expect a sudden increase in traffic for an idle database, warm up your database or contact your Account Manager to upgrade your database with provisioned capacity.
For help with rate limiting, contact DataStax Support to raise this limit.
CQL commands
If you try to use a CQL command with unsupported data definition language (DDL) properties, the command works, but ignores the unsupported values.
For example:
CREATE TABLE IF NOT EXISTS library.books
(
id UUID PRIMARY KEY,
lastname text,
firstname text)
WITH nodesync={'enabled': 'true'};
The table is created with the defined attributes, except for the nodesync
values. The results show a warning that lists the unsupported values, which are ignored:
Results
Warnings :
Ignoring provided values [nodesync] as they are not supported for Table
Properties(ignored values are: [additional_write_policy,
bloom_filter_fp_chance, caching, cdc, compaction, compression,
crc_check_chance, dse_edge_label_property, dse_vertex_label_property,
gc_grace_seconds, id, max_index_interval, memtable,
memtable_flush_period_in_ms, min_index_interval, nodesync, read_repair,
speculative_retry])
In addition, operations concerning keyspaces, materialized views, functions, aggregates, and search indexes are generally not supported. This affects the following CQL commands, which are not supported in Astra DB Serverless:
-
CREATE KEYSPACE
-
ALTER KEYSPACE
-
DROP KEYSPACE
-
CREATE MATERIALIZED VIEW
-
ALTER MATERIALIZED VIEW
-
DROP MATERIALIZED VIEW
-
CREATE AGGREGATE
-
DESCRIBE AGGREGATE
-
DROP AGGREGATE
-
CREATE FUNCTION
-
DESCRIBE FUNCTION
-
DROP FUNCTION
-
CREATE TRIGGER
-
DROP TRIGGER
-
CREATE ROLE
-
ALTER ROLE
-
DROP ROLE
-
LIST ROLES
-
LIST PERMISSIONS
-
RESTRICT
-
RESTRICT ROWS
-
UNRESTRICT
-
UNRESTRICT ROWS
-
CREATE SEARCH INDEX
-
COMMIT SEARCH INDEX
-
REBUILD SEARCH INDEX
-
RELOAD SEARCH INDEX
-
ALTER SEARCH INDEX SCHEMA
-
ALTER SEARCH INDEX CONFIG
-
DROP SEARCH INDEX CONFIG
For a list of supported CQL commands, see the CQL quick reference.
Cassandra configuration file
The cassandra.yaml
file is non-configurable for Astra DB Serverless databases.
This file is defined as follows:
# Read requests
in_select_cartesian_product_failure_threshold: 25
partition_keys_in_select_failure_threshold: 20
tombstone_warn_threshold: 1000
tombstone_failure_threshold: 100000
# Write requests
batch_size_warn_threshold_in_kb: 64
batch_size_fail_threshold_in_kb: 640
unlogged_batch_across_partitions_warn_threshold: 10
user_timestamps_enabled: true
column_value_size_failure_threshold_in_kb: 5 * 2048L
read_before_write_list_operations_enabled: false
max_mutation_size_in_kb: 16384
write_consistency_levels_disallowed: ANY, ONE, LOCAL_ONE
# Schema
fields_per_udt_failure_threshold: 60
collection_size_warn_threshold_in_kb: 5 * 1024L
items_per_collection_warn_threshold: 20
columns_per_table_failure_threshold: 75
tables_warn_threshold: 100
tables_failure_threshold: 200
# SAI indexes failure threshold
sai_indexes_per_table_failure_threshold: 10
sai_indexes_total_failure_threshold: 50
Free plans
-
A free organization can have up to five databases.
-
Each database can have up to five collections.
-
You cannot export metrics from a free organization.
Upgrade your organization to a Pay As You Go or Enterprise plan to increase this limit.
See also
For more about Astra DB Serverless databases, see these topics: