¬ŅEn qu√© hardware analizar un enorme eje de informaci√≥n?

Somos Big Data en MTS y esta es nuestra primera publicación. Hoy hablaremos sobre qué tecnologías nos permiten almacenar y procesar grandes datos para que siempre haya suficientes recursos para el análisis, y el costo de la compra de hierro no llegue a distancias muy altas.

Pensaron en crear el centro de Big Data en MTS en 2014: era necesario escalar el almacenamiento anal√≠tico cl√°sico y los informes de BI sobre √©l. En ese momento, el motor de procesamiento de datos y BI era SAS, sucedi√≥ hist√≥ricamente. Y aunque las necesidades comerciales de almacenamiento se cerraron, con el tiempo, la funcionalidad de BI y an√°lisis ad-hoc en la parte superior del almacenamiento anal√≠tico creci√≥ tanto que fue necesario resolver el problema del aumento de la productividad, dado que a lo largo de los a√Īos el n√ļmero de usuarios aument√≥ diez veces y continu√≥ creciendo.

Como resultado del concurso, el sistema Teradata MPP apareció en MTS, cubriendo las necesidades de las telecomunicaciones en ese momento. Este fue el impulso para probar algo más popular y de código abierto.

imagen

En la foto, el equipo de Big Data MTS en la nueva oficina de Descartes en Mosc√ļ

El primer grupo era de 7 nodos. Esto fue suficiente para probar varias hip√≥tesis de negocios y rellenar los primeros golpes. Los esfuerzos no fueron en vano: Big Data ha existido en MTS durante tres a√Īos y ahora el an√°lisis de datos est√° involucrado en casi todas las √°reas funcionales. El equipo creci√≥ de tres a doscientos.

Queríamos tener procesos de desarrollo fáciles, probar hipótesis rápidamente. Para hacer esto, necesita tres cosas: un equipo con pensamiento de inicio, procesos de desarrollo livianos e infraestructura desarrollada. Hay muchos lugares donde puede leer y escuchar sobre el primero y el segundo, pero vale la pena contar sobre la infraestructura desarrollada por separado, porque las fuentes de datos y legado que están en las telecomunicaciones son importantes aquí. Una infraestructura de datos desarrollada no solo está construyendo un lago de datos, una capa de datos detallada y una capa de escaparate. También incluye herramientas e interfaces de acceso a datos, aislamiento de recursos informáticos para productos y comandos, mecanismos para entregar datos a los consumidores, tanto en tiempo real como en modo por lotes. Y mucho, mucho más.

Todo este trabajo se ha destacado en un √°rea separada, que se dedica al desarrollo de utilidades y herramientas de datos. Esta √°rea se llama la plataforma de Big Data IT.

¬ŅDe d√≥nde viene Big Data en MTS?


MTS tiene muchas fuentes de datos. Una de las principales son las estaciones base; servimos a la base de suscriptores de más de 78 millones de suscriptores en Rusia. También tenemos muchos servicios que no están relacionados con las telecomunicaciones y le permiten recibir datos más versátiles (comercio electrónico, integración de sistemas, Internet de las cosas, servicios en la nube, etc., todos los que no son de telecomunicaciones ya generan alrededor del 20% de todos los ingresos).

Brevemente, nuestra arquitectura se puede representar como un gr√°fico:

imagen

Como puede ver en el gráfico, Datasources puede entregar información en tiempo real. Usamos la capa de transmisión: podemos procesar información en tiempo real, extraer de ella algunos eventos que nos interesan y desarrollar análisis al respecto. Para proporcionar dicho procesamiento de eventos, hemos desarrollado una implementación bastante estándar (desde el punto de vista de la arquitectura) usando Apache Kafka, Apache Spark y código en el lenguaje Scala. La información obtenida como resultado de dicho análisis se puede consumir tanto dentro de MTS como en el futuro fuera: las empresas a menudo están interesadas en el hecho de ciertas acciones de los suscriptores.

Tambi√©n hay un modo de cargar datos en lotes: capa de lotes. Por lo general, la descarga se realiza una vez por hora en un horario, usamos Apache Airflow como el programador, y los procesos de descarga por lotes se implementan en Python. En este caso, se carga una cantidad significativamente mayor de datos en Data Lake, que es necesario para llenar Big Data con datos hist√≥ricos, sobre los cuales se deben capacitar nuestros modelos de Data Science. Como resultado, se forma un perfil de suscriptor en el contexto hist√≥rico basado en datos sobre la actividad de su red. Esto nos permite obtener estad√≠sticas predictivas y construir modelos de comportamiento humano, incluso crear un retrato psicol√≥gico de √©l: tenemos un producto tan separado. Esta informaci√≥n es muy √ļtil, por ejemplo, para empresas de marketing.

También tenemos una gran cantidad de datos que componen el repositorio clásico. Es decir, agregamos información sobre varios eventos, tanto de usuario como de red. Todos estos datos anónimos también ayudan a predecir con mayor precisión los intereses y eventos de los usuarios que son importantes para la empresa, por ejemplo, para predecir posibles fallas de equipos y solucionar problemas a tiempo.

Hadoop


Si observa el pasado y recuerda cómo aparecieron los grandes datos en general, debe tenerse en cuenta que, básicamente, la acumulación de datos se realizó con fines de marketing. No existe una definición tan clara de lo que son los grandes datos: son gigabytes, terabytes, petabytes. Imposible dibujar una línea. Para algunos, el big data es decenas de gigabytes, para otros, petabytes.

Dio la casualidad de que con el tiempo se han acumulado muchos datos en todo el mundo. Y para llevar a cabo alg√ļn tipo de an√°lisis m√°s o menos significativo de estos datos, los dep√≥sitos habituales que se han estado desarrollando desde los a√Īos 70 del siglo pasado ya no eran suficientes. Cuando comenz√≥ el flujo de informaci√≥n en los a√Īos 2000, 10 y cuando hab√≠a muchos dispositivos que ten√≠an acceso a Internet, cuando apareci√≥ el Internet de las cosas, estos repositorios simplemente no pod√≠an hacer frente conceptualmente. La base de estos repositorios era la teor√≠a relacional. Es decir, hab√≠a relaciones de diferentes formas que interactuaban entre s√≠. Hab√≠a un sistema para describir c√≥mo construir y dise√Īar repositorios.

Cuando las viejas tecnologías fallan, aparecen nuevas. En el mundo moderno, el problema del análisis de big data se resuelve de dos maneras:

Creando su propio marco que le permite procesar grandes cantidades de información. Por lo general, esta es una aplicación distribuida de muchos cientos de miles de servidores, como Google, Yandex, que han creado sus propias bases de datos distribuidas que le permiten trabajar con tal volumen de información.

El desarrollo de la tecnología Hadoop es un marco informático distribuido, un sistema de archivos distribuido que puede almacenar y procesar una gran cantidad de información. Las herramientas de Data Science son principalmente compatibles con Hadoop y esta compatibilidad abre muchas posibilidades para el análisis avanzado de datos. Muchas empresas, incluidos nosotros, se están moviendo hacia el ecosistema de código abierto de Hadoop.

El grupo central de Hadoop se encuentra en Nizhny Novgorod. Acumula informaci√≥n de casi todas las regiones del pa√≠s. En t√©rminos de volumen, ahora se pueden descargar all√≠ alrededor de 8,5 petabytes de datos. Tambi√©n en Mosc√ļ, tenemos grupos separados de RND donde realizamos experimentos.

Dado que tenemos alrededor de un millar de servidores en diferentes regiones, donde llevamos a cabo an√°lisis, adem√°s de planificar la expansi√≥n, surge la cuesti√≥n de la elecci√≥n correcta de equipos para sistemas anal√≠ticos distribuidos. Puede comprar equipo que sea suficiente para el almacenamiento de datos, pero que resulta inadecuado para el an√°lisis, simplemente porque no habr√° suficientes recursos, la cantidad de n√ļcleos de CPU y RAM libre en los nodos. Es importante encontrar un equilibrio para obtener buenas oportunidades de an√°lisis y costos de equipo no muy altos.

Intel nos ofreció diferentes opciones sobre cómo optimizar el trabajo con un sistema distribuido para que se puedan obtener análisis en nuestro volumen de datos por dinero razonable. Intel avanza la tecnología de unidad de estado sólido SSD NAND Es cientos de veces más rápido que un HDD normal. Lo que es bueno para nosotros: SSD, especialmente con la interfaz NVMe, proporciona un acceso lo suficientemente rápido a los datos.

Adem√°s, Intel lanz√≥ los SSD del servidor Intel Optane SSD basados ‚Äč‚Äčen el nuevo tipo de memoria no vol√°til Intel 3D XPoint. Enfrentan cargas mixtas intensivas en el sistema de almacenamiento y tienen un recurso m√°s largo que los SSD NAND normales. ¬ŅPor qu√© es bueno para nosotros ?: Intel Optane SSD le permite trabajar de manera estable bajo cargas pesadas con baja latencia. Inicialmente vimos el NAND SSD como un reemplazo para los discos duros tradicionales, porque tenemos una gran cantidad de datos que se mueven entre el disco duro y la RAM, y necesit√°bamos optimizar estos procesos.

Primera prueba


La primera prueba que realizamos en 2016. Simplemente tomamos e intentamos reemplazar el HDD con un SSD NAND rápido. Para hacer esto, pedimos muestras del nuevo disco Intel, en ese momento era DC P3700. Y ejecutaron la prueba estándar de Hadoop, un ecosistema que le permite evaluar cómo cambia el rendimiento en diferentes condiciones. Estas son pruebas estandarizadas TeraGen, TeraSort, TeraValidate.

imagen

TeraGen le permite "generar" datos artificiales de un determinado volumen. Por ejemplo, tomamos 1 GB y 1 TB. Con TeraSort, clasificamos esta cantidad de datos en Hadoop. Esta es una operaci√≥n bastante intensiva en recursos. Y la √ļltima prueba, TeraValidate, le permite asegurarse de que los datos est√©n ordenados en el orden correcto. Es decir, los revisamos por segunda vez.

imagen

Como experimento, tomamos autos solo con SSD, es decir, Hadoop instaló solo en SSD sin usar discos duros. En la segunda versión, utilizamos SSD para almacenar archivos temporales, HDD, para almacenar datos básicos. Y en la tercera versión, se utilizaron discos duros para ambos.

Los resultados de estos experimentos no fueron muy agradables para nosotros, porque la diferencia en los indicadores de rendimiento no superó el 10-20%. Es decir, nos dimos cuenta de que Hadoop no es muy amigable con los SSD en términos de almacenamiento, porque inicialmente el sistema fue creado para almacenar grandes datos en el HDD, y nadie lo optimizó especialmente para SSD rápidos y costosos. Y dado que el costo de SSD en ese momento era bastante alto, decidimos hasta ahora no entrar en esta historia y sobrevivir con los discos duros.

Segunda prueba


Luego, Intel present√≥ las nuevas SSD Intel Optane del lado del servidor basadas en la memoria 3D XPoint. Fueron lanzados a fines de 2017, pero las muestras estaban disponibles antes. Las caracter√≠sticas de memoria 3D XPoint hacen posible el uso de la SSD Intel Optane como una extensi√≥n de RAM en los servidores. Como ya nos dimos cuenta de que no ser√≠a f√°cil resolver el problema de rendimiento de IO Hadoop a nivel de dispositivos de almacenamiento en bloque, decidimos probar una nueva opci√≥n: expandir la RAM utilizando la tecnolog√≠a Intel Memory Drive (IMDT). Y a principios de este a√Īo, fuimos uno de los primeros en el mundo en probarlo.

Esto es bueno para nosotros: es m√°s barato que la RAM, lo que le permite recolectar servidores que tienen terabytes de RAM. Y como la RAM es lo suficientemente r√°pida, puede cargar grandes conjuntos de datos en ella y analizarlos. Perm√≠tame recordarle que la peculiaridad de nuestro proceso anal√≠tico es que accedemos a los datos varias veces. Para realizar alg√ļn tipo de an√°lisis, necesitamos cargar la mayor cantidad de datos posible en la memoria y "desplazar" varias veces alg√ļn tipo de an√°lisis de estos datos.
El laboratorio de inglés de Intel en Swindon nos asignó un grupo de tres servidores, que durante las pruebas comparamos con nuestro grupo de pruebas ubicado en MTS.

imagen

Como se puede ver en el gr√°fico, de acuerdo con los resultados de la prueba, obtuvimos resultados bastante buenos.

imagen

El mismo TeraGen mostró un aumento casi doble en la productividad, TeraValidate, en un 75%. Esto es muy bueno para nosotros porque, como dije, accedemos a los datos que tenemos en nuestra memoria varias veces. En consecuencia, si obtenemos tal aumento de rendimiento, esto nos ayudará especialmente en el análisis de datos, especialmente en tiempo real.

Realizamos tres pruebas en diferentes condiciones. 100 GB, 250 GB y 500 GB. Y cuanto m√°s usamos la memoria, el SSD Intel Optane con tecnolog√≠a Intel Memory Drive funcion√≥ mejor. Es decir, cuantos m√°s datos analizamos, m√°s eficiencia conseguimos. La anal√≠tica que se realiz√≥ en m√°s nodos puede realizarse en menos de ellos. Y tambi√©n obtenemos una cantidad bastante grande de memoria en nuestras m√°quinas, lo cual es muy bueno para las tareas de Data Science. Seg√ļn los resultados de la prueba, decidimos comprar estas unidades para trabajar en MTS.

Si tambi√©n tuvo que elegir y probar hardware para almacenar y procesar una gran cantidad de datos, estaremos interesados ‚Äč‚Äčen leer qu√© dificultades encontr√≥ y qu√© resultados obtuvo: escriba los comentarios.

Autores
Grigory Koval, jefe del Centro de Competencia de Arquitectura Aplicada del Departamento de Big Data de MTS, grigory_koval
Jefe de la tribu de gestión de datos del Departamento de Big Data MTS Dmitry Shostko zloi_diman

Source: https://habr.com/ru/post/439498/


All Articles