How it is different from Trove?
Trove is a provisioning tool you can use for provisioning of database and manage it. MagnetoDB is data API to store and query your data. In other words Trove is control plane, but MagnetoDB is a data plane.
How does MagnetoDB integrate with Trove?
Initially suggested as blueprint, it separated out as project having different from Trove program mission.
MagnetoDB is not one more database, which can be provisioned and managed by Trove. It is one more OpenStack service with own API, keystone based authentication, quota management.
However, the underlaying database could be provisioned and managed by Trove, in order to reuse existing Openstack components and avoid duplication of functionality.
Does it support only Cassandra?
For backend storage provisioning and management OpenStack DBaaS Trove will be used. The backend database should be pluggable to provide flexibility around choosing the solution which matches the best the existing or planned OpenStack installation technology stack. MySQL is one of the obvious options, being de-facto standard for being used with OpenStack and being supported by Trove right away.
Apache Cassandra looks very suitable for that case due to having tunable consistency, easy scalability, key-value data model, ring topology and other features what gives us predictable high performance and fault tolerance. Cassandra data model perfectly fits MagnetoDB needs.
How does it reuse other OpenStack component?
Being the OpenStack service MagnetoDB must and will use its infrastructure wherever it possible. For most of the core modules the corresponding OpenStack modules are defined in the table below.
|Provisioning of web tier||Heat, Mistral (Convection)|
|Load balancer||LBaaS, Neutron|
|Autoscaling of web tier||Heat autoscaling, Ceilometer|
|Data Source provisioning and management||Trove|
Does it support autoscaling?
MagnetoDB should scale accoring to the load and data it handle. Heat autoscaling group could be used to achive it.
The autoscaling of datasource expected to be implemened in Trove.