In my experience,

I'd use two methods to make sure that you are covering your ass.
1. "old school" methodology would be to do the SStable load from old to new
cluster -- if you do incremental snapshots, then you could technically
minimize downtime and just load the latest increments with a little
downtime. This is your fall back.
2. "new school" methodology would be to do all your insert/updates through
event sourcing , in which you use the CQRS (command/query request
segregation) which makes all updates into a series of commands, processed
by a processor. If you have this architecture already, this means you have
a durable message queue from which you can either a) replay all the
mutations or b) do old school method 1 from above to get the bulk of the
data, and then c) use a simultaneous processor for writing data to both old
and new clusters.

Triggers can work, but it's super clugy in C* 2. Also, you don't have CDC
in C* 2. Event sourcing + CQRS is the _literal_ best approach. Period. You
can do a true blue / green test on both clusters (old and new) to see if
your shit is consistent.

Pardon the language, but you get the message.


rahul.xavier.si...@gmail.com

http://cassandra.link



On Mon, Mar 25, 2019 at 7:31 PM Carl Mueller
<carl.muel...@smartthings.com.invalid> wrote:

> Either:
>
> double-write at the driver level from one of the apps and perform an
> initial and a subsequent sstable loads (or whatever ETL method you want to
> use) to merge the data with good assurances.
>
> use a trigger to replicate the writes, with some sstable loads / ETL.
>
> use change data capture with some sstable loads/ETL
>
> On Mon, Mar 25, 2019 at 5:48 PM Nick Hatfield <nick.hatfi...@metricly.com>
> wrote:
>
>> Maybe others will have a different or better solution but, in my
>> experience to accomplish HA we simply y write from our application to the
>> new cluster. You then export the data from the old cluster using cql2json
>> or any method you choose, to the new cluster. That will cover all live(now)
>> data via y write, while supplying the old data from the copy you run. Once
>> complete, set up a single reader that reads data from the new cluster and
>> verify all is as expected!
>>
>>
>> Sent from my BlackBerry 10 smartphone on the Verizon Wireless 4G LTE network.
>> *From: *Nandakishore Tokala
>> *Sent: *Monday, March 25, 2019 18:39
>> *To: *user@cassandra.apache.org
>> *Reply To: *user@cassandra.apache.org
>> *Subject: *Merging two cluster's in to one without any downtime
>>
>> Please let me know the best practices to combine 2 different cluster's
>> into one without having any downtime.
>>
>> Thanks & Regards,
>> Nanda Kishore
>>
>

Reply via email to