Realm 파일로 작업하기 - React Native SDK
Realm은 Realm 데이터베이스에서 데이터를 구성하는 데 사용되는 핵심 데이터 구조입니다. 기본적으로 Realm은 Realm 객체라고 하는 애플리케이션에서 사용하는 객체와 객체를 설명하는 추가 메타데이터의 컬렉션입니다.
Realm 파일
Realm은 영역의 모든 객체 및 유형의 바이너리 인코딩 버전을 단일 .realm
파일에 저장합니다. 파일은 Realm을 열 때 정의한 특정 경로에 있습니다.
팁
프로덕션 애플리케이션에서 압축 구현
모든 프로덕션 애플리케이션은 shouldCompactOnLaunch
콜백을 구현하여 주기적으로 Realm 파일 크기를 줄여야 합니다.
보조 파일
Realm은 각 Realm에 대해 추가 파일을 생성합니다.
'realm' 접미사가 붙은 영역 파일(예:
default.realm
: 객체 데이터를 포함합니다.잠금 파일, "lock" 접미사(예:
default.realm.lock
: Realm에서 활발하게 사용 중인 데이터 버전을 추적합니다. 이렇게 하면 Realm이 클라이언트 애플리케이션에서 아직 사용 중인 저장 공간을 회수할 수 없습니다.메모 파일, 접미사 '메모'(예:
default.realm.note
: 스레드 간 및 프로세스 간 알림을 활성화합니다.관리 파일, 접미사 "관리"(예:
default.realm.management
: 내부 상태 관리입니다.
Realm의 인스턴스가 하나 이상 열려 있는 상태에서 Realm 파일 또는 해당 보조 파일을 삭제하면 Realm이 손상되거나 동기화가 중단될 수 있습니다.
Realm의 모든 인스턴스가 닫히면 이러한 파일을 안전하게 삭제할 수 있습니다. Realm 파일을 삭제하기 전에 Realm의 동기화되지 않은 데이터가 모두 손실되므로 중요한 객체를 백업해야 합니다.
인메모리 Realm
또한 메모리에서 Realm을 완전히 열면 .realm
파일이나 관련 보조 파일이 생성되지 않습니다. 대신 SDK는 Realm이 열려 있는 동안 메모리에 객체를 저장하고 모든 인스턴스가 닫히면 즉시 삭제합니다.
Realm 파일 경로 찾기
Realm 파일은 Realm을 열 때 선택적으로 정의할 수 있는 특정 경로에 있습니다.
// Open a realm. const realm = await Realm.open({ schema: [Car], }); // Get on-disk location of the Realm const realmFileLocation = realm.path; console.log(`Realm file is located at: ${realm.path}`);