The term in-memory processing is used for two different things:
- In computer science, in-memory processing, also called compute-in-memory (CIM) or processing-in-memory (PIM), is a computer architecture in which data operations are available directly on the data memory, rather than having to be transferred to CPU registers first. This may improve the power usage and performance of moving data between the processor and the main memory.
- In software engineering, in-memory processing is a software architecture where a database is kept entirely in random-access memory (RAM) or flash memory so that usual accesses, in particular read or query operations, do not require access to disk storage. This may allow faster data operations such as joins, and faster reporting and decision-making in business.
Extremely large datasets may be divided between co-operating systems as in-memory data grids.
It also minimizes the need for performance tuning by IT staff and provides faster service for end users.
Advantages of in-memory processing technology
edit
Certain developments in computer technology and business needs have tended to increase the relative advantages of in-memory technology.
- Following Moore's law, the number of transistors per square unit doubles every two or so years. This is reflected in changes to price, performance, packaging, and capabilities of the components. Random-access memory price and CPU computing power in particular have improved over the decades. CPU processing, memory, and disk storage are all subject to some variation of this law. Additionally, hardware innovations such as multi-core architecture, NAND flash memory, parallel servers, and increased memory-processing capability have contributed to the technical and economic feasibility of in-memory approaches.
- In turn, software innovations such as column-centric databases, compression techniques, and handling aggregate tables enable efficient in-memory products.
- The advent of 64-bit operating systems, which allow access to far more RAM (up to 100 GB or more) than the 2 or 4 GB) of space for storage and analysis, 64-bit operating systems make in-memory processing scalable. The use of flash memory enables systems to scale to many terabytes more economically.
- Increasing volumes of data have meant that traditional data warehouses may be less able to process the data in a timely and accurate way. The extract, transform, load (ETL) process that periodically updates disk-based data warehouses with operational data may result in lags and stale data. In-memory processing may enable faster access to terabytes of data for better real-time reporting.
- In-memory processing may be available at a lower cost compared to disk-based processing, and can be more easily deployed and maintained. According to Gartner survey, deploying traditional BI tools can take as long as 17Zhang, Hao; Gang Chen; Beng Chin Ooi; Kian-Lee Tan; Meihui Zhang (July 2015). "In-Memory Big Data Management and Processing: A Survey". IEEE Transactions on Knowledge and Data Engineering. 27 (7): 1920–1948. Bibcode:2015ITKDE..27.1920Z. doi:10.1109/TKDE.2015.2427795.
- ↑ Park, Kate (2023-07-27). "Samsung extends cut in memory chip production, will focus on high-end AI chips instead". TechCrunch. Retrieved 2023-12-05.
- ↑ "What is processing in memory (PIM) and how does it work?". Business Analytics. Retrieved 2023-12-05.
- ↑ "In_memory Analytics". yellowfin. p. 6.
- ↑ Upchurch, E.; Sterling, T.; Brockman, J. (2004). "Analysis and Modeling of Advanced PIM Architecture Design Tradeoffs". Proceedings of the ACM/IEEE SC2004 Conference. Pittsburgh, PA, USA: IEEE. p. 12. doi:10.1109/SC.2004.11. ISBN 978-0-7695-2153-4. S2CID 9089044.