Wie kann ich filter über die Daten in Cassandra?

Ich habe mit mySQL eine app für einige Zeit, und je mehr Daten ich sammle, desto langsamer wird es. Also ich habe auf der Suche in NOSQL-Optionen. Eines der Dinge, die ich in mySQL ist eine Ansicht aus einer Reihe von joins. Die app zeigt alle wichtigen Infos in einem raster, und der Benutzer kann auswählen von Bereichen, tun, suchen, etc. Auf diese Daten einstellen. Standard-Abfrage-Zeug.

Blick auf Kassandra, ist alles schon sortiert, basierend auf den Parametern, die ich in meinem storage-conf.xml. Also ich hätte die eine bestimmte Zeichenfolge als mein Schlüssel in der SuperColumn, und halten Sie einen Haufen von Daten in den Spalten darunter. Aber ich kann nur Sortieren nach einer Spalte, und ich kann das nicht real Suche in den Spalten ohne ziehen alle SuperColumns, und die Schleife durch die Daten, richtig?

Ich will nicht zu duplizieren, Daten über verschiedene ColumnFamilies, so möchte ich sicherstellen, dass Cassandra ist angemessen für mich. In Facebook, Digg, Twitter, Sie haben viel von der Suche Funktionen, also vielleicht bin ich einfach nicht sehen, die Lösung.

Gibt es eine Möglichkeit mit Cassandra bei mir zu suchen oder filter, die bestimmte Datenwerte in einem SuperColumn, oder dessen zugehörigen Spalte(N)? Wenn nicht, ist es eine andere NOSQL-option?

Im Beispiel unten, es scheint, ich kann nur Abfrage für phatduckk, friend1,John, etc. Aber was, wenn ich finden wollte, jemand, der in der ColumnFamily, lebte in der Stadt == "Beverley Hills"? Kann es getan werden, ohne wieder alle Rekorde? Wenn dem so ist, könnte ich eine Suche für die Stadt == "Beverley Hills" UND Status == "CA"? Es scheint nicht, wie ich tun kann, entweder, aber ich wollen, stellen Sie sicher, und sehen, was meine Optionen sind.

AddressBook = { //this is a ColumnFamily of type Super
  phatduckk: {    //this is the key to this row inside the Super CF
    friend1: {street: "8th street", zip: "90210", city: "Beverley Hills", state: "CA"},
    John: {street: "Howard street", zip: "94404", city: "FC", state: "CA"},
    Kim: {street: "X street", zip: "87876", city: "Balls", state: "VA"},
    Tod: {street: "Jerry street", zip: "54556", city: "Cartoon", state: "CO"},
    Bob: {street: "Q Blvd", zip: "24252", city: "Nowhere", state: "MN"},
  }, //end row
  ieure: {     
    joey: {street: "A ave", zip: "55485", city: "Hell", state: "NV"},
    William: {street: "Armpit Dr", zip: "93301", city: "Bakersfield", state: "CA"},
  },

}

InformationsquelleAutor Nathan | 2010-09-23
Schreibe einen Kommentar