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.
|
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 |
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:
The table is created with the defined attributes, except for the
|
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