Astra DB Classic database limits

Astra DB Classic is powered by Apache Cassandra®, an open-source NoSQL distributed database. To ensure high availability and optimum performance, Astra DB Classic databases have guardrails on underlying Cassandra functionality.

Monitoring databases

You can view and export health metrics from the Astra Portal.

By design, Astra DB Classic alleviates the complexities of database management so you can focus on developing applications. Astra DB isn’t compatible with some Cassandra operational tools, such as nodetool and cfstats.

Astra DB doesn’t support accessing databases with Java Management Extensions (JMX) tools, such as JConsole.

Security and access control

Astra DB provides a secure cloud-based database without dramatically changing the way you currently access your internal database:

  • User management doesn’t require CQL-based superusers or global keyspace administration. For information about user management and role-based access control (RBAC) in Astra DB, see Manage roles and permissions.

  • Endpoints are secured using mutual authentication, either with mutual-TLS or secure tokens issued to the client.

  • TLS provides a secure transport layer you can trust, ensuring that in-flight data is protected.

  • Data at rest is protected by encrypted volumes.

For more information, see Security guidelines.

Replicas

Astra DB Classic replicates data across three availability zones within the launched region to promote uptime and ensure data integrity.

Astra DB Classic restricts how replicas are used. The following consistency levels are allowed:

  • Reads: Any supported consistency level is permitted.

  • Single-region writes: LOCAL_QUORUM and LOCAL_SERIAL.

  • Multi-region writes: EACH_QUORUM and SERIAL.

Reads and writes

  • Only the UnifiedCompactionStrategy compaction strategy is allowed. This strategy combines ideas from SizeTieredCompactionStrategy, LeveledCompactionStrategy, and TimeWindowCompactionStrategy, along with token range sharding. This all-inclusive compaction strategy works well for Astra DB Classic use cases.

  • A warning is issued when reading or compacting a partition that exceeds 100MB.

  • You cannot UPDATE or DELETE a list value by index because Astra DB Classic does not allow list operations that perform a read-before-write. Operations that are not by index work normally, including UPDATE, DELETE, and INSERT.

Tables

  • A database can have no more than 200 tables. A warning is issued when the database exceeds 100 tables.

  • All table properties are fixed except for expiring data with time-to-live.

  • Classic databases can have only one secondary index per table.

  • Classic databases can have no more than two materialized views per table. A warning is issued if the materialized view creates large partitions.

Columns

  • A single column can’t have values larger than 5MB.

  • A table can have no more than 50 columns.

Indexes

  • A table can have no more than 10 indexes.

  • A database can have no more than 50 indexes total.

Rate limits

Astra DB workloads for Classic databases do not have a rate limit.

Cassandra configuration properties

The cassandra.yaml file is not configurable for Astra DB Classic databases. This file is defined as follows:

cassandra.yaml
# Read requests
page_size_failure_threshold_in_kb:  512
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: 5
batch_size_fail_threshold_in_kb: 50
unlogged_batch_across_partitions_warn_threshold: 10
user_timestamps_enabled: true
column_value_size_failure_threshold_in_kb: 5 * 1024L
read_before_write_list_operations_enabled: false
max_mutation_size_in_kb: 16384

# Schema
fields_per_udt_failure_threshold: 30
collection_size_warn_threshold_in_kb:  5 * 1024L
items_per_collection_warn_threshold:  20
columns_per_table_failure_threshold: 50
secondary_index_per_table_failure_threshold: 1   # 100 for Advanced Workloads.
tables_warn_threshold: 100
tables_failure_threshold: 200

# Node status
disk_usage_percentage_warn_threshold:  70
disk_usage_percentage_failure_threshold:  80
partition_size_warn_threshold_in_mb:  100

# Indexes failure threshold
sai_indexes_per_table_failure_threshold: 10
sai_indexes_total_failure_threshold: 50

The limits defined in cassandra.yaml inform the limits described elsewhere on this page.

CQL limits

For information about guardrails and limits for CQL commands, see Cassandra Query Language (CQL) for Astra DB.

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