2017-08-11 11 views
0

Ich habe viele Blogs gelesen, die sagen, dass sie Cassandra COLLECTIONS nicht benutzen sollen. Da der UPDATE-Vorgang auch Tombstone erstellt, wirkt sich dies auf die Leistung aus. Und es kann den Tod der Anwendung aufgrund von überschüssigen Grabsteinen verursachen.Ist es in Ordnung, Cassandra Collections zu verwenden?

Ist es in Ordnung, weniger aktualisierte Daten wie sekundäre Handynummern, E-Mail eines Benutzers zu speichern? usw.?

ODER Soll ich Sammlungen vermeiden, indem ich CSV oder JSON in Varchar speichere?

Antwort

3

Ja, können Sie Sammlung

Denken Sie daran gibt es eine Größenbeschränkung auf Sammlung verwenden:

  • Collection (List): Sammlung Größe: 2B (2^31); Werte Größe: 65535 (2^16-1) (Apache Cassandra ™ 2.1 und höher, unter Verwendung des nativen Protokolls v3)
  • Sammlung (Satz): Sammlungsgröße: 2B (2^31); Werte Größe: 65535 (2^16-1) (Apache Cassandra 2.1 und höher, mit nativen Protokoll v3)
  • Sammlung (Karte): Sammlungsgröße: 2B (2^31); Anzahl der Schlüssel: 65535 (2^16-1); Werte Größe: 65535 (2^16-1) (Apache Cassandra 2.1 und höher, mit nativen Protokoll v3)

und Erstellung Test Grabstein, Sagen wir, Sie die Tabelle

CREATE TABLE playlists (
    id uuid, 
    song_order int, 
    tags set<text>, 
    PRIMARY KEY(id, song_order) 
); 

Wenn Sie verwenden Sie die folgende Update-Anweisung, wird Tombstone

UPDATE playlists SET tags = {'1973'} 
    WHERE id = 62c36092-82a1-3a00-93d1-46196ee77204 AND song_order = 1; 

erstellt werden, aber wenn Sie die folgende Update-Anweisung verwenden, wird nicht erstellt Grabstein

UPDATE playlists SET tags = tags + {'1973'} 
    WHERE id = 62c36092-82a1-3a00-93d1-46196ee77204 AND song_order = 1; 
Verwandte Themen