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 informática 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 del movimiento 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 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", y una generación de informes y toma de decisiones más rápida en los negocios. [3]

Los conjuntos de datos extremadamente grandes pueden dividirse entre sistemas cooperativos como cuadrículas de datos en memoria .

Hardware (PIM)

El PIM podría implementarse mediante: [4]

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

Los teléfonos inteligentes y las tabletas modernos suelen utilizar técnicas de procesamiento en memoria para mejorar el rendimiento de las aplicaciones. Esto puede dar como resultado tiempos de carga de aplicaciones más rápidos y experiencias de usuario más agradables.

Software

Acceso a datos basados ​​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 a menudo son sistemas de administració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 usar una base de datos que admite inserciones y actualizaciones, así como la realización de agregaciones, las uniones (típicas en las soluciones de BI) suelen ser muy lentas. Otro inconveniente es que SQL está diseñado para obtener filas de datos de manera eficiente, mientras que las consultas de BI generalmente implican la obtenció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 multidimensional en línea, MOLAP). El diseño de un cubo puede ser un proceso elaborado y largo, y cambiar la estructura del cubo para adaptarlo a las necesidades empresariales que cambian dinámicamente puede resultar complicado. Los cubos se rellenan previamente con datos para responder a consultas específicas y, aunque aumentan el rendimiento, todavía no son óptimos para responder a todas las consultas ad hoc. [9]

El personal de tecnología de la información (TI) puede dedicar un tiempo de desarrollo sustancial 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 desde el disco duro es mucho más lenta (posiblemente cientos de veces) en comparación con la lectura de los mismos datos desde la RAM. Especialmente cuando se analizan grandes volúmenes de datos, el rendimiento se degrada gravemente. Aunque SQL es una herramienta muy potente, las consultas complejas arbitrarias con una implementación basada en disco tardan un tiempo relativamente largo en ejecutarse y, a menudo, provocan una reducción del rendimiento del procesamiento transaccional. Para obtener resultados en un tiempo de respuesta aceptable, muchos almacenes de datos se han diseñado para calcular resúmenes de antemano y responder solo a consultas específicas. Se necesitan algoritmos de agregación optimizados para aumentar el rendimiento.

Acceso a datos en memoria

Tanto en las bases de datos en memoria como en las cuadrículas 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 a un orden de magnitud más rápido que en las bases de datos relacionales que tienen una funcionalidad avanzada como ACID , que degrada el rendimiento en compensación por la funcionalidad adicional. La llegada de las bases de datos centradas en columnas , que almacenan información similar en conjunto, permite almacenar los datos de forma más eficiente y con mayores índices de compresión . Esto permite almacenar enormes cantidades de datos en el mismo espacio físico, lo que reduce la cantidad de memoria necesaria para realizar una consulta y aumenta la velocidad de procesamiento. Muchos usuarios y proveedores de software han integrado la memoria flash en sus sistemas para permitir que los sistemas escalen a conjuntos de datos más grandes de forma 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 difiere del almacenamiento en caché , un método muy utilizado para acelerar el rendimiento de las consultas, en que las cachés son subconjuntos de datos organizados predefinidos muy específicos. Con 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. Esto puede ser accedido rápidamente por múltiples usuarios o aplicaciones concurrentes a un nivel detallado y ofrece el potencial para análisis mejorados y para escalar y aumentar la velocidad de una aplicación. Teóricamente, la mejora en la velocidad de acceso a los datos es de 10,000 a 1,000,000 de veces en comparación con el disco. [ cita requerida ] También minimiza la necesidad de ajuste del 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 empresariales 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 ofrece la posibilidad de conectarse a fuentes de datos existentes y acceder a paneles interactivos visualmente enriquecidos. Esto permite a los analistas de negocios y usuarios finales crear informes y consultas personalizados sin mucha capacitación o experiencia. La navegación sencilla y la capacidad de modificar consultas sobre la marcha son beneficiosas para 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 ser particularmente beneficioso en los centros de llamadas y la 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 en los servidores de bases de datos. Al programar el llenado de la base de datos en memoria durante la noche, los servidores de bases de datos se pueden utilizar para 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 en las que 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 instalaciones de generación de informes; puede que aún no sea rentable donde la información no está sujeta a cambios rápidos. La seguridad es otro factor a considerar, ya que las herramientas en memoria exponen enormes cantidades de datos a los usuarios finales. Los fabricantes recomiendan asegurarse de que solo los usuarios autorizados tengan acceso a los datos.

Véase también

Referencias

  1. ^ Ghose, S. (noviembre de 2019). "Procesamiento en memoria: una perspectiva basada en la carga de trabajo" (PDF) . IBM Journal of Research and Development . 63 (6): 3:1–19. doi :10.1147/JRD.2019.2934048. S2CID  202025511.
  2. ^ Zhang, Hao; Gang Chen; Beng Chin Ooi; Kian-Lee Tan; Meihui Zhang (julio de 2015). "Gestión y procesamiento de big data en memoria: una encuesta". IEEE Transactions on Knowledge and Data Engineering . 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: lección 1: exploración del paradigma PIM para sistemas futuros - Primavera de 2022". YouTube . 10 de marzo de 2022.
  5. ^ Park, Kate (27 de julio de 2023). "Samsung amplía el recorte en la producción de chips de memoria y se centrará en chips de IA de alta gama". TechCrunch . Consultado el 5 de diciembre de 2023 .
  6. ^ Tan, 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 las perspectivas del software y el hardware". ACM SIGMOD Record . 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". Simposio internacional IEEE sobre circuitos y sistemas (ISCAS) de 2022. 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?". Business Analytics . Consultado el 5 de diciembre de 2023 .
  9. ^ Gill, John (2007). "Cambiando el paradigma de BI con tecnologías de bases de datos en memoria". Business Intelligence Journal . 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) . Tableau. Archivado desde el original (PDF) el 25 de abril de 2012.
  11. ^ "Análisis en memoria". yellowfin. pág. 6.
  12. ^ Kote, Sparjan. "Computación en memoria en inteligencia empresarial". Archivado desde el original el 24 de abril de 2011.
  13. ^ "Análisis de encuesta: por qué la adopción de inteligencia empresarial y analítica 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 las ventajas y desventajas del diseño de arquitecturas PIM avanzadas". Actas de la conferencia ACM/IEEE SC2004. Pittsburgh, PA, EE. UU.: IEEE. p. 12. doi :10.1109/SC.2004.11. ISBN 978-0-7695-2153-4.S2CID 9089044  .