Ingeniería

Búsqueda directa en S3 con el nuevo nivel congelado

Estamos encantados por anunciar la vista previa técnica del nivel congelado en la versión 7.12, te permitirá desacoplar por completo el procesamiento del almacenamiento y buscar directamente en los datos que se encuentran en almacenes de objetos como AWS S3, Microsoft Azure Storage y Google Cloud Storage. La próxima meta importante en nuestro recorrido de niveles de datos: el nivel congelado amplía en gran medida el alcance de los datos mediante el almacenamiento de grandes cantidades de datos a largo plazo por un costo mucho menor y los mantiene completamente activos y buscables. 

Soportamos desde hace mucho tiempo varios niveles de datos para la gestión de ciclo de vida de los datos: caliente para alta velocidad y tibio para un menor costo y rendimiento. Ambos aprovechan el hardware local para almacenar los datos primarios y copias redundantes. Más recientemente, presentamos el nivel frío, que te permite almacenar hasta el doble de datos en la misma cantidad de hardware en comparación con el nivel tibio gracias a que no es necesario almacenar las copias redundantes de forma local. Si bien los datos primarios siguen siendo locales para un rendimiento óptimo, los índices del nivel frío tienen el respaldo de snapshots buscables almacenados en tu almacén de objetos para redundancia. 

Price_Performance.PNG

El nivel congelado va un paso más allá y elimina la necesidad de almacenar cualquier dato de forma local. En cambio, usa snapshots buscables para buscar directamente en los datos almacenados en el almacén de objetos sin necesidad de rehidratarlos primero. Una memoria caché local almacena los datos consultados recientemente para un rendimiento óptimo en las búsquedas reiteradas. Como resultado, los costos de almacenamiento disminuyen considerablemente, hasta un 90 % en comparación con los niveles caliente o tibio, y hasta un 80 % en comparación con el nivel frío. El ciclo de vida completamente automatizado de tus datos ahora está completo: de caliente a tibio, frío y después congelado, y al mismo tiempo te aseguras de tener el acceso y el rendimiento de búsqueda que necesitas al menor costo de almacenamiento posible.

Nunca será demasiado para los datos buenos

Ya sea para observabilidad, seguridad o búsqueda empresarial, tus datos de TI pueden seguir aumentando a una tasa exponencial. Es habitual que las organizaciones ingesten muchos terabytes al día y busquen en ellos. Estos datos son fundamentales no solo para el éxito cotidiano, sino para referencia histórica. La capacidad de echar una mirada retrospectiva ilimitada para investigaciones de seguridad, de examinar años de datos de APM para identificar tendencias o la detección ocasional para cumplir con la normativa son todos casos de uso clave para mantener los datos cerca y accesibles durante períodos más prolongados. Satisfacer estos casos de uso, sin embargo, puede volverse muy costoso rápidamente si no tienes las herramientas o tecnología adecuadas para almacenar los datos y asegurarte de que sean buscables.

Allí es donde entra en juego el nivel congelado. Abre la puerta a todos estos casos de uso, hace que ahora sea más económico almacenar años de datos a un costo similar al de solo archivar los datos en S3 u otro almacén de objetos. La diferencia clave es que con el nivel congelado los datos se mantienen completamente buscables en Elasticsearch, y todos los dashboards de Kibana que extraen datos del nivel congelado funcionarán sin más. Tener que encontrar y extraer los datos manualmente del archivo, restaurarlos y luego hacer que estén disponibles para la búsqueda es cosa del pasado. Lo mismo ocurre con el balanceo de compensaciones respecto a qué datos retener y cuáles eliminar. Ahora todo se vuelve simple y sin problemas con el nivel congelado.

¿Cómo funciona?

Este nivel congelado aprovecha los snapshots buscables para desacoplar el procesamiento del almacenamiento. A medida que los datos migran del nivel tibio o frío al congelado según tu política de gestión de ciclo de vida del índice (ILM), tus índices en nodos locales se migran a S3 o el almacén de objetos que prefieras. El nivel frío migra los índices al almacén de objetos, pero mantiene una sola copia completa de los datos en nodos locales para asegurar búsquedas rápidas y consistentes. El nivel congelado, en cambio, elimina la copia local por completo y hace la búsqueda directamente en los datos que se encuentran en el almacén de objetos. Crea una memoria caché local de datos consultados recientemente para búsquedas reiteradas más rápidas, pero el tamaño de la memoria caché solo necesita ser de una parte del tamaño total de los datos almacenados en el nivel congelado.

Con un tamaño típico de memoria caché local del 10 %, solo necesitas unos pocos nodos de nivel local para manejar varios cientos de terabytes de datos en el nivel congelado. Esta es una comparación simple: si tu nodo de nivel tibio típico con 64 GB de RAM maneja 10 TB, un nodo de nivel frío podrá manejar aproximadamente el doble (20 TB) y un nodo de nivel congelado llegará a 100 TB. Esto se traduce en una proporción de RAM a almacenamiento de 1:1500, y esta es solo una estimación conservadora.

Precio frente a rendimiento

¿Cuál es la compensación? Para sorpresa de nadie, el rendimiento. Por eso ofrecemos los distintos niveles de datos, para que tengas la flexibilidad de definir las políticas de ILM adecuadas para tu organización a fin de determinar cuántos datos deben residir en los niveles caliente, tibio, frío y congelado, y por cuánto tiempo. La búsqueda en los datos del nivel congelado debería ser ocasional, y no necesita ser la más rápida de todos los niveles.

También avanzamos mucho en la optimización de la mejor experiencia posible del usuario en las búsquedas más lentas. Desarrollamos la búsqueda asíncrona en Elasticsearch, que nos permite proporcionar una experiencia natural en Kibana gracias a que puedes representar dashboards en segundo plano y recuperarlos más adelante. También agregamos una serie de mejoras en la eficiencia de búsqueda para acelerar las búsquedas lentas, como la omisión de índices que no coinciden con el filtrado previo, el cierre anticipado de búsquedas cuando resulta posible, el uso de block-max WAND para la búsqueda de texto, etcétera. 

Como todos los datos se indexan de forma predeterminada en Elasticsearch, buscar datos en el nivel congelado es particularmente eficiente porque podemos aprovechar las estructuras concisas de los índices para mostrar resultados de grandes sets de datos con mucha rapidez sin tener que analizar los datos en sí. Además, algo de lo más maravilloso que logramos con los snapshots buscables es usar nuestra vasta experiencia con Lucene para desplegar solo los subconjuntos del índice que realmente se necesitan para responder una búsqueda. 

En conjunto, todas estas optimizaciones aseguran la mejor y más rápida experiencia posible al buscar en el nivel congelado. Junto con una UI de ILM recientemente rediseñada para facilitar la creación y configuración de las políticas de ILM, ahora tienes todas las herramientas que necesitas para ponerte en marcha de forma rápida y efectiva con el conjunto completo de niveles de datos de Elastic.

ILM_policy_summary.gif

Almacenamiento público o privado, tu decisión

En Elastic nuestro enfoque siempre ha sido ofrecerte la mayor flexibilidad posible con la menor cantidad de interrupciones. Además del soporte oficial que ofrecemos para AWS S3, Azure Cloud Storage, Google Cloud Storage y MinIO, ahora lanzamos un kit de prueba de repositorio para evaluar y validar cualquier almacén de objetos compatible con S3 para trabajar con snapshots buscables, el nivel frío y el nivel congelado.

Disponible como API de consumo fácil, el kit te permite ejecutar una serie de pruebas rápidas en tu propio almacén de objetos compatibles con S3. Si se completan correctamente, puedes usarlo para almacenar y buscar tus snapshots, y habilitarlo como almacén de objetos de los niveles frío y congelado. Dado que es un kit de prueba de validación, cabe destacar que no significa que brindamos soporte oficial para cualquier almacenamiento compatible con S3 que logre la validación. Si se encuentra algún problema, debe poder reproducirse en dispositivos S3 soportados para que podamos solucionarlo.

Línea de tiempo

El nivel congelado se presenta como vista previa técnica en Elastic 7.12. Los niveles caliente, tibio y frío ya están a disposición del público en general, al igual que la capacidad de snapshots buscables subyacente que soporta los niveles frío y congelado. El nivel congelado también está disponible en Elastic Cloud a partir de la versión 7.12, próximamente con un control deslizante más simple y listo para usar. 

TIme_Line.PNG

Comienza hoy mismo

Para comenzar con el nivel congelado, activa un cluster en Elastic Cloud o instala la versión más reciente del Elastic Stack. ¿Ya tienes Elasticsearch en ejecución? Solo actualiza los clusters a la versión 7.12 y pruébalo. Si quieres probarlo en Elastic Cloud, los detalles están disponibles en la documentación de Elastic Cloud. Estos pasos desaparecerán una vez que el control deslizante del nivel congelado esté disponible. Si deseas conocer más sobre el nivel congelado, puedes leer el blog de snapshots buscables, la documentación del producto de snapshots buscables o la documentación del producto de niveles de datos.


El lanzamiento y la sincronización de cualquier característica o funcionalidad descrita en este documento quedan a la entera discreción de Elastic. Cualquier característica o funcionalidad que no esté disponible actualmente puede no entregarse a tiempo o no entregarse en absoluto.