Wir versuchen, ein Datenmodell für Cassandra zu erstellen, und es gibt eine Option zum Speichern von Daten mit der Art Pfad Ansicht anstelle der klassischen Tabelle/Spaltenansicht.Cassandra "Pfad" Datenmodell
Zum Beispiel
CREATE TABLE data1 (
user uuid,
timestamp timeuuid,
column1 int,
column2 int
primary key (user, timestamp)
)
CREATE TABLE `data2` (
user uuid,
timestamp timeuuid,
column1 int,
column2 int
primary key (user, timestamp)
)
wird eine Tabelle wie:
create table all_data (
user uuid,
timestamp timeuuid,
path text,
value blob
primary key (user, timestamp, path)
)
, wo wir Daten als
einfügeninsert into all_data (user, timestamp, path, value) values (1,0,'data1.column1',1)
insert into all_data (user, timestamp, path, value) values (1,0,'data1.column2',2)
insert into all_data (user, timestamp, path, value) values (1,9,'data2.column1',7)
insert into all_data (user, timestamp, path, value) values (1,9,'data2.column1',8)
Es ist etwas ähnlich wie Graphit statsd Metriken und Argumente sammelt zu Ein solches Modell soll eine Art spaltenbasierten Speicher mit besserer Leseleistung für on haben Die Spalte, da wir fast nie eine ganze Zeile erhalten müssen, sondern nur eine Spalte pro Benutzer innerhalb des Zeitbereichs.
Hat jemand Erfahrung mit einem solchen Datenmodell und hat es wirklich eine bessere Leistung als eine klassische? Kannst du dazu einen Rat geben?
Wie können wir Ihre Datenmodellierung beantworten, wenn Sie die Daten, die Sie modellieren möchten, nicht beschrieben haben? – OrangeDog