Module 4 of 4 · Text
Ventajas - Desventajas
Ventajas
Se podrían enumerar varias ventajas que brinda esta herramienta. Algunas de las más destacables son las siguientes:
- Al estar desarrollado en Java, es compatible en todas las plataformas donde Java lo sea.
- Tiene una gran velocidad de respuesta.
- Es distribuido, lo que lo hace fácilmente escalable y adaptable a las distintas situaciones.
- Simple realiza respaldos de los datos almacenados.
- Utiliza objetos JSON como respuesta, por lo que es fácil de invocar desde varios lenguajes de programación.
Desventajas
Como todo, ElasticSearch posee algunas desventajas:
- Sólo soporta como tipos de respuesta JSON, lo que lo limita al no soportar otros lenguajes, como CSV ó XML.
- Algunas situaciones pueden generar casos de split-brain.
Resumen
Elasticsearch puede ser usado para buscar todo tipo de documentos. La búsqueda es escalable y casi en tiempo real, soportando multi-tenencia.57 “Es distribuido, haciendo que los índices se puedan dividir en fragmentos y cada uno teniendo cero o más réplicas. Cada nodo alberga uno o más fragmentos, actuando como un coordinador para delegar operaciones a los fragmentos correctos. El rebalanceo y ruteo se realizan automáticamente […]”.
Utiliza Lucene e intenta hacer todas sus funciones disponibles a través de JSON y Java API. Soporta facetado y percolación, que puede ser útil para notificar si nuevos documentos coinciden con consultas registradas.
Otra funcionalidad llamada "gateway" maneja la persistencia a largo plazo del índice;59 por ejemplo, se puede recuperar un índice del gateway en caso de una caída del servidor. Soporta peticiones GET en tiempo real y esto lo hace válido para una solución NoSQL, pero carece de transacciones distribuidas.