About your Astra DB Classic database

Learn about Astra DB Classic database capacity and limits before you create a database.

A paid database starts with the following specifications:

  • A single region

  • A single keyspace

  • Storage based on your subscription plan

  • Capacity for up to 200 tables

  • Replication factor of three to provide optimal uptime and data integrity

How do you want to connect?

Options Description

I want to start using my database now with APIs.

Use the Stargate APIs on Astra to interact with your database and self manage the schema.

I have an application and want to use the DataStax drivers.

Initialize one of the DataStax drivers to manage database connections for your application.

I know CQL and want to connect quickly to use my database.

Use the integrated CQL shell or the standalone CQLSH tool to interact with your database using CQL.

Astra DB Classic guardrails and limits

Astra DB Classic includes guardrails and limits to promote best practices, availability, and optimal configurations for your databases.

Simplified management

By design, Astra DB Classic alleviates the complexities of database management so you can focus on developing applications. Astra DB isn’t compatible with DataStax Enterprise (DSE) administrative tools, such as nodetool and dsetool.

Use the Astra Portal to get database statistics and health metrics. Astra DB doesn’t support accessing databases with Java Management Extensions (JMX) tools, such as JConsole.

Simplified security without compromise

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

  • User management doesn’t require superusers or global keyspace administration in CQL.

  • 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.

Additionally, Astra DB incorporates role-based access control (RBAC).

For more information, see Security guidelines.

Replication within regions

To promote uptime and ensure data integrity, each Astra DB database uses replication across three availability zones within the launched region.

Classic database limits

Astra DB Classic databases have the following limits.

Columns

Parameter Limit Notes

Size of values in a single column

5 MB

Hard limit.

Number of columns per table

50

Hard limit.

Tables

Parameter Limit Notes

Number of tables per database

200

A warning is issued when the database exceeds 100 tables.

Table properties

Fixed

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

Secondary index

1

For classic databases, limit is per table.

Materialized view

2

Limit is per table. A warning is issued if the materialized view creates large partitions.

Workloads

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

Storage-Attached Indexing (SAI) limits

The maximum number of SAI indexes on a table is 10. There can be no more than 50 SAI indexes in a single database.

Automated backup and restore

Classic databases created using Astra DB are automatically backed up every four hours. The latest six backups are stored, providing flexibility in which point in time you can restore to, if necessary.

If the database was terminated, all data is destroyed and is unrecoverable.

If data is accidentally deleted or corrupted, contact DataStax Support within 12 hours to restore data from one of the available backups. This window ensures that the data to restore exists as a saved backup.

When restoring data, DataStax Support allows you to restore data to the same database, replacing the current data with data from the backup. All data added to the database after the backup is no longer available in the database.

Cassandra Query Language (CQL)

User-defined functions (UDFs) and user-defined aggregate functions (UDAs) are not enabled.

Parameter Limit Notes

Consistency level

Fixed

Supported consistency levels: Reads: Any supported consistency level is permitted.
Single-region writes: LOCAL_QUORUM and LOCAL_SERIAL

Compaction strategy

Fixed

UnifiedCompactionStrategy is a more efficient compaction strategy that combines ideas from STCS (SizeTieredCompactionStrategy), LCS (LeveledCompactionStrategy), and TWCS (TimeWindowCompactionStrategy) along with token range sharding. This all-inclusive compaction strategy works well for all use cases.

Lists

Fixed

Cannot UPDATE or DELETE a list value by index because Astra DB does not allow list operations that perform a read-before-write. Note: INSERT operations work the same way in Astra DB as in Apache Cassandra® and DataStax Enterprise (DSE). Also, UPDATE and DELETE operations that are not by index work the same in Astra DB, Cassandra, and DSE.

Page size

Fixed

The proper page size is configured automatically.

Large partition

Warning

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

If you try to use a CQL command with unsupported 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:

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])

CQL commands

In general, any operations concerning keyspaces, materialized views, functions and aggregates are not supported. In addition, search indexes are also not supported.

The following CQL commands are not supported in Astra DB:

  • 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 supported CQL commands, see the Astra DB CQL quick reference.

cassandra.yaml

If you have experience with Cassandra or DSE, you might be familiar with editing the cassandra.yaml file.

In Astra DB, you can’t edit the cassandra.yaml file.

The following limits are included in Astra DB:

// for 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

// for 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

// for 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
        tables_warn_threshold = 100
        tables_failure_threshold = 200

// for node status
        disk_usage_percentage_warn_threshold =  70
        disk_usage_percentage_failure_threshold =  80
        partition_size_warn_threshold_in_mb =  100

// SAI Table Failure threshold
        sai_indexes_per_table_failure_threshold = 10

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