2016-06-03 6 views
0

Ich weiß, es gab Lösungen für die Suche auf der Oberseite von Cassandra, zum Beispiel cassandra-lucene-index. Ich finde hier keine Lösung, ich bin nur neugierig auf einige Implementierungen.Implementieren einer Suchschicht über Cassandra, mit Daten als Blob gespeichert

Ich habe zwei Projekte gefunden: KairosDB (eine Zeitreihendatenbank auf Cassandra zur Überwachung von Daten) und Infinispan (ein verteilter Cache, der Cassandra als Cache-Speicher verwenden kann), die beide eine eigene Suchschicht implementieren. Sie haben ähnliche Cassandra Schemata, die Daten als BLOB-Speicher zum Beispiel Infinispan:

CREATE KEYSPACE WENN NICHT VORHANDEN Infinispan MIT Replikation = { 'Klasse': 'SimpleStrategy', 'replication_factor': 1}; CREATE TABLE Infinispan.InfinispanEntries (Schlüsselblob PRIMARY KEY, Wertblob, Metadatenblob);

Ich schaute in KairosDB Code, es sucht durch Lesen einer Reihe von Daten dann tun In-Memory-Filterung durch einige Tags. Ich habe noch nicht in Infinispan untersucht.

Ich frage mich, ob es einen Algorithmus nur für diese Art von Sache gibt? Das heißt, Speichern von Daten als Binärdatei dann eine Suche durch Filtern?

+0

War diese Frage beantwortet? –

+0

@ K.Boy danke für die Antwort. Allerdings ist der von doanduyhai gepostete Artikel meiner Frage gut erläutert. –

Antwort

1

Das heißt, Speichern von Daten als Binärdatei dann eine Suche durch Filtern?

Wenn Sie Ihre Daten als Blob speichern, wie können Sie sie indizieren?

Also ich finde hier keine Lösung, ich bin nur neugierig auf einige Implementierungen.

einfach den Quellcode Stratio Lucene Index lesen oder SASI index dann

0

Mein Ruf ist nicht hoch genug, um einen Kommentar zu schreiben, und ich glaube nicht, das eine Antwort rechtfertigen, aber es gibt Solr integriert mit Cassandra. Es ist ziemlich cool und erlaubt Ihnen, eine Suche nach Cassandra-Daten durchzuführen.

Eine Abfrage wie

SELECT name FROM keyspace.table WHERE solr_query='name:euler name:jane -name:john'; 

Hinweis aussehen könnte: Die Solr-Abfrage wird in der Where-Klausel setzen.

Die Frage scheint ein bisschen breit, aber das ist eine andere Option für Sie. Es nutzt die Lesegeschwindigkeit von Solr, die Schreibgeschwindigkeit von Cassandra und den Overhead und die Lernkurve von beiden.

https://docs.datastax.com/en/datastax_enterprise/4.0/datastax_enterprise/srch/srchIntro.html

https://docs.datastax.com/en/datastax_enterprise/4.6/datastax_enterprise/srch/srchCql.html

Verwandte Themen