0

C++ 앱은 메모리 내 키 - 값 세트를 저장하기 위해 RocksDB을 사용합니다.Runs 사이에 저장된 값 저장

내 앱이 다음에 실행될 때까지 DB 값을 유지할 수 있도록하는 것이 좋습니다. 의미, 프로그램이 종료됩니다, 다시 시작하고 종료하기 전에 DB에서 동일한 값을 읽습니다.

이것을 달성하는 가장 빠르고 간단한 방법은 무엇입니까?

백업을 위해 & 복원 루틴 - https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB%3F에 대한 다음 기사가 발견되었지만 과장되었을 가능성이 있습니까?

+0

단순 해 보이는데, 왜 과장이라고 생각합니까? 나는 그것이 단순한 단계의 종류라고 생각한다 (그러나 나는 그것이 훨씬 더 간단 할 수 있었다고 생각한다). – Arunmu

+0

간단하지만 DB 상태를 유지하려면 전체 백업이 실제로 필요합니까? 나는 백업이보다 광범위하고 기본적인 동작이라고 생각할 것이다. – Mugen

+0

나는 완전히 확신 할 수는 없지만 동기 또는 비동기로 트랜잭션 당 데이터를 유지할 수 있어야한다고 생각한다. – Arunmu

답변

1

yinqiwen이 말한 것 외에 RocksDB는 단순한 메모리 데이터 저장소가 아닙니다. 다양한 저장소 유형에서 실제로 잘 작동합니다. 특히 플래시 저장 장치의 성능면에서 특히 좋습니다. 다양한 RocksDB Options을 사용하여 작업 부하에 가장 적합한 구성을 실험 할 수 있지만 대부분의 경우 영구 저장 장치 유형의 기본 설정을 사용하더라도 rock db가 잘 작동합니다.

1

rocksdb는 이미 메모리 내 RocksDB 데이터베이스를 유지하는 몇 가지 방법을 제공합니다. 너의 rocksdb를 conigure하기 위해이 링크를 볼 수있다. http://rocksdb.org/blog/245/how-to-persist-in-memory-rocksdb-database/

+0

필자는이 기사가 처음에는 영구적 인 미디어에 저장되지 않을 것으로 예상되는 메모리 내 DB를 백업한다는 사실을 설명합니다. 어떻게 생각해? – Mugen

+1

데이터 파일은 tmpfs에 저장됩니다. 즉, 현재 os가 다시 시작될 때까지 데이터 파일이 저장됩니다. – yinqiwen