2010-11-22 6 views
3

Gibt es einen spezialisierten Speicher zum Speichern von Tupeln, d. H. T = (clicks, impressions, ctr) hashed auf mehrere Werte - sagen wir pageId, categoryId, userId, sessionId und so weiter.Gibt es einen Schlüsselspeicher mit mehreren Schlüsseln?

Ich weiß, ich könnte dies mit MySQL, MongoDb und so weiter tun. Aber ich bin mehr auf der Suche nach einigen spezialisierten und sogar integrierten (in Java) Laden. Es muss keine komplexe Abfragesprache oder Transaktionen wie RDMBS bieten. Aber Atomizität und Haltbarkeit wären ein Profi. ;)

Ich denke, das könnte auch für DWH-Anwendungen nützlich sein, die Aggregatdaten in mehreren Dimensionen speichern, aber ich habe kein solches Produkt gefunden.

Antwort

0

Ihre besten Wetten sind entweder zu verwenden

HashMap<Key1Type, HashMap<Key2Type, ValueType>> 

oder wenn Ihre Einzelteile können alle über Zeichenfolge dargestellt werden, können Sie ihre Werte verketten und speichern sie alle in

HashMap<string, ValueType> 
+0

Ok, ich weiß, wie das geht ... aber ich frage nach einem "Speicher" bedeutet Memcached für Multitasten. –

+0

Es gab einen weiteren Thread darüber, wie man das in Java macht. In der Tat dachte ich darüber nach, etwas wie Terrakotta zu verwenden und diese Art von Datenstruktur aufzubauen. –

+0

Oh, Entschuldigung, ich missverstanden. Ich weiß nichts in dieser Richtung, Entschuldigung. –

0

Wenn Sie können Bei einem periodischen Ladeprozess kann ein OLAP-Server wie Mondrian oder SQL Server Analysis Services für Sie arbeiten. Sie tun genau diese Art von Sache, obwohl die zugrunde liegende Datenstruktur keine Hash-Tabelle ist. In der Praxis müssen Sie die Daten in einer Datenbank speichern und die Daten aus der Datenbank in den Cube laden.

+0

Ja, nun, ich brauche das, um einen Algorithmus zu fahren, und ich denke, dass Pentaho die erforderliche Leistung für sehr schnelle Schlüssel/Wert-Look-Ups nicht erreicht. –

0

Mithilfe eines Schlüssel/Wert-Speichers können Sie die Schlüsselzusammensetzung immer verwenden, um mehrere Spalten in einer einzelnen Schlüsselspalte zu speichern. Das heißt, wiredtiger bietet mehrere Spalten auf Schlüssel und Wert mit der Möglichkeit, eine Projektion zum Erstellen von Indizes zu tun.

Schlüsselzusammensetzung ist die Praxis des Packens eines Mehrfachwerts in Einzelwert die einfachste Zusammensetzung verwenden Sie ein Zeichen als Trennzeichen wie ":".