2016-06-04 3 views
1

메모리 내장 데이터베이스의 개념을 살펴 보았습니다. 그 기사는 다음과 같습니다 :인 메모리 데이터베이스가 데이터를 유지하는 방법

메모리 내 데이터베이스 시스템은 데이터를 전체적으로 메인 메모리에 저장하는 데이터베이스 관리 시스템입니다.

는 그들은 장점과이 개념의 단점에 대해 설명합니다. 메인 메모리에 데이터를 완전히 저장이 데이터베이스 경영진 시스템,

모든 데이터는 정전 후 사라 할 경우

내 문제는 ???

또는 데이터를 보호 할 방법이 있습니까 ???

답변

3

대부분의 메모리 데이터베이스 시스템은 적어도 옵션으로, 지속성을 제공합니다. 이것은 트랜잭션 로깅을 통해 구현됩니다. 정상 종료시 메모리 내 데이터베이스 이미지가 저장됩니다. 다음에 다시 열면 이전에 저장된 이미지가로드 된 후 메모리 내 데이터베이스에 커밋 된 모든 트랜잭션이 트랜잭션 로그 파일에도 추가됩니다. 시스템이 비정상적으로 종료되면 원래 데이터베이스 이미지를 다시로드하고 트랜잭션 로그 파일에서 트랜잭션을 재생하여 데이터베이스를 복구 할 수 있습니다.

데이터베이스는 모두 메모리 여전히 때문에 일부만 메모리에 캐시되는 영구적 인 데이터베이스가 다른 점은 전체 데이터베이스를 저장하기에 충분한 사용 가능한 시스템 메모리가 있어야합니다. 따라서 캐시 히트 또는 캐시 미스의 예측 불가능 성이 제거됩니다. 로그 파일에 트랜잭션을 덧붙이

일반적으로 매우 다른 성능 특성을 가질 것이다, 동기 또는 비동기 적으로 수행 할 수 있습니다. 비동기 트랜잭션 로깅은 파일 시스템 버퍼에서 플러시되지 않고 시스템이 예기치 않게 종료 (예 : 커널 패닉)되는 경우에도 커밋 된 트랜잭션 손실 가능성을 여전히 위험에 빠뜨릴 수 있습니다.

은 인 - 메모리 데이터베이스 트랜잭션 로깅은 오직 로그 파일에 트랜잭션을 추가 할 I/O 하나 개의 파일을 발생에 보장됩니다. 트랜잭션이 크거나 작 으면 문제가되지 않지만 지속성 미디어에 하나의 쓰기 만 남습니다. 또한 쓰기는 항상 순차적이며 (항상 로그 파일에 추가됨) 회전하는 미디어 에서조차도 성능이 저하 될 수 있습니다.

다른 미디어 성능에 크거나 작은 영향을 미칠 것입니다. HDD는 SSD 다음으로 메모리 계층 FLASH (예 : FusionIO PCIExpress 카드)가 가장 많고 NVDIMM 메모리에서 오는 영향이 가장 적습니다.

NVDIMM 메모리는 메모리 내 데이터베이스를 저장하거나 복구를 위해 트랜잭션 로그를 저장하는 데 사용할 수 있습니다. 최대 NVDIMM 메모리 크기는 기존 메모리 크기보다 작지만 (더 비싸지 만) 인 메모리 데이터베이스의 크기가 몇 기가 바이트 인 경우이 옵션은 메모리 내 데이터베이스의 성능을 100 % 유지하면서 동일한 지속성을 제공 할 수 있습니다 영구 미디어에 대한 기존 데이터베이스로 http://www.odbms.org/wp-content/uploads/2014/06/IMDS-NVDIMM-paper.pdf

논문은 우리에 의해 작성된이 논문에서 http://www.automation.com/pdf_articles/mcobject/McObject_Fast_Durable_Data_Management.pdf

그리고 NVDIMM로 :

트랜잭션이 백서에서 HDD, SSD와 퓨전 아이오 로깅와 메모리 데이터베이스의 성능 비교가 있습니다 (McObject), 벤더 중립적이다.

관련 문제