Joseph Lynch created CASSANDRA-15074:
----------------------------------------
Summary: Allow table property defaults (e.g. compaction,
compression) to be specified in schema
Key: CASSANDRA-15074
URL: https://issues.apache.org/jira/browse/CASSANDRA-15074
Project: Cassandra
Issue Type: Improvement
Components: Cluster/Schema
Reporter: Joseph Lynch
Fix For: 4.x
During an IRC discussion in
[cassandra-dev|https://wilderness.apache.org/channels/?f=cassandra-dev/2019-04-02#1554224083]
it was proposed that we could have table property defaults stored on a
Keyspace or globally within the cluster. For example, this would allow users to
specify "All new tables on this cluster should default to LCS with SSTable size
of 320MiB" or "all new tables in Keyspace XYZ should have Zstd commpression
with a 8 KiB block size" or "default_time_to_live should default to 3 days" etc
... This way operators can choose the default that makes sense for their
organization once (e.g. LCS if they are running on fast SSDs), rather than
requiring developers creating the Keyspaces/Tables to make the decision on
every creation (often without context of which choices are right).
A few implementation options were discussed including:
* A YAML option
* Schema provided at the Keyspace level that would be inherited by any tables
automatically
* Schema provided at the Cluster level that would be inherited by any
Keyspaces or Tables automatically
In IRC it appears that rough consensus was found in having global -> keyspace
-> table defaults which would be stored in schema (no YAML configuration since
this isn't node level really, it's a cluster level config).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]