1 2 Previous Next 15 Replies Latest reply on May 15, 2014 3:35 PM by nstefan Go to original post
      • 15. Re: Dev environment

        Heiko Rupp wrote:


        > Multiple storage engines:

        > Rest Interface -> Backend -> Storage Interface -> Actual Storage



        I am not sure we need all this - especially I do not think we would support it.

        Defining an interface that somewhat abstracts the concrete backend away like MetricsService could even make sense with only Cassandra, as it will allow to implement a new backend if e.g. Cassandra 3 has very different apis than Cassandra 2. In this case we would want to have both backends in parallel for a while until the C3 backend is stable and can take over.



        The main point that I was trying to illustrate was that if there is just one data store we would avoid yet another level of indirection. However, with just two data stores (in-memory and Cassandra) than that level of indirection (via a storage interface) cannot be avoided.

        I think moving versions of Cassandra alone is not a good example. C* 3.x would be implemented exclusively in master for future releases; and keep the C* 2.x implementation in a release branch for fixes. We would never support the two in the same branch because users could pick an older RHQ Metrics release if they do not want to migrate to a newer C* implementation.

        1 2 Previous Next