Hallo allerseits und vielen Dank im Voraus. Ich bin neu im NoSQL-Spiel, aber mein gegenwärtiger Arbeitsplatz hat mich mit Vergleichen von einigen Big Data beauftragt.Beste Lösung für die Suche nach 1 x 1 Million Schnittpunkt? Redis, Mongo, andere
Unser System verfügt über Kunden-Tag-Set und gezielte Tag-Sets. Ein Tag ist eine 8-stellige Nummer.
Ein Kunden-Tag-Set kann bis zu 300 Tags enthalten, aber durchschnittlich 100 Tags.
Ein Targeted-Tag-Set kann bis zu 300 Tags enthalten, aber durchschnittlich 40 Tags.
Vorberechnung ist keine Option, da wir für einen potenziellen Kundenstamm von einer Milliarde Benutzer schießen.
(Diese Tags sind hierarchisch so einen Tag bedeutet hat, dass man auch seine Eltern und Vorfahren Tags hat. Legen Sie diese Informationen für den Moment beiseite.)
Wenn ein Kunde unserer Seite trifft, müssen wir ihren Tag schneiden Setzen Sie so schnell wie möglich eine Million Ziel-Tag-Sets ab. Der Kundensatz muss alle Elemente des Zielsatzes enthalten, die übereinstimmen müssen.
Ich habe meine Optionen untersucht und die Schnittmenge in Redis scheint, als wäre es ideal. Jedoch hat mein Trolling durch das Internet nicht offenbart, wie viel Ram benötigt würde, um eine Million Tagsets zu halten. Ich weiß, dass die Kreuzung blitzschnell sein würde, aber das ist eine machbare Lösung mit Redis.
Ich realisiere, das ist rohe Gewalt und ineffizient. Ich wollte diese Frage auch als Mittel nutzen, um Vorschläge dafür zu bekommen, wie diese Art von Problem in der Vergangenheit gehandhabt wurde. Wie bereits erwähnt, sind die Tags in einem Baum gespeichert. Ich habe angefangen, Mongodb als mögliche Lösung zu betrachten.
Thanks again
ist dies eine typische Speicher/Speichernutzung vs. Dilemma Verarbeitungszeit, ist es nicht? Sie können den resultierenden Tag-Satz für Tag-Aktualisierungen berechnen, speichern und schneller bereitstellen oder eine dynamische Berechnung durchführen, wenn die Daten wirklich benötigt werden. Sie können erwägen, die erste Option zu wählen, wenn Tag-Updates nicht so gebräuchlich sind oder über eine Cluster-Datenbank-Option nachdenken (zum Beispiel Clustrix) –
Vielen Dank. Ich hätte es spezifizieren sollen. Wir rechnen derzeit vor, aber wenn wir als Unternehmen erfolgreich sind, könnten wir eine Milliarde potenzielle Kunden sehen. Ich werde Clusterix – MFD3000
Mongodb bietet nichts für die Schnittmenge. Und wenn Sie etwas RAM (wie 100+ GB) bekommen, können Sie eine ganze Reihe von Schlüsseln in redis speichern :) –