2016-05-08 3 views
1

Wir haben einen MySQL-Server ausgeführt, der Anwendung schreibt. Um eine Stapelverarbeitung durchzuführen, haben wir einen Synchronisierungsjob geschrieben, um Daten in den Cassandra-Cluster zu migrieren.Wie speichere ich Daten in Cassandra an einem temporären Speicherort während der Synchronisierung?

1. A daily sync job which transfers by updated timestamp for that day. 
2. A complete sync job which transfers complete data, overriding existing ones. 

Jetzt kann es eine Möglichkeit geben, dass die Reihe von mysql gelöscht wurde, in diesem Fall des oben beschriebenen Ansatz verwendet, wird es für immer in cassandra liegen.

Um dieses Problem zu lösen, haben wir für jede Zeile eine TTL von 15 Tagen angegeben. Letztendlich wird es gelöscht, wenn es nicht gelöscht wurde, wird die TTL bei der nächsten vollständigen Synchronisation erneut überschrieben.

Es funktioniert gut, wenn es um den Anwendungsfall geht, aber das Problem ist, dass in vollständiger Synchronisation komplette Daten geschrieben und sstable wird kontinuierlich mit Verdichtungen die ganze Zeit passieren, laden Mittelwerte schießen mit Langsamkeit und Backup-Größe erhöht (was hätte vermieden werden können).

Im Wesentlichen möchten wir die vorhandenen Tabellendaten durch neue Daten ersetzen, aber wir wollen nicht vor dem Start des Jobs abgeschnitten werden, sondern nur nach Abschluss des Jobs.

Gibt es eine Möglichkeit, mit der dies gelöst werden kann, abgesehen davon, dass eine neue Tabelle erstellt und die Tabelle gelöscht wird, wenn Daten generiert werden?

Antwort

3

Sie an der Doppelgeführten Migrationsstrategie aussehen kann ich hier vorgestellt: http://www.slideshare.net/doanduyhai/from-rdbms-to-cassandra-without-a-hitch

Es hat den Vorteil, dass 100% Verfügbarkeit und mögliche Rollback, wenn etwas schief geht. Der Nachteil ist die Menge an Arbeit im Hinblick auf die Freigaben & Codes

+0

Wow! Es ist eine Ehre, einen Kommentar vom Meister zu erhalten! Kann es kaum erwarten, SASI-Indizes in der Praxis zu verwenden :) –

Verwandte Themen