Cassandra Schema Management Tool

Stefan Negrea snegrea at redhat.com
Fri May 24 15:46:35 UTC 2013


Hello Everybody,

Here are the design plans for the new Cassandra schema management tool:

1) A version table will keep track of the current schema version
2) The initial setup
  a) Will create:
    i)Initial RHQ admin user/password
    ii) RHQ keyspace
    iii) Schema versioning column family (=table)
  b) Once the initial setup is done, it will never run again
3) Everything else will be installed/updated via incremental changes:
 a) One change file per version change.
 b) Multiple changes can be bundled in a change file.
 c) The name of the change file will be used for database versioning purposes.
 d) If a change has already been applied it will not be applied again for the lifetime of the installation.
 e) If an incremental change fails, the upgrade process stops.
 f) The upgrade files will be in XML format, with a very simplistic XML Schema.
4) There will not be a single schema file for new installs.
 a) All installs will follow this incremental upgrade process.
5) All schema modifications outside of the schema manager will not be supported and are at risk.


Starting with a simple and minimalist tool is the best solution (minimal set features, more robust). I expect the tool to evolve over time but if we keep things simple, then it will be to easier to maintain over time.


Anything that I might be missing? 



Thank you,
Stefan Negrea

Software Engineer



More information about the rhq-devel mailing list