RocksDB newbie here.RocksDB에서 세션 전용 memtable 업데이트/병합
런타임시 나는 에 대해서만 RocksDB를 사용하여 데이터을 읽습니다. 때로는 다른 소스의 세션 특정 레코드를 병합해야합니다.
주 데이터베이스에 병합하지 않기를 바랍니다. 특정 세션의 세션 수명 동안 만 존재하도록하고 싶습니다.
물론 정규 std :: vector를 사용하여 RocksDB와 다른 소스를 병합 할 수 있지만 데이터가 중복됩니다.
나는 memtable 및 merge와 같은 개념을 많이 사용합니다.이 개념은 사용되거나 악용 될 수있는 것처럼 들립니다. 예를 들어, memtable에게 절대 커밋하지 말고 변경 사항을 포기하면 작동합니다. 그것은 가능합니까?
감사합니다. @midor. 실제로, 나는 "열"이 아닌 "행"을 추가하는 것을 의미하며 다른 데이터베이스의 것입니다. 이 경우에도 귀하의 조언은 여전히 유효합니까? –
나는 그것을 얻었지만, 당신이하려고했던 것은 그 구현에 다소 혼란 스러울 것이다. 읽기만하면 데이터베이스 백업에서 데이터베이스를 복원 한 다음 데이터베이스를 조작하면 데이터베이스를 종료 할 수 있습니다. 다음에 백업을 다시 시작하면 아무 것도 변경되지 않습니다. 단점은 온라인 상태에서 원본 데이터를 절대 조작 할 수 없다는 것입니다. – midor
다시 한번 감사드립니다. Meh :). 나는이 두 가지를 기억 속에 섞을 것이라고 생각한다. –