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 the cassandra.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, and TimeWindowCompactionStrategy, 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 or DELETE 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:

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com