SQL + MapReduce: no deje datos atrás - Calendae | Informática, Electrónica, CMS, Ciberseguridad

SQL + MapReduce: no deje datos atrás

Hola, ¿qué tal colega?. Yo soy Simón Sánchez y en esta ocasión te voy a contar sobre SQL + MapReduce: no deje datos atrás

Cualquiera que haya tenido el placer de trabajar en un gran almacén de cerveza sabe que para llevar espuma de un estante a otro, a veces se necesita una carretilla elevadora, a veces una carretilla elevadora a horcajadas y, a veces, una transpaleta vieja y simple. Un gran almacén de datos no es diferente. Como los almacenes de datos superan el rango de terabytes y más, y las necesidades comerciales requieren recuperar algo que no sean latas de 12 onzas, un tipo de carretilla elevadora no siempre es suficiente.

Ciruela verde, un desarrollador de tecnología de bases de datos masivamente paralelas, está incorporando estos otros tipos de carretillas elevadoras al almacén de datos. Al incorporar MapReduce en su motor de base de datos, la empresa ofrece a las empresas más formas que SQL para manipular y analizar cantidades extremadamente grandes de datos.

Greenplum está en el negocio de bases de datos gigantes; los clientes suelen tener terabytes para almacenar y clasificar. (La compañía afirma que tiene dos clientes sin nombre con bases de datos de producción míticas del tamaño de un petabyte). Desde el principio, Greenplum diseñó su software para que fuera un sistema enormemente paralelo; la idea era que sin el procesamiento paralelo de alta velocidad, una base de datos no sería una herramienta de apoyo a la toma de decisiones verdaderamente útil en un gran almacén de datos.

“Las empresas tienen enormes cantidades de datos que quieren poder monetizar, pero enfrentan el desafío de analizar datos a gran escala”, dice Ben Werther, director de gestión de productos de Greenplum. “Y con los datos esparcidos por todo el lugar, se vuelve aún más difícil. Creemos que el paralelismo es la única forma de analizar grandes cantidades de datos y proporcionar respuestas rápidamente. El enfoque antiguo, el que encontraría con Oracle, por ejemplo, no es escalable de manera adecuada para manejar situaciones en las que los datos abarcan decenas de cientos de nodos. Hemos diseñado una escala horizontal muy lineal para satisfacer el aumento exponencial de los volúmenes de datos y el número de usuarios «.

Diseño paralelo

La base de datos de Greenplum tiene sus raíces en PostgresSQL, un sistema de código abierto conocido por su funcionalidad de nivel empresarial. Además, Greenplum ha agregado su propio motor de flujo de datos y funcionalidad, incluido un cargador de datos de alta velocidad, para crear una plataforma altamente paralela para el almacenamiento de datos, dice Werther.

Una de las claves del enfoque de Greenplum es el paralelismo de consultas, en el que las consultas se distribuyen entre nodos informáticos individuales. Greenplum Database divide cargas de trabajo complejas en pequeñas tareas y las envía a múltiples unidades de procesamiento de software que trabajan en paralelo y conectadas a un disco de alta velocidad. Cada «servidor de segmento» es un procesador de base de datos que posee y opera su propia pieza de datos, realizando tareas relacionales como uniones y ordenaciones. El sistema de base de datos consta de una serie de unidades de procesamiento paralelo autónomas que se pueden escalar para manejar consultas bajo demanda. Greenplum dice que debido a que su enfoque distribuye datos automáticamente y administra las cargas de trabajo de consultas en paralelo en todo el hardware disponible, supera a los sistemas de bases de datos genéricos. «Es necesario llevar el procesamiento a donde están los datos», dice Werther. «Nuestra arquitectura de nada compartido mueve sus cálculos lo más cerca posible de sus datos y los distribuye entre todos los nodos disponibles».

Para superar el alto precio de los sistemas de multiprocesamiento patentados tradicionales que generalmente manejan grandes cargas de datos, Greenplum ha diseñado su base de datos para que se ejecute en servidores estándar de bajo costo. Los clientes pueden elegir el hardware y el proveedor que prefieran. Un host informático típico tendría un par de CPU multinúcleo (generalmente Intel Xeon o AMD Opteron), 16 GB de RAM, entre 16 y 48 unidades SATA de 500 GB y ejecutando Linux o Solaris. Un bastidor típico puede contener hasta 24 TB.

La tecnología de base de datos de Greenplum también está disponible «integrada en el dispositivo de almacenamiento de datos» de Sun, a través de un servidor SunFire X4500 basado en Opteron con hasta 20 CPU y 100 TB de almacenamiento. Sun dice que este sistema integrado llave en mano supera a cualquier competencia en términos de velocidad al cargar un terabyte en aproximadamente un minuto y un precio de alrededor de $ 20,000 por terabyte. «Es una solución para aquellos que no quieren combinar hardware y software», dice Werther. “Funciona fuera de la puerta. Los clientes que deseen elegir su propio hardware pueden descargar el software de nuestro sitio «.

La nueva carretilla elevadora

A pesar de su rápido rendimiento paralelo y sus sofisticadas capacidades SQL, Greenplum reconoció que su base de datos no estaba ayudando a todos en una empresa a obtener las respuestas que necesitaban. “Hay análisis mucho más interesantes que nuestros clientes quieren hacer que lo que pueden hacer con SQL”, dice Werther. «Quieren diferentes formas de ver esos datos, quieren ejecutar sus propios algoritmos personalizados para hacer análisis de texto … y hacer cosas que no encajan en una tabla SQL. Quieren poder ver la entrada de cualquier fuente y en cualquier formato. y poder hacerlo en cientos de terabytes de datos. Quieren hacerlo en la escala de Internet «.

De hecho, hay una empresa llamada Google que también quiere extraer información útil de su considerable recopilación diaria de datos, información que no puede obtener mediante SQL. Google usa Alejar mapa, un modelo de programación para trabajar con conjuntos de datos muy grandes; También se describe como un marco para sistemas distribuidos y un marco computacional para explotar muchas máquinas. Los programas MapReduce se paralelizan automáticamente. En teoría, es lo suficientemente simple para que los programadores lo utilicen incluso si no tienen experiencia con sistemas distribuidos. La gente de Google lo usa para tareas gigantes, como crear un índice web para pequeñas consultas de un solo desarrollador. (En solo un mes, la ubicación de MapReduce de Google procesó más de 403,000 TB).

Con su nueva versión que saldrá este mes, Greenplum trae soporte para MapReduce al resto del mundo. «MapReduce facilita la escritura de programas para analizar grandes cantidades de datos», dice Werther. «A los clientes les gusta tener todos estos datos, pero quieren que sus programadores y expertos en matemáticas presenten nuevas herramientas de análisis estadístico para que puedan extraer los tipos muy específicos de inteligencia empresarial que necesitan. Quieren hacer análisis con herramientas como R.. Quieren hacer preguntas de datos muy específicas que no pueden hacer con SQL, pero no quieren deshacerse de SQL. Hay cosas que puede hacer con SQL que MapReduce nunca podría proporcionar ”. Con la nueva versión de Greenplum, los usuarios pueden combinar SQL y MapReduce en la misma consulta, dice Werther.

LinkedIn, el vasto sitio de redes sociales / profesionales, es un buen ejemplo para los clientes. “Quieren poder hacer diferentes tipos de análisis para su función de personas que quizás conozcas. Por ejemplo, quieren analizar el texto de los perfiles de usuario. Al usar MapReduce para consultas, pueden lograr cosas que de otro modo requerirían extraer los datos en un programa separado, en servidores separados, ejecutar los datos y luego volverlos a colocar en la base de datos. No solo operamos con los datos de la base de datos. También alcanzamos y transmitimos datos desde sistemas de archivos y aplicaciones de diario «.

Otro cliente, el editor O’Reilly Media, dice que ha visto disminuir los tiempos de consulta de 10 horas a seis minutos desde que reemplazó su sistema anterior con Greenplum. La empresa depende de un análisis rápido de la tecnología y las tendencias de los compradores para llevar las publicaciones oportunas al mercado. El director de investigación Roger Magoulas dice que la integración de MapReduce significa «una eficiencia increíble porque las consultas SQL complejas se pueden escribir en unas pocas líneas de código».

La capacidad de acceder a datos de archivos estándar es una gran ventaja de MapReduce, dice Werther. “Los usuarios pueden escribir programas MapReduce en unas pocas líneas de un lenguaje que ya conocen, como Perl o Python, para procesar y analizar terabytes de datos no estructurados para cosas como análisis de palabras clave e indexación de contenido. No puede hacer el tipo de minería que necesitan en SQL. «

Dado que los usuarios de Greenplum ahora pueden escribir funciones de MapReduce en lenguajes como Perl, pueden aprovechar los kits de herramientas de código abierto para hacer el tipo de cosas que no suelen estar disponibles con un sistema de base de datos relacional, incluido el análisis de texto a mano alzada, análisis estadístico y análisis HTML, dice Werther. “En una conversación con algunos clientes involucrados en la industria de la banca y las bolsas de valores, nos enteramos de que un número sorprendente de ellos dijo que planeaba trabajar con MapReduce para realizar análisis más inteligentes. Todavía necesitan análisis SQL, por supuesto, pero también quieren expandir y aprovechar las capacidades de MapReduce y otras herramientas. Quieren que sus administradores de bases de datos tengan las herramientas que necesitan, pero los analistas y programadores de negocios necesitan obtener otros tipos de inteligencia comercial. Servimos a ambos distritos electorales. «

«La principal ventaja de MapReduce es la relación precio / rendimiento porque le permite aplicar los beneficios de costo de la paralelización a análisis que de otra manera serían difíciles de paralelizar», dice Curt Monash, experto en tecnología de bases de datos, propietario de Investigación de Monash y editor de DBMS2. “Los programadores se benefician de MapReduce porque hace que la paralelización sea mucho más fácil de programar. Los usuarios comerciales se benefician de MapReduce porque obtienen respuestas que de otro modo no podrían «.

No dejes respuestas en el suelo

Greenplum dice que actualmente tiene más de 50 clientes, incluidos Skype, Sun y la gigante empresa india Reliance Communications. Sus sectores incluyen finanzas, transporte, manufactura, telecomunicaciones, salud y comercio minorista, dice Werther. «Tienen algunos de los almacenes de datos más grandes del mundo», dice, «normalmente de 10 a 100 terabytes. Creemos que nuestras capacidades centrales de procesamiento paralelo, escalabilidad y ahora múltiples formas de ver esos terabytes de datos permitirán a estas empresas transferir los datos y permitir que todos accedan a ellos «.

“No debería ser prohibitivo almacenar y acceder a datos. Debería ser fácil escribir consultas y análisis de datos en máquinas masivamente paralelas. Debemos alejarnos del mundo de la capacidad nunca suficiente, los datos fragmentados y la falta de las herramientas adecuadas si queremos extraer los tipos de inteligencia y valor que necesitamos de los datos comerciales. Al combinar SQL y MapReduce, planeamos abrir una nueva frontera de análisis.

«La idea», dice Werther, «es que no se deben dejar atrás datos».

Puedes compartir en en tu Twitter y Facebook para que tus colegas lo vean

??? ? ? ???

Comparte