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]

Reply via email to