Database limits
Learn about the usage limits of DSE and how to increase them if needed.
Guardrails are set in the cassandra.yaml
configuration file to prevent misuse of resources.
These limits can be modified, but are based on best practices.
Replicas
DSE does not restrict how replicas are used. Any consistency level is allowed. This feature is in contrast to Astra DB, which has limits.
Keyspaces
-
DSE supports UDFs and UDAs. However, in order to use UDFs and UDAs, you must enable the
enable_user_defined_functions
setting in thecassandra.yaml
configuration file. This feature is in contrast to Astra DB, which has limits. -
The
UnifiedCompactionStrategy
compaction strategy is the preferred strategy for DSE databases. However, other compaction strategies are available.-
This strategy combines ideas from
SizeTieredCompactionStrategy
,LeveledCompactionStrategy
, andTimeWindowCompactionStrategy
, along with token range sharding. This all-inclusive compaction strategy works well for DSE use cases.
-
Collections
These Data API collections differ from collections in Cassandra and CQL. See Namespaces versus keyspaces for the new terminology. |
-
A keyspace cannot have more than five collections.
-
A warning is issued if reading or compacting a partition that exceeds 100 MB.
-
You cannot
UPDATE
orDELETE
a list value by index because DSE 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.
-
A table cannot have more than 10 SAI indexes.
-
Across all keyspaces, you cannot have more than 100 SAI indexes.
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 :
The unsupported 'nodesync' table option was ignored.
In addition, operations concerning DSE Search (Solr) indexes are generally not supported. This affects the following CQL commands, which are not supported in DSE:
-
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.
See also
For more about DSE databases, see these topics: