인메모리 데이터베이스
In-memory database메모리 내 데이터베이스(IMDB, 메인 메모리 데이터베이스 시스템(MMDB) 또는 메모리 상주 데이터베이스)는 주로 컴퓨터 데이터 저장을 메인 메모리에 의존하는 데이터베이스 관리 시스템입니다.디스크 스토리지 메커니즘을 사용하는 데이터베이스 관리 시스템과 대조됩니다.인메모리 데이터베이스는 디스크 액세스가 메모리 액세스보다 느리기 때문에 디스크 최적화 데이터베이스보다 빠릅니다.또한 내부 최적화 알고리즘이 간단하고 CPU 명령 실행 횟수가 적습니다.메모리의 데이터에 액세스하면 데이터 쿼리 시크 시간이 줄어들기 때문에 [1][2]디스크보다 빠르고 예측 가능한 성능을 얻을 수 있습니다.
통신 네트워크 기기나 모바일 광고 네트워크를 실행하고 있는 애플리케이션 등 응답 시간이 중요한 애플리케이션은 메인 [3]메모리 데이터베이스를 사용하는 경우가 많습니다.IMDB는 특히 2000년대 중반부터 데이터 분석 분야에서 많은 주목을 받고 있습니다.주로 대용량 메모리를 처리할 수 있는 멀티코어 프로세서와 저렴한 [4][5]RAM에 기인합니다.
인메모리 데이터 스토리지의 잠재적인 기술적 장애는 RAM의 변동성입니다.특히 의도적이든 의도적이든 정전 시 휘발성 RAM에 저장된 데이터는 [6]손실됩니다.비휘발성 랜덤 액세스 메모리 테크놀로지의 도입에 의해, 인메모리 데이터베이스는 최대 속도로 동작해,[7][8][9] 정전시에 데이터를 유지할 수 있게 됩니다.
산성 서포트
가장 간단한 형태로 메인 메모리 데이터베이스는 휘발성 메모리 장치에 데이터를 저장합니다.이러한 디바이스는, 디바이스의 전원이 끊어지거나 리셋 되면, 보존되어 있는 모든 정보가 없어집니다.이 경우 IMDB는 ACID(원자성, 일관성, 격리, 내구성) 속성의 "내구성" 부분에 대한 지원이 부족하다고 할 수 있다.휘발성 메모리 기반 IMDB는 원자성, 일관성 및 격리라는 다른 세 가지 ACID 속성을 지원할 수 있으며, 이를 지원하는 경우가 많습니다.
많은 IMDB는 다음 메커니즘을 통해 내구성이 향상되었습니다.
- 특정 시점의 데이터베이스 상태를 기록하는 스냅샷 파일 또는 체크포인트 이미지.일반적으로 시스템은 정기적으로 또는 적어도 IMDB가 제어된 셧다운을 실행할 때 이러한 셧다운을 생성합니다.데이터에는 영속성을 측정하지만(시스템 크래시가 발생해도 데이터베이스가 모든 것을 잃는 것은 아님), 일부의 내구성만 제공합니다('최근' 변경은 없어집니다).완전한 내구성을 위해 다음 중 하나로 보완해야 합니다.
- 트랜잭션 로그 - 데이터베이스 변경사항을 저널 파일에 기록하고 메모리 내 데이터베이스의 자동 복구를 용이하게 합니다.
- 비휘발성 DIMM(Non-Volatile DIMM)은 DRAM 인터페이스를 갖춘 메모리 모듈로, 종종 비휘발성 데이터 보안을 위해 NAND 플래시와 결합됩니다.최초의 NVDIMM 솔루션은 백업 전원용 배터리가 아닌 슈퍼 캐패시터를 사용하여 설계되었습니다.이 스토리지를 사용하면 재부팅 시 IMDB를 안전하게 재개할 수 있습니다.
- 비휘발성 랜덤 액세스 메모리(NVRAM)입니다.보통 배터리 전원(배터리 RAM)으로 백업되는 정적 RAM 또는 전기적 소거 프로그램 가능 ROM(EEPROM) 형태로 되어 있습니다.이 스토리지를 사용하면 재부팅 IMDB 시스템은 마지막으로 일관된 상태에서 데이터스토어를 복구할 수 있습니다.
- 프라이머리 데이터베이스 장애 시 동일한 스탠바이 데이터베이스로의 자동 페일오버를 통해 데이터베이스 복제에 의존하는 고가용성 구현.시스템 크래시가 완전히 발생했을 경우의 데이터 손실을 방지하기 위해 IMDB 복제는 일반적으로 위의 1개 이상의 메커니즘과 더불어 사용됩니다.
IMDB에 따라서는 데이터베이스의 일부 영역에 대해 데이터베이스 스키마가 다른 내구성 요건을 지정할 수 있습니다.따라서 쉽게 재생성할 수 있거나 시스템 셧다운 후 의미가 없는 고속 변경 데이터는 내구성(고가용성을 위해 복제해야 함)을 위해 저널링할 필요가 없습니다.배급 정보는 보존이 필요한 것으로 표시된다.
온디스크 데이터베이스를 갖춘 하이브리드
데이터를 메모리에 저장하는 것은 성능상의 이점을 제공하지만, 데이터 저장에는 비용이 많이 드는 방법입니다.비용을 제한하면서 인메모리 스토리지의 이점을 실현하기 위한 접근 방식은 가장 자주 액세스하는 데이터를 메모리에 저장하고 나머지는 디스크에 저장하는 것입니다.메모리에 저장해야 하는 데이터와 디스크에 저장해야 하는 데이터는 명확하게 구분되지 않기 때문에 일부 시스템에서는 데이터 [10]사용량에 따라 데이터가 저장되는 위치를 동적으로 업데이트합니다.이 접근 방식은 가장 자주 액세스하는 데이터가 메모리에 저장되는 것과는 달리 가장 최근에 액세스한 데이터가 캐슁되는 캐싱과는 미묘하게 다릅니다.
하이브리드 접근 방식의 유연성으로 인해 다음 사이에서 균형을 맞출 수 있습니다.
- 퍼포먼스(디스크가 아닌 지정된 데이터를 모두 메모리에 정렬, 저장 및 취득함으로써 향상)
- 비용이 적게 드는 하드 디스크를 더 많은 메모리로 대체할 수 있기 때문에 비용이 많이 듭니다.
- 고집
- RAM 칩은 소형 하드 드라이브의 밀도에 근접할 수 없기 때문에 폼 팩터
클라우드 컴퓨팅 업계에서는 이러한 관점에서 [11]데이터가 어떻게 저장되는지를 설명하기 위해 "데이터 온도" 또는 "핫 데이터"와 "콜드 데이터"라는 용어가 등장했습니다.핫 데이터는 자주 액세스해야 하는 미션 크리티컬 데이터를 기술하는 데 사용되며, 콜드 데이터는 아카이브 또는 감사 목적으로 보관된 데이터 등 덜 빈번하고 덜 긴급한 데이터를 기술합니다.핫 데이터는 빠른 검색과 수정을 가능하게 하는 방법으로 저장해야 합니다.대부분은 인메모리 스토리지에 의해 이루어지지만 항상 그렇지는 않습니다.한편 콜드 데이터는 비용 효율이 높은 방법으로 저장할 수 있으며 핫 데이터에 비해 데이터 접근 속도가 느릴 수 있습니다.이러한 설명은 유용하지만 "hot"과 "cold"에는 구체적인 [11]정의가 없습니다.
제조 효율은 메모리/온디스크 데이터베이스 시스템의 조합을 선택하는 또 다른 이유입니다.일부 장치 제품 라인(특히 가전 제품 라인)에는 영구 저장 장치가 있는 장치와 저장 장치에 메모리를 사용하는 장치(셋톱 박스 등)가 포함되어 있습니다.이러한 장치에 데이터베이스 시스템이 필요한 경우 제조업체는 디스크 미포함 제품과 디스크 기반 제품에 각각 별도의 인메모리 데이터베이스와 온디스크 데이터베이스를 사용하는 대신 코드의 커스터마이징을 줄이고 저비용으로 하이브리드 데이터베이스 시스템을 채택할 수 있습니다.
단일 데이터베이스인 WebDNA에서 인메모리 테이블과 온디스크 테이블을 모두 지원하는 최초의 데이터베이스 엔진은 1995년에 출시되었습니다.
스토리지 메모리
또 다른 변형으로는 서버 내의 대량의 비휘발성 메모리가 있습니다.예를 들어 플래시 메모리 칩은 디스크 어레이가 아닌 주소 지정 가능한 메모리입니다.이 메모리 형식의 데이터베이스는 매우 빠른 액세스 속도와 재부팅 및 정전 [12]시 지속성을 결합합니다.
「 」를 참조해 주세요.
메모들
- ^ "Definition: in-memory database". WhatIs.com. Retrieved 19 January 2013.
- ^ Michael Vizard. "The Rise of In-Memory Databases". Slashdot. Archived from the original on 1 February 2013. Retrieved 19 January 2013.
- ^ "TeleCommunication Systems Signs up as a Reseller of TimesTen; Mobile Operators and Carriers Gain Real-Time Platform for Location-Based Services". Business Wire. 2002-06-24.
- ^ "Falling RAM Prices Drive In-Memory Database Surge". SAP. Retrieved 19 January 2013.
- ^ "Rise of In-Memory Databases Impacts Wide Range of Jobs". Dice.com. July 13, 2012.
- ^ "In-memory computing: what happens when the power goes out?". Retrieved March 10, 2017.
- ^ 지금까지 RAM은 영속적인 데이터스토어로 사용되지 않았기 때문에 이러한 경우 데이터 손실은 문제가 되지 않았습니다.비휘발성 메모리를 사용한 시스템 전체의 지속성 http://research.microsoft.com/apps/pubs/default.aspx?id=160853
- ^ NAND 플래시 메모리의 암울한 미래 http://research.microsoft.com/apps/pubs/default.aspx?id=162804
- ^ AGIGARAM NVDIMM은 시스템 장애 시에도 데이터를 저장합니다.https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
- ^ "Teradata enters the in-memory fray, intelligently ZDNet". Retrieved July 28, 2017.
- ^ a b "What's the Diff: Hot and Cold Data Storage". Retrieved July 28, 2017.
- ^ "정말 스토리지의 황금시대입니다."
레퍼런스
- Jack Belzer. Encyclopedia of Computer Science and Technology - Volume 14: Very Large Data Base Systems to Zero-Memory and Markov Information Source. Marcel Dekker Inc. ISBN 978-0-8247-2214-2.