Articulo de referencia

Procesamiento dentro de la base de datos

El procesamiento en la base de datos , a veces denominado análisis en la base de datos , se refiere a la integración del análisis de datos en la funcionalidad de almacenamiento ...

El procesamiento en la base de datos , a veces denominado análisis en la base de datos , se refiere a la integración del análisis de datos en la funcionalidad de almacenamiento de datos . Actualmente, muchas bases de datos de gran tamaño, como las utilizadas para la detección de fraude con tarjetas de crédito y la gestión de riesgos de la banca de inversión , utilizan esta tecnología porque proporciona mejoras de rendimiento significativas con respecto a los métodos tradicionales. [ 1 ]

Historia

Los enfoques tradicionales para el análisis de datos requieren que estos se transfieran de la base de datos a un entorno de análisis independiente para su procesamiento, y luego se vuelvan a la base de datos. ( SPSS de IBM es un ejemplo de herramienta que aún realiza este proceso). Realizar el análisis en la base de datos, donde residen los datos, elimina los costos, el tiempo y los problemas de seguridad asociados con el enfoque anterior, ya que el procesamiento se realiza en el propio almacén de datos. [ 2 ]

Aunque las capacidades en la base de datos se ofrecieron comercialmente por primera vez a mediados de la década de 1990, como sistemas de bases de datos relacionados con objetos de proveedores como IBM, Illustra / Informix (ahora IBM) y Oracle , la tecnología no comenzó a popularizarse hasta mediados de la década de 2000. [ 3 ] El concepto de migrar análisis desde la estación de trabajo analítica al Almacén de Datos Empresarial fue introducido por primera vez por Thomas Tileston en su presentación titulada "¡Ten tu pastel y cómelo también! Acelera la minería de datos combinando SAS y Teradata" en la conferencia "Experimenta las posibilidades" de Teradata Partners 2005 en Orlando, FL, del 18 al 22 de septiembre de 2005. El Sr. Tileston presentó posteriormente esta técnica a nivel mundial en 2006, [ 4 ] 2007 [ 5 ] [ 6 ] [ 7 ] y 2008. [ 8 ]

En ese momento, la necesidad de procesar los datos dentro de la base de datos se volvió más apremiante, ya que la cantidad de datos disponibles para recopilar y analizar sigue creciendo exponencialmente (debido en gran medida al auge de Internet), desde megabytes hasta gigabytes, terabytes y petabytes. Este " big data " es una de las razones principales por las que se ha vuelto importante recopilar, procesar y analizar datos de manera eficiente y precisa.

Además, la velocidad de los negocios se ha acelerado hasta el punto de que una mejora en el rendimiento de nanosegundos puede marcar la diferencia en algunas industrias. [ 2 ] Asimismo, a medida que más personas e industrias utilizan datos para responder preguntas importantes, las preguntas que se plantean se vuelven más complejas, lo que exige herramientas más sofisticadas y resultados más precisos.

Todos estos factores, en conjunto, han generado la necesidad de procesamiento dentro de la base de datos. La introducción de la base de datos orientada a columnas , diseñada específicamente para análisis, almacenamiento de datos e informes, ha contribuido a que esta tecnología sea posible.

Tipos

Existen tres tipos principales de procesamiento dentro de la base de datos: traducir un modelo a código SQL, cargar bibliotecas de C o C++ en el espacio de procesamiento de la base de datos como una función definida por el usuario (UDF) integrada, y bibliotecas fuera del proceso, generalmente escritas en C, C++ o Java, y registrarlas en la base de datos como UDF integradas en una instrucción SQL.

Traduciendo modelos a código SQL

En este tipo de procesamiento en la base de datos, un modelo predictivo se convierte de su lenguaje de origen a SQL, que se ejecuta en la base de datos, generalmente mediante un procedimiento almacenado . Muchas herramientas de creación de modelos analíticos permiten exportar los modelos tanto en SQL como en PMML (Predictive Modeling Markup Language). Una vez cargado el código SQL en un procedimiento almacenado, se pueden pasar valores mediante parámetros y el modelo se ejecuta directamente en la base de datos. Algunas herramientas que utilizan este enfoque son SAS, SPSS, R y KXEN.

Carga de bibliotecas C o C++ en el espacio de procesos de la base de datos

Con las bibliotecas UDF de C o C++ que se ejecutan en el mismo proceso, las funciones se registran normalmente como funciones integradas en el servidor de base de datos y se invocan como cualquier otra función integrada en una sentencia SQL. La ejecución en el mismo proceso permite que la función tenga acceso completo a la memoria, el paralelismo y las capacidades de gestión de procesamiento del servidor de base de datos. Por ello, las funciones deben comportarse correctamente para no afectar negativamente a la base de datos ni al motor. Este tipo de UDF ofrece el máximo rendimiento para algoritmos OLAP, matemáticos, estadísticos, de distribuciones univariadas y de minería de datos.

Fuera de proceso

Las funciones definidas por el usuario (UDF) que se ejecutan fuera del proceso suelen estar escritas en C, C++ o Java. Al ejecutarse fuera del proceso, no representan el mismo riesgo para la base de datos o el motor que cuando se ejecutan en su propio espacio de proceso con sus propios recursos. En este caso, no se espera que tengan el mismo rendimiento que una UDF que se ejecuta dentro del proceso. Aun así, normalmente se registran en el motor de la base de datos y se llaman mediante SQL estándar, generalmente en un procedimiento almacenado. Las UDF que se ejecutan fuera del proceso son una forma segura de ampliar las capacidades de un servidor de base de datos y una manera ideal de agregar bibliotecas personalizadas de minería de datos.

Usos

El procesamiento en la base de datos hace que el análisis de datos sea más accesible y relevante para aplicaciones de alto rendimiento y en tiempo real, incluyendo la detección de fraude, la calificación crediticia, la gestión de riesgos, el procesamiento de transacciones, el análisis de precios y márgenes, la microsegmentación basada en el uso, la segmentación de anuncios conductuales y los motores de recomendación, como los que utilizan las organizaciones de servicio al cliente para determinar las siguientes mejores acciones. [ 9 ]

Proveedores

El procesamiento en la base de datos es realizado y promovido como una característica por muchos de los principales proveedores de almacenamiento de datos, incluidos Teradata (y Aster Data Systems , que adquirió), IBM (con sus productos Netezza , PureData Systems y Db2 Warehouse ), IEMC Greenplum , Sybase , ParAccel , SAS y EXASOL . Algunos de los productos ofrecidos por estos proveedores, como MonetDB de CWI o Db2 Warehouse de IBM, ofrecen a los usuarios los medios para escribir sus propias funciones (UDF) o extensiones (UDX) para mejorar las capacidades de los productos. [ 10 ] Fuzzy Logix ofrece bibliotecas de modelos en la base de datos utilizados para modelado matemático, estadístico, de minería de datos, simulación y clasificación, así como modelos financieros para renta variable, renta fija, tasa de interés y optimización de cartera. In-DataBase Pioneers colabora con los equipos de marketing y TI para institucionalizar los procesos de minería de datos y análisis dentro del almacén de datos para un análisis predictivo y de comportamiento del consumidor rápido, confiable y personalizable.

El procesamiento dentro de la base de datos es una de las diversas tecnologías centradas en mejorar el rendimiento del almacenamiento de datos. Otras incluyen la computación paralela , las arquitecturas de recursos compartidos, las arquitecturas de recursos no compartidos y el procesamiento paralelo masivo . Es un paso importante hacia la mejora de las capacidades de análisis predictivo . [ 11 ]

  • EXASOL EXAPowerlytics

Referencias

  1. ¿Qué es el procesamiento en la base de datos? , Wise Geek , consultado el 14 de mayo de 2012
  2. 1 2 Das, Joydeep (10 de mayo de 2010), Cómo aumentar la competitividad con análisis en la base de datos , Tendencias y aplicaciones de bases de datos
  3. Grimes, Seth (15 de diciembre de 2008), Análisis en bases de datos: una vía de escape para el análisis complejo , Intelligent Enterprise
  4. "Inteligencia de negocios: simplificando la previsión | Noticias de IT World Canada" . 31 de octubre de 2006. Archivado del original el 21 de agosto de 2014.
  5. "Caso de éxito de un cliente: ¡Tenga lo que quiere! Acelere la previsión combinando SAS y Teradata" (PDF) . www2.sas.com .
  6. "SAS Global Forum 2007 – SAS-Wiki" . Archivado del original el 21 de agosto de 2014. Consultado el 21 de agosto de 2014 .
  7. "SAS Global Forum 2007, 16-19 de abril de 2007, Orlando, Florida - Desarrollo de aplicaciones" . Archivado del original el 22 de agosto de 2014. Consultado el 21 de agosto de 2014 .
  8. "Plataforma autónoma de IA + conocimiento | Teradata" (PDF) . www.teradata.kr . Consultado el 9 de enero de 2026 .
  9. Kobelius, James (22 de junio de 2011), El poder de las predicciones: estudios de caso en CRM Next Best Action , Forrester, archivado del original el 13 de abril de 2012 , consultado el 15 de mayo de 2012.
  10. "R integrado en MonetDB" . 22 de diciembre de 2014. Archivado del original el 13 de noviembre de 2014. Consultado el 22 de diciembre de 2014 .
  11. "¿Acaso el procesamiento dentro de la base de datos no es ya cosa del pasado?" . Blog de Tim Manns (Blog de Minería de Datos) . 8 de enero de 2009.