인메모리 처리

In-memory processing

컴퓨터 과학에서 인메모리 처리는 인메모리 [1]데이터베이스에 저장된 데이터를 처리하기 위한 새로운 기술입니다.인메모리 처리는 프로세서와 메인 [2]메모리 간의 데이터 이동으로 인해 발생하는 성능 및 전력 병목 현상을 해결하는 방법 중 하나입니다.기존 시스템은 SQL 쿼리 언어를 사용하는 디스크 스토리지 및 관계형 데이터베이스를 기반으로 했지만 비즈니스 인텔리전스(BI) 요구를 충족시키기에는 불충분한 것으로 간주되고 있습니다.저장된 데이터는 RAM(Random Access Memory) 또는 플래시 메모리에 저장될 때 훨씬 빠르게 액세스되므로 메모리 내 처리를 통해 실시간으로 데이터를 분석할 수 있으므로 비즈니스에서 [3][4]보다 빠른 보고 및 의사결정이 가능합니다.

디스크 기반 비즈니스 인텔리전스

데이터 구조

디스크 기반 기술을 사용하면 쿼리가 실행되는 여러 테이블 및 다차원 구조의 형태로 데이터가 컴퓨터의 하드 디스크에 로드됩니다.디스크 기반 테크놀로지는 RDBMS(Relational Database Management System)로 SQL Server, MySQL, Oracle 의 구조화 쿼리 언어(SQL)를 기반으로 하는 경우가 많습니다.RDBMS는 트랜잭션 처리 요건에 맞게 설계되었습니다.삽입과 업데이트를 지원하고 집약을 수행하는 데이터베이스를 사용하는 경우(BI 솔루션에서는 일반적으로) 가입 속도가 매우 느립니다.또 다른 단점은 SQL이 데이터 행을 효율적으로 가져오도록 설계되어 있는 반면 BI 쿼리는 일반적으로 대량의 계산을 수반하는 데이터 행의 일부를 가져오도록 설계되어 있다는 것입니다.

쿼리 성능을 개선하기 위해 다차원 데이터베이스 또는 OLAP 큐브(다차원 온라인 분석 처리(MOLAP)라고도 함)가 구성됩니다.큐브를 설계하는 것은 정교하고 긴 과정이며 동적으로 변화하는 비즈니스 요구에 맞게 큐브의 구조를 변경하는 것은 번거로울 수 있습니다.큐브에는 특정 쿼리에 응답하기 위한 데이터가 미리 채워져 있으며, 이러한 데이터는 성능을 향상시키지만 임시 [5]쿼리에 응답하는 데는 적합하지 않습니다.

정보기술(IT) 직원은 데이터베이스 최적화, 인덱스 및 애그리게이트 구성, 큐브 및 스타 스키마 설계, 데이터 모델링 및 쿼리 [6]분석에 상당한 개발 시간을 소비합니다.

처리 속도

하드 디스크에서 데이터를 읽는 것은 RAM에서 동일한 데이터를 읽는 것에 비해 훨씬 느립니다(아마도 수백 번).특히 대량의 데이터를 분석할 경우 성능이 크게 저하됩니다.SQL은 매우 강력한 도구이지만 복잡한 쿼리를 실행하는 데 비교적 오랜 시간이 걸리고 트랜잭션 처리 성능이 저하되는 경우가 많습니다.허용 가능한 응답 시간 내에 결과를 얻기 위해 많은 데이터 웨어하우스는 요약을 미리 계산하고 특정 쿼리에만 응답하도록 설계되어 있습니다.성능을 향상시키려면 최적화된 집약 알고리즘이 필요합니다.

메모리 내 처리 도구

메모리 처리는 Oracle, IBM DB2 또는 Microsoft SQL Server와 같은 기존 데이터베이스 또는 Hazelcast, Infinispan, Oracle Cohence 또는 ScaleOut Software와 같은 인메모리 데이터 그리드 등의 NoSQL 제품을 통해 수행할 수 있습니다.인메모리 데이터베이스와 데이터 그리드를 모두 사용하면 모든 정보가 하드 디스크 대신 메모리 RAM 또는 플래시 메모리에 로드됩니다.데이터 그리드 처리는 추가 기능에 대한 보상의 성능을 저하시키는 ACID와 같은 고급 기능을 가진 관계형 데이터베이스보다 3배 빠른 속도로 발생합니다.유사한 정보를 함께 저장하는 열 중심 데이터베이스가 등장함에 따라 데이터를 보다 효율적으로 압축률로 저장할 수 있습니다.이를 통해 동일한 물리적 공간에 대량의 데이터를 저장할 수 있으므로 쿼리 실행에 필요한 메모리 양이 줄어들고 처리 속도가 향상됩니다.많은 사용자와 소프트웨어 벤더는 플래시 메모리를 시스템에 통합하여 보다 경제적으로 시스템을 대규모 데이터 세트로 확장할 수 있도록 지원합니다.Oracle은 성능 향상을 위해 플래시 메모리를 Oracle Exadata 제품에 통합해 왔습니다.Microsoft SQL Server 2012 BI/Data Warehousing 소프트웨어는 Violin Memory 플래시 메모리 어레이와 결합되어 [7]20TB가 넘는 데이터 세트를 메모리 내에서 처리할 수 있습니다.

사용자는 시스템 메모리에 로드된 데이터를 쿼리할 수 있으므로 데이터베이스 액세스 속도가 느려지고 성능 병목 현상이 발생하는 것을 방지할 수 있습니다.이는 쿼리 성능을 높이기 위해 널리 사용되는 캐싱과 다릅니다. 캐시는 매우 특정한 사전 정의된 구성 데이터의 하위 집합입니다.인메모리 툴을 사용하면 분석에 사용할 수 있는 데이터는 데이터 마트 또는 메모리에 완전히 저장되어 있는 소규모 데이터 웨어하우스만큼 클 수 있습니다.여러 사용자 또는 애플리케이션이 동시에 세부 레벨에서 신속하게 액세스할 수 있으며, 향상된 분석 기능과 애플리케이션 확장 및 속도 향상 가능성을 제공합니다.이론적으로 데이터 액세스 속도가 디스크에 [citation needed]비해 10,000배에서 1,000,000배 향상됩니다.또한 IT 직원의 성능 조정 필요성을 최소화하고 최종 사용자에게 더 빠른 서비스를 제공합니다.

인메모리 프로세싱 테크놀로지의 장점

컴퓨터 테크놀로지와 비즈니스 요구의 특정 발전은 인메모리 [8]테크놀로지의 상대적인 이점을 증가시키는 경향이 있습니다.

  • 무어 법칙에 따르면 하드웨어는 점점 더 저렴해지고 성능이 향상됩니다.컴퓨팅 파워는 2~3년마다 2배씩 향상되고 비용도 절감됩니다.CPU 처리, 메모리 및 디스크 스토리지는 모두 이 법칙에 따라 달라집니다.또한 열 중심 데이터베이스, 압축 기술 및 집계 테이블 처리와 같은 소프트웨어 혁신뿐만 아니라 멀티 코어 아키텍처, NAND 플래시 메모리, 병렬 서버 및 향상된 메모리 처리 능력과 같은 하드웨어 혁신도 메모리 [9]내 제품에 대한 수요에 기여했습니다.
  • 64비트 operating system의 등장으로, 32비트 시스템에서 액세스 가능한 2GB 또는 4GB보다 훨씬 많은 RAM(최대 100GB 이상)에 액세스 할 수 있게 되었습니다.64비트 운영 체제는 스토리지 및 분석을 위한 테라바이트(1TB = 1,024GB)의 공간을 제공함으로써 메모리 내 프로세싱의 확장성을 높입니다.플래시 메모리를 사용하면 시스템을 수 테라바이트까지 경제적으로 확장할 수 있습니다.
  • 데이터 양이 증가함에 따라 기존 데이터 웨어하우스는 더 이상 데이터를 시기적절하고 정확하게 처리할 수 없게 되었습니다.데이터 웨어하우스를 운영 데이터로 정기적으로 업데이트하는 ETL(Extract, Transform, Load) 프로세스는 완료하는 데 몇 시간에서 몇 주가 걸릴 수 있습니다.따라서, 어느 시점에서도 데이터는 적어도 하루 이상 경과해야 합니다.인메모리 프로세싱은 실시간 보고를 위해 테라바이트의 데이터에 즉시 액세스할 수 있도록 합니다.
  • 인메모리 프로세싱은 기존 BI 툴에 비해 저렴한 비용으로 이용할 수 있으며 보다 쉽게 도입 및 유지보수할 수 있습니다.Gartner [citation needed]조사에 따르면 기존 BI 툴을 도입하는 데 최대 17개월이 걸릴 수 있습니다.많은 데이터 웨어하우스 벤더가 구현 시간을 단축하기 위해 기존 BI가 아닌 인메모리 기술을 선택하고 있습니다.
  • 액세스 레이텐시가 짧아지고 메모리 대역폭과 하드웨어 [10]병렬화가 향상되어 소비전력이 감소하고 throughput이 향상됩니다.

비즈니스에서의 응용 프로그램

다양한 인메모리 제품을 통해 기존 데이터 소스에 연결할 수 있으며 시각적으로 풍부한 대화형 대시보드에 액세스할 수 있습니다.이를 통해 비즈니스 분석가 및 최종 사용자는 별도의 훈련이나 전문 지식 없이도 맞춤형 보고서와 쿼리를 작성할 수 있습니다.간단한 탐색과 쿼리 즉시 수정 기능은 많은 사용자에게 유용합니다.이러한 대시보드는 새로운 데이터로 채워질 수 있기 때문에 사용자는 실시간 데이터에 액세스할 수 있으며 몇 분 안에 보고서를 작성할 수 있습니다.인메모리 처리는 콜센터 및 창고 관리에 특히 도움이 될 수 있습니다.

인메모리 처리를 사용하면 쿼리를 실행할 때마다 데이터베이스에 액세스하는 대신 소스 데이터베이스를 한 번만 쿼리할 수 있으므로 반복 처리를 없애고 데이터베이스 서버에 대한 부담을 줄일 수 있습니다.밤새 메모리 내 데이터베이스를 채우도록 예약함으로써 데이터베이스 서버를 피크 시간대에 운영 목적으로 사용할 수 있습니다.

인메모리 테크놀로지 채택

사용자가 많으면 메모리 내 구성에 대량의 RAM이 필요하며, 이는 하드웨어 비용에 영향을 미칩니다.이 투자는 질의 응답 속도가 우선시되고 데이터 양이 크게 증가하여 보고 설비에 대한 수요가 증가하는 상황에서 적합할 가능성이 높으며, 정보가 급변하지 않는 상황에서는 여전히 비용 효율이 높지 않을 수 있습니다.인메모리 툴은 최종 사용자에게 대량의 데이터를 제공하기 때문에 보안도 고려해야 할 사항입니다.제조업체는 권한이 있는 사용자만 데이터에 액세스할 수 있도록 보장할 것을 권장합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Ghose, S. (November 2019). "Processing-in-memory: A workload-driven perspective" (PDF). IBM Journal of Research and Development. 63 (6): 3:1-19.
  2. ^ Chi, Ping; Li, Shuangchen; Xu, Cong; Zhang, Tao; Zhao, Jishen; Liu, Yongpan; Wang, Yu; Xie, Yuan (June 2016). "PRIME: A Novel Processing-in-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory". 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). Seoul, South Korea: IEEE: 27–39. doi:10.1109/ISCA.2016.13. ISBN 978-1-4673-8947-1.
  3. ^ Plattner, Hasso; Zeier, Alexander (2012). In-Memory Data Management: Technology and Applications. Springer Science & Business Media. ISBN 9783642295744.
  4. ^ Zhang, 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. doi:10.1109/TKDE.2015.2427795.
  5. ^ Gill, John (2007). "Shifting the BI Paradigm with In-Memory Database Technologies". Business Intelligence Journal. 12 (2): 58–62. Archived from the original on 2015-09-24.
  6. ^ Earls, A (2011). Tips on evaluating, deploying and managing in-memory analytics tools (PDF). Tableau. Archived from the original (PDF) on 2012-04-25.
  7. ^ "SQL Server 2012 with Violin Memory" (PDF). Microsoft. Archived from the original (PDF) on 2013-03-09. Retrieved 2013-06-01.
  8. ^ "In_memory Analytics". yellowfin. p. 6.
  9. ^ Kote, Sparjan. "In-memory computing in Business Intelligence". Archived from the original on April 24, 2011.
  10. ^ 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: 12–12. doi:10.1109/SC.2004.11. ISBN 978-0-7695-2153-4.