2016-04-18 5 views
0

Das Problem ist, dass Cassandra nicht viele Tabellen pro Cluster (> 1000) verarbeiten kann. Ich suchte nach Möglichkeiten, die Anzahl der Tabellen zu reduzieren, und eine davon war die Gruppierung mehrerer Tabellen, die die gleiche Struktur gemeinsam haben.Was sind die Vor- und Nachteile einer Gruppierung mehrerer Tabellen in Cassandra?

Lassen Sie sagen, wenn wir zwei Tisch A und B

create table A (
    key text, 
    value text, 
    primary key(key) 
) 

und

create table B (
    key text, 
    value text, 
    primary key(key) 
) 

haben zusammen Wir können ihnen Gruppe einen Schlüssel

create table Shared (
    original_table_name text, // either 'A' or 'B' 
    key text, 
    value text, 
    primary key(original_table_name, key) 
) 
mehr Partition hinzufügen

Meine Frage n ist, ist es ein gutes Muster und was sind die Konsequenzen der Modellierung von Daten auf diese Weise?

Antwort

0

Bitte erläutern Sie, was Sie mit vielen Tabellen meinen, denn unsere Produktion läuft mit über 50 Tabellen, und ich sehe kein Problem damit.

Anyways, wenn Ihre Anwendung atlot der Tabellen verwendet, dann wahrscheinlichste Ursache davon, normalisierte Tabelle. In Cassandra sollten Sie immer denormalisierte Tabellen erstellen, da keine Join-Funktion vorhanden ist. Cassandra ist für sehr schnelle Schreibvorgänge ausgelegt. Sie können sich darauf verlassen und müssen sich keine Sorgen machen.

Jetzt in Bezug auf das neue Design, sehe ich kein Problem damit, nur Ihre Partitionsschlüssel sollte Kombination von (Tabellenname, Schlüssel) und nicht nur Tabellenname sein, so dass es gleichmäßig über die Knoten verteilt wird. Und natürlich, um jedes Mal abzufragen, müssen Sie table_name + key angeben.

+0

Frage aktualisiert. Ich habe es mit über 1000 Tabellen zu tun, weil wir mehrere Apps hosten (und definitiv spielt Denormalisierung eine Rolle). Die Motivation für diese Frage besteht darin, die Anzahl der Tabellen zu reduzieren, so dass wir nicht viele zusätzliche Cluster erstellen müssen, um sie zu hosten. –

Verwandte Themen