solr lucene indexing cassandra solandra

Cassandra o SOLR? ¿Qué le da un mejor rendimiento a las consultas de lectura frond end?



lucene indexing (4)

También puedes echarle un vistazo a Datastax
Hay edición de Community y Enterprise, aunque creo que Solr no está incluido en la edición de comunidad :(

Solandra ya no se está desarrollando activamente, el autor se mudó a Datastax y continuó su trabajo allí.

En mi humilde opinión, Cloudera es para Hadoop, eso es Datastax para Cassandra.

Mi equipo me ha pedido que elija entre Cassandra y SOLR para una respuesta más rápida @ frond end questions. Les dije que Cassandra es una cosa NOSQL db mientras que SOLR está indexando algo. Pero luego dicen que podemos empujar nuestro DB completo a SOLR (como usar SOLR como db) o simplemente podemos usar Cassandra con SOLR. Todo confundido

La cantidad de datos que estamos tratando es como 1 mil millones repartidos en 4 tablas de MySQL (recuperadas mediante combinaciones) y solo recibimos consultas leídas del sitio web. No necesitamos BÚSQUEDA DE TEXTO COMPLETO

Creo que algo en lo que SOLR no se puede pegar fácilmente es su función de búsqueda de texto completo, pero luego no la necesitamos en nuestro caso.

Entonces, ¿qué más SOLR tiene que Cassandra no puede proporcionar y qué tiene Cassandra que pueda reemplazar a SOLR en nuestro caso particular?

En otras palabras, ¿quién va a funcionar mejor? Cassandra sola? SOLR como un DB solo? ¿O ambos juntos? Y lo más importante, ¿por qué y por qué no?

Es realmente importante para mí hacer una copia de seguridad de mi elección con un punto fuerte como si uno fuera mejor que el otro durante mi próxima reunión del equipo.

Y gracias de antemano.

EDITAR:

  • SOLANDRA no es una opción porque no es tan maduro y no más mantenido, supongo
  • DataStax no es una opción porque la función SOLR se proporciona solo en Enterprise Edition

Si no necesita las capacidades de búsqueda de texto completo de Solr, hay muy pocas razones para elegir Cassandra, en mi opinión.

(Divulgación: yo trabajo para DataStax).

Operativamente, manejar un clúster Cassandra será mucho más simple debido a la arquitectura basada en Dynamo. Sharding Solr puede ser bastante doloroso, que es una de las principales razones por las que en DataStax creamos búsquedas en DSE; es algo que mucha gente quiere evitar. No estoy intentando venderte en DSE, solo señalo el lado negativo de Solr.

Por ejemplo, cuando desee cambiar la cantidad de fragmentos con Solr, debe crear y generar un índice completamente nuevo. Debe preocuparse por el punto muerto con un clúster de Solr. Hay varias otras limitaciones: http://wiki.apache.org/solr/DistributedSearch

No ha dicho mucho sobre qué tipo de consultas necesita para poder respaldar. Agregar esa información te daría mejores respuestas.


  • Cassandra es un almacén de datos NoSQL y fue diseñado para cuidar grandes cantidades de datos. Tera bytes y más. Definitivamente fue diseñado para funcionar.
  • Recuerde que las BD de NoSQL o los almacenes de datos tienen capacidades limitadas cuando se trata de consultas. No tendrán consultas JOIN. Como esto matará a un sistema. ¡Piénsalo!
  • Definitivamente sería capaz de leer / escribir bastante rápido y algunos de los datos pueden ser consultados.
  • Esquema flexible, puede insertar datos dispersos en él. Es decir, donde en DB generales empuja NULL para una entrada vacía, aquí no la empuja :) ¡No es necesario!
  • Sin búsqueda de texto completo.

Aquí es donde entra el gran PERO.

  • Habiendo dicho lo anterior, SOLR en el otro extremo es el motor de búsqueda de texto completo TF-IDF. Aunque puedes usarlo para tu DB.
  • Esquema flexible. Solo marque los campos que no son obligatorios.
  • Solr ayudará a realizar token, analizar e indexar los datos rápidamente. Tendrá una excelente respuesta. Devuelve XML y puede analizar el XML para crear datos representables.
  • Las consultas de lectura son rápidas y quiero decir realmente rápido. Pero no tengo comparación entre Cassandra y SOLR para compartir.

Y al final, ya que quiere CASSANDRA y SOLR juntos. Echa un vistazo a SOLANDRA (antiguo Lucandra)


Las funciones de indexación de Solrs superarían a Cassandra en las lecturas. Indexará las consultas populares, por lo que las más frecuentes serán más rápidas. Fue construido para lecturas, cassandra está construido para almacenar. Pero como ya se dijo, Cassandra escalará increíblemente si es necesario. ¿Por qué no referencia de un solo nodo, cadenas de texto aleatorias de 1 mill, promedio de consultas de 1mill? Cualquiera de ellos realizará mysql y mucho menos mysql join questions. Solr PS pronto apoyará se une Creo que solr 4 .....