2016-04-18 5 views
3

Es ist bekannt, dass eine Kassandra-Partition eine theoretische Grenze von 2 Milliarden Zellen hat. Aber wie funktioniert das in einer Situation wie diese unter:Ergibt der gleiche Partitionsschlüssel in verschiedenen Cassandra-Tabellen den theoretischen Grenzwert der Zelle?

create table table1 (
    some_id int PRIMARY KEY, 
    some_name text 
); 

create table table2 (
    other_id int PRIMARY KEY, 
    other_name text 
); 

Angenommen, wir haben eine Milliarde Zellen in der Partition (some_id = 1) auf Tabelle1. Wenn wir in Tabelle 2 eine weitere 1 Milliarde Zellen in der Partition (other_id = 1) hätten, würden sich diese dann auf die 2 Milliarden theoretische Grenze addieren?

Mit anderen Worten, sind gleiche Partition Schlüssel in verschiedenen Tabellen zusammen gespeichert?

+0

Mögliches Duplikat von [Cassandra hat eine Grenze von 2 Milliarden Zellen pro Partition, aber was ist eine Partition?] (http://stackoverflow.com/questions/20512710/cassandra-has -a-Grenze-von-2-Milliarden-Zellen-pro-Partition-aber-was-eine-Partition) – RussS

+0

Danke RussS für Ihren Kommentar. Es ist etwas anders als dieser Beitrag, aber dieser Unterschied ist für mich interessant. Jeder Post, den ich fand, gab an, was ein Partitionsschlüssel ist und wie sie im Cluster verteilt sind, aber keiner von ihnen brachte jemals die in meinem Post angeforderte Information (ich denke). Zumindest geht es mir immer noch. –

+0

Verschiedene Tabellen haben verschiedene Partitionen, sogar mit dem gleichen Token – RussS

Antwort

4

Verschiedene Tabellen haben unterschiedliche Partitionen. Dies macht die Struktur einer bestimmten Partition homogen (sie folgt immer dem vorgeschriebenen Schema einer einzelnen Tabelle), was Optimierungen ermöglicht.

Wenn Sie die Speicher-Engine unter der Haube betrachten, sehen Sie, dass jede Tabelle sogar eine eigene Verzeichnisstruktur hat, die deutlich macht, dass eine Partition aus einer Tabelle niemals mit der Partition einer anderen interagieren wird. (Siehe/var/lib/cassandra /)

+0

Wenn ich für eine einzelne Tabelle einen Cassandra-Cluster mit einem einzigen Knoten verwende, führt das Hinzufügen von 1 Milliarde Zellen in Partitionschlüssel = a und 1 Milliarde Zellen in PartitionKey = b dazu, dass Cassandra diese Grenze erreicht? – Apoorv

+0

Das theoretische Limit ist pro Partition nicht pro Cluster oder Knoten – RussS

Verwandte Themen