Frage

Ich hoffe, es ist jemand, den mir Modell vorschlagen, ein geeignetes Daten helfen kann zu NoSQL-Datenbank Apache Cassandra realisiert. Mehr von als ich brauche es an der Arbeit unter hohen Lasten und große Datenmengen.

Vereinfacht Ich habe 3 Arten von Objekten:

  • Produkt
  • Tag
  • ProductTag

Produkt:

key - string key
name - string
.... - some other fields

Tag:

key - string key
name - unique tag words

ProductTag:

product_key - foreign key referring to product
tag_key  - foreign key referring to tag
rating - this is rating of tag for this product

kann jedes Produkt hat 0 oder viele Tags. Tag kann auf 1 oder viele Produkte zugeordnet werden. Mittel Beziehung zwischen den Produkten und Marken ist many-to-many in Bezug auf relationale Datenbanken.

Wert von „Bewertung“ aktualisiert „sehr“ häufig.

Ich brauche die folgenden Abfragen ausgeführt werden soll

  • Objekte auswählen mit den Tasten
  • Wählen Sie Tags für Produkt nach Bewertung geordnet
  • Wählen Sie Produkte nach Tag, um nach Bewertung
  • Update Bewertung von PRODUCT_KEY und tag_key

Das wichtigste ist, diese Abfragen sehr schnell auf große Datenmengen zu machen, dass Bewertung unter Berücksichtigung ständig aktualisiert wird.

War es hilfreich?

Lösung

So etwas wie folgt aus:

Products : { // Column Family  
    productA : { //Row key  
        name: 'The name of the product' // column
        price: 33.55 // column
        tags : 'fun, toy' // column
    }  
}

ProductTag : { // Column Family
    fun : { //Row key
        timeuuid_1 : productA // column
        timeuuid_2 : productB // column
    },
    toy : { //Row key
        timeuuid_3 : productA // column
    }
}

UPDATE
Sehen Sie sich diese Modell zu speichern größte Punktzahl

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top