Frage

Ich möchte HBase als Speicher verwenden, wo ich in ein paar Millionen Einträge des Formats {document => {term => weight}} schieben kann z.B. „Einfügen Begriff X in Y-Dokument mit dem Gewicht Z“ und dann einen Befehl wie „Wählen Sie die Top-1000 Begriffe für dieses Dokument“ oder „Wählen Sie die Top-1000-Laufzeit für jedes Dokument“. Dies funktioniert in meiner aktuellen MySQL-Implementierung aber vielleicht die Domain ist besser geeignet, um HBase. Ich nehme zur Kenntnis, dass HBase und BigTable für die Volltextindizierung verwendet, die eine ähnliche Problem-Domäne ist.

Sie können sagen, dass ich nicht mehr als ein paar Seiten auf HBase lesen getan haben, aber ich hoffe, dass Sie den Kern meiner Frage verstehen. Es ist im Zusammenhang dieser Frage .

Mögliche Barrieren könnten gehören HBase keine Abfragen mit dem Äquivalent einer LIMIT Klausel erlaubt. Da ich Gewichts abfragen wollen, ich möchte {weight => term} assoziieren, die zwei Begriffe mit dem gleichen Gewicht problematisch wäre (Ich gehe davon aus, dass HBase erlaubt nur eindeutige Schlüssel). Alternativ würde ich eine Sammlung von Begriffen für ein bestimmtes Gewicht speichern müssen, aber dies würde meine Fähigkeit begrenzen, um genau die Anzahl der zurückgegebenen Bedingungen zu begrenzen.

War es hilfreich?

Lösung

Einfache Antwort ja.

Komplexere Antwort, jetzt heute diese „kein SQL“ Datenspeicher des jeweils ihre eigenen Programmierer-Schnittstelle implementieren und wie die „no sql“ impliziert sie nicht basierten SQL werden. Also für einige Codierung hergestellt werden, nichts von seiner schwierigen though. Meistens diese Datenspeicher sind nur speichert Paar Name Wert, bekam bei über REST oder SOAP (HBase hat auch ein Konzept der Spalte Familien). Was sie sich eignen Richtung ist jedoch Map Reduce, ein sehr interessantes Gebiet der Abfrage und gut im Wert von bis zu lesen.

scroll top