mongodb - steps - nosql databases example
Datos espaciales con mongodb o cassandra (3)
Prueba Cassandra + Solr. Esto podría ser útil: http://digbigdata.com/geospatial-search-cassandra-datastax-enterprise/
Saludos, Goutham Kumar
Estoy considerando una Prueba de concepto para manejar grandes volúmenes de datos como> 10 G que requieren al menos más de 200 escrituras por segundo y más de 50 lecturas por segundo de datos espaciales relacionados. Este es un sistema en crecimiento también. Actualmente estoy considerando mover estos datos de gran volumen a un tipo de tabla grande de NoSql por razones de rendimiento.
He considerado y he mirado más de cerca a MongoDB y a Casandra. En lo que respecta a mi lectura,
Mongodb: - parece tener un problema de bloqueo de escritor - una de las publicaciones en stackoverflow sugirió este db si no hay necesidad de múltiples servidores - índices guardados en la memoria. Por lo tanto, cuanto mayor sea el crecimiento del índice, se dice que el rendimiento se deteriorará; la ventaja es que Mongodb tiene soporte directo para datos espaciales e indexación junto con características como encontrar ubicaciones cercanas, etc., - veo esta publicación Cassandra o MongoDB para nuestra aplicación basada en la ubicación que sugiere mongodb como la mejor opción
Cassandra:
- Parece ser el mejor de los db relacionados. Parece tener una excelente capacidad de escritura y lectura. No admite de forma nativa la indexación espacial, pero puede ampliarse mediante geoashing.
De hecho, mi corazón se va de mongodb por su buena documentación y su apoyo directo a los datos espaciales. ¿Algún cuerpo ha tenido una mala experiencia al usar mongodb para sistemas tan grandes? De hecho, veo muchos mensajes en mongodb iostat para el rendimiento.
Si mongodb no es adecuado, ¿alguien puede dar algunos consejos sobre geohashing usando cassandra? Vi el enlace http://code.google.com/p/geospatialweb/ para crear los hashes. Pero hay preguntas sobre cómo consultar, etc.
Me doy cuenta de que esta es una pregunta anterior y sé que no responde directamente su pregunta, pero dependiendo de sus consultas, Cassandra puede no ser la mejor opción, y hacer que sus consultas funcionen con la indexación en MongoDB también puede ser problemático ( en mi propia experiencia). Mongo tiene una ligera ventaja sobre Cassandra para datos geograficos pesados y consultas en el mismo lugar.
También le sugiero que considere buscar en ElasticSearch, que dependiendo de la forma de su información y de los tipos de consultas que realice probablemente sea la mejor solución. Sin embargo, cuando publicaste tu pregunta, era menos una opción que hoy.
También usamos Cassandra en este momento y buscamos una solución de índice espacial. Acompañamos a Lucene para proporcionar texto completo y búsqueda atribuida, y junto con esto viene el soporte para la indexación espartial. Quizás quieras verificar esto también.
Nuestra implementación actual parece aglutinar la información en base a un árbol simple (basado en la cuadrícula) y cada fragmento es un índice Lucene y una vez que crece en un cierto tamaño, el índice se divide por x o y. Y dado que dicho fragmento tiene una representación binaria (la posición en la cuadrícula consta de dos bits, el siguiente nivel, los siguientes 2 bits, etc.), la posición emite una búsqueda y será respondida por cualquier código de sombre prefijo la posición / resolución de la cuadrícula . El sistema simple funciona bien hasta el momento, pero no se usa productivamente en este momento.