stringtranslate.com

Procesamiento en memoria

El término se utiliza para dos cosas diferentes:

  1. En informática , el procesamiento en memoria (PIM) es una arquitectura de computadora en la que las operaciones de datos están disponibles directamente en la memoria de datos, en lugar de tener que transferirse primero a los registros de la CPU. [1] Esto puede mejorar el uso de energía y el rendimiento de la transferencia de datos entre el procesador y la memoria principal.
  2. En ingeniería de software , el procesamiento en memoria es una arquitectura de software en la que una base de datos se mantiene completamente en la memoria de acceso aleatorio (RAM) o en la memoria flash , de modo que los accesos habituales, en particular las operaciones de lectura o consulta, no requieren acceso al almacenamiento en disco . [2] Esto puede permitir operaciones de datos más rápidas, como "uniones", e informes y toma de decisiones más rápidos en los negocios. [3]

Se pueden dividir conjuntos de datos extremadamente grandes entre sistemas cooperantes como cuadrículas de datos en memoria .

Hardware (PIM)

PIM podría implementarse mediante: [4]

Aplicación de la tecnología en memoria en la vida cotidiana

Los teléfonos inteligentes y tabletas modernos utilizan con frecuencia técnicas de procesamiento en memoria para mejorar el rendimiento de las aplicaciones. Esto puede resultar en tiempos de carga de aplicaciones más rápidos y experiencias de usuario más agradables.

Software

Acceso a datos basado en disco

Estructuras de datos

Con la tecnología basada en disco, los datos se cargan en el disco duro de la computadora en forma de múltiples tablas y estructuras multidimensionales contra las cuales se ejecutan las consultas. Las tecnologías basadas en disco suelen ser sistemas de gestión de bases de datos relacionales (RDBMS), a menudo basados ​​en el lenguaje de consulta estructurado ( SQL ), como SQL Server , MySQL , Oracle y muchos otros. Los RDBMS están diseñados para los requisitos del procesamiento transaccional . Al utilizar una base de datos que admite inserciones y actualizaciones, además de realizar agregaciones, las uniones (típicas en las soluciones de BI) suelen ser muy lentas. Otro inconveniente es que SQL está diseñado para recuperar filas de datos de manera eficiente, mientras que las consultas de BI generalmente implican la recuperación de filas parciales de datos que implican cálculos pesados.

Para mejorar el rendimiento de las consultas, se pueden construir bases de datos multidimensionales o cubos OLAP , también llamados procesamiento analítico en línea multidimensional (MOLAP). Diseñar un cubo puede ser un proceso largo y elaborado, y cambiar la estructura del cubo para adaptarlo a las necesidades empresariales que cambian dinámicamente puede resultar engorroso. Los cubos se rellenan previamente con datos para responder consultas específicas y, aunque aumentan el rendimiento, todavía no son óptimos para responder todas las consultas ad hoc. [9]

El personal de tecnología de la información (TI) puede dedicar mucho tiempo de desarrollo a optimizar bases de datos, construir índices y agregados , diseñar cubos y esquemas en estrella , modelar datos y analizar consultas. [10]

Velocidad de procesamiento

La lectura de datos del disco duro es mucho más lenta (posiblemente cientos de veces) en comparación con la lectura de los mismos datos de la RAM. Especialmente cuando se analizan grandes volúmenes de datos, el rendimiento se ve gravemente degradado. Aunque SQL es una herramienta muy poderosa, las consultas complejas arbitrarias con una implementación basada en disco tardan relativamente mucho tiempo en ejecutarse y, a menudo, reducen el rendimiento del procesamiento transaccional. Para obtener resultados en un tiempo de respuesta aceptable, muchos almacenes de datos se han diseñado para calcular previamente resúmenes y responder únicamente a consultas específicas. Se necesitan algoritmos de agregación optimizados para aumentar el rendimiento.

Acceso a datos en memoria

Tanto con la base de datos en memoria como con la cuadrícula de datos , toda la información se carga inicialmente en la memoria RAM o en la memoria flash en lugar de en los discos duros . Con una cuadrícula de datos, el procesamiento se produce tres órdenes de magnitud más rápido que las bases de datos relacionales que tienen funcionalidades avanzadas como ACID , que degradan el rendimiento en compensación por la funcionalidad adicional. La llegada de las bases de datos centradas en columnas , que almacenan información similar de forma conjunta, permiten almacenar los datos de forma más eficiente y con mayores ratios de compresión . Esto permite almacenar enormes cantidades de datos en un mismo espacio físico, reduciendo la cantidad de memoria necesaria para realizar una consulta y aumentando la velocidad de procesamiento. Muchos usuarios y proveedores de software han integrado memoria flash en sus sistemas para permitir que los sistemas escale a conjuntos de datos más grandes de manera más económica.

Los usuarios consultan los datos cargados en la memoria del sistema, evitando así un acceso más lento a la base de datos y cuellos de botella en el rendimiento . Esto se diferencia del almacenamiento en caché , un método muy utilizado para acelerar el rendimiento de las consultas, en que los cachés son subconjuntos de datos organizados predefinidos muy específicos. Con las herramientas en memoria, los datos disponibles para el análisis pueden ser tan grandes como un data mart o un pequeño almacén de datos que está completamente en la memoria. Múltiples usuarios o aplicaciones pueden acceder rápidamente a él a un nivel detallado y ofrece la posibilidad de realizar análisis mejorados y de escalar y aumentar la velocidad de una aplicación. Teóricamente, la mejora en la velocidad de acceso a datos es de 10.000 a 1.000.000 de veces en comparación con el disco. [ cita necesaria ] También minimiza la necesidad de ajustar el rendimiento por parte del personal de TI y proporciona un servicio más rápido para los usuarios finales.

Ventajas de la tecnología de procesamiento en memoria

Ciertos avances en la tecnología informática y las necesidades comerciales han tendido a aumentar las ventajas relativas de la tecnología en memoria. [11]

Aplicación en los negocios

Una gama de productos en memoria brinda la capacidad de conectarse a fuentes de datos existentes y acceder a paneles interactivos visualmente ricos. Esto permite a los analistas de negocios y a los usuarios finales crear informes y consultas personalizados sin mucha capacitación o experiencia. La fácil navegación y la capacidad de modificar consultas sobre la marcha benefician a muchos usuarios. Dado que estos paneles se pueden completar con datos nuevos, los usuarios tienen acceso a datos en tiempo real y pueden crear informes en cuestión de minutos. El procesamiento en memoria puede resultar especialmente beneficioso en centros de llamadas y gestión de almacenes.

Con el procesamiento en memoria, la base de datos de origen se consulta solo una vez en lugar de acceder a la base de datos cada vez que se ejecuta una consulta, lo que elimina el procesamiento repetitivo y reduce la carga de los servidores de bases de datos. Al programar el llenado de la base de datos en memoria durante la noche, los servidores de la base de datos se pueden utilizar con fines operativos durante las horas pico.

Adopción de tecnología en memoria

Con una gran cantidad de usuarios, se necesita una gran cantidad de RAM para una configuración en memoria, lo que a su vez afecta los costos de hardware. Es más probable que la inversión sea adecuada en situaciones donde la velocidad de respuesta a las consultas es una alta prioridad y donde hay un crecimiento significativo en el volumen de datos y un aumento en la demanda de servicios de presentación de informes; aún puede no ser rentable cuando la información no está sujeta a cambios rápidos. La seguridad es otra consideración, ya que las herramientas en memoria exponen enormes cantidades de datos a los usuarios finales. Los fabricantes recomiendan asegurarse de que sólo los usuarios autorizados tengan acceso a los datos.

Ver también

Referencias

  1. ^ Ghose, S. (noviembre de 2019). "Procesamiento en memoria: una perspectiva basada en la carga de trabajo" (PDF) . Revista IBM de investigación y desarrollo . 63 (6): 3:1–19. doi :10.1147/JRD.2019.2934048. S2CID  202025511.
  2. ^ Zhang, Hao; Pandilla Chen; Beng Chin Ooi; Kian-Lee Tan; Meihui Zhang (julio de 2015). "Gestión y procesamiento de big data en memoria: una encuesta". Transacciones IEEE sobre conocimiento e ingeniería de datos . 27 (7): 1920-1948. doi : 10.1109/TKDE.2015.2427795 .
  3. ^ Plattner, Hasso; Zeier, Alejandro (2012). Gestión de datos en memoria: tecnología y aplicaciones. Medios de ciencia y negocios de Springer. ISBN 9783642295744.
  4. ^ "Curso de procesamiento en memoria: Conferencia 1: Exploración del paradigma PIM para sistemas futuros - Primavera de 2022".
  5. ^ Parque, Kate (27 de julio de 2023). "Samsung amplía el recorte en la producción de chips de memoria y, en su lugar, se centrará en chips de IA de alta gama" . TechCrunch . Consultado el 5 de diciembre de 2023 .
  6. ^ Bronceado, Kian-Lee; Cai, Qingchao; Ooi, Beng Chin; Wong, Weng-Fai; Yao, Chang; Zhang, Hao (12 de agosto de 2015). "Bases de datos en memoria: desafíos y oportunidades desde la perspectiva del software y el hardware". Registro ACM SIGMOD . 44 (2): 35–40. doi :10.1145/2814710.2814717. ISSN  0163-5808. S2CID  14238437.
  7. ^ Fatemieh, Seyed Erfan; Reshadinezhad, Mohammad Reza; Taherinejad, Nima (2022). "Computación aproximada en memoria utilizando lógica IMPLY memristiva y su aplicación al procesamiento de imágenes". 2022 Simposio Internacional IEEE sobre Circuitos y Sistemas (ISCAS) . págs. 3115–3119. doi :10.1109/ISCAS48785.2022.9937475. ISBN 978-1-6654-8485-5. S2CID  253462291 . Consultado el 5 de diciembre de 2023 .
  8. ^ "¿Qué es el procesamiento en memoria (PIM) y cómo funciona?". Análisis de negocio . Consultado el 5 de diciembre de 2023 .
  9. ^ Gill, John (2007). "Cambiar el paradigma de BI con tecnologías de bases de datos en memoria". Revista de Inteligencia Empresarial . 12 (2): 58–62. Archivado desde el original el 24 de septiembre de 2015.
  10. ^ Earls, A (2011). Consejos para evaluar, implementar y administrar herramientas de análisis en memoria (PDF) . Cuadro. Archivado desde el original (PDF) el 25 de abril de 2012.
  11. ^ "Análisis en memoria". aleta amarilla. pag. 6.
  12. ^ Kote, Sparjan. "Computación en memoria en Business Intelligence". Archivado desde el original el 24 de abril de 2011.
  13. ^ "Análisis de la encuesta: por qué la adopción de BI y análisis sigue siendo baja y cómo ampliar su alcance". Gartner . Consultado el 5 de diciembre de 2023 .
  14. ^ Upchurch, E.; Sterling, T.; Brockman, J. (2004). "Análisis y modelado de compensaciones de diseño de arquitectura PIM avanzada". Actas de la conferencia ACM/IEEE SC2004. Pittsburgh, PA, EE.UU.: IEEE. pag. 12. doi :10.1109/SC.2004.11. ISBN 978-0-7695-2153-4. S2CID  9089044.