Cassandra guardrails

Astra DB Serverless is a fully managed serverless database-as-a-service (DBaaS), powered by Apache Cassandra®, an open-source NoSQL distributed database. To ensure high availability and optimum performance, Astra DB Serverless databases have guardrails on underlying Cassandra functionality.

Replication within regions

Astra DB Serverless databases replicate data across three availability zones within the launched region to promote uptime and ensure data integrity.

Limited functions

Parameter Limit Notes

Consistency level

Fixed

Supported consistency levels:

Reads

Any supported consistency level is permitted.

Single-region writes

LOCAL_QUORUM and LOCAL_SERIAL

Multi-region writes

EACH_QUORUM and SERIAL

Compaction strategy

Fixed

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

Large partition

Warning

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

Lists

Fixed

Cannot UPDATE or DELETE a list value by index because Astra DB Serverless does not allow list operations that perform a read-before-write.

UPDATE and DELETE operations that are not by index work normally.

Page size

Fixed

Astra DB Serverless configures the proper page size automatically.

User-defined functions (UDFs) and user-defined aggregate functions (UDAs)

Disabled

Astra DB Serverless does not support UDFs and UDAs.

Ignored values

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:

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

Unsupported CQL commands

Operations concerning keyspaces, materialized views, functions, aggregates, and search indexes are generally not supported. This affects the following CQL commands, which are not supported in Astra DB Serverless:

  • 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 a list of supported CQL commands, see the CQL quick reference.

Cassandra configuration properties

The cassandra.yaml file is non-configurable for Astra DB Serverless databases. In addition, the following limits are applied:

# Read requests
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: 64
batch_size_fail_threshold_in_kb: 640
unlogged_batch_across_partitions_warn_threshold: 10
user_timestamps_enabled: true
column_value_size_failure_threshold_in_kb: 5 * 2048L
read_before_write_list_operations_enabled: false
max_mutation_size_in_kb: 16384
write_consistency_levels_disallowed: ANY, ONE, LOCAL_ONE

# Schema
fields_per_udt_failure_threshold: 60
collection_size_warn_threshold_in_kb:  5 * 1024L
items_per_collection_warn_threshold:  20
columns_per_table_failure_threshold: 75
tables_warn_threshold: 100
tables_failure_threshold: 200

# SAI indexes failure threshold
sai_indexes_per_table_failure_threshold: 10
sai_indexes_total_failure_threshold: 50

See also

For more about Astra DB Serverless 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