SQLite database란?
- 영구/임시 데이터 저장에 로컬 저장소가 이용되는데,
SQLite
는 영구 데이터 저장에 가장 선호되는 형식
- SQLite에 저장할 때에도 암호화해서 저장하지 않으면 조회 가능.
- DB Browser 등의 툴로 그냥 열면 보임..
- 평문으로 저장 X
- SQLCipher 등 툴로 암호화해서 저장해야함.
- 키가 없으면 파일을 열어 볼 수 없도록


데이터 완전삭제 하는 방법
- 삭제된
SMS
,통화기록
등 다양한 데이터 저장에 쓰임.
- DB에서 삭제하더라도 연결만 끊기는 것이고 실제로 DB에는 남아있음.
- Db 파일 자체를 지우던지
- 새 레코드로 덮어쓰던지
macOS
는 sqlite3 연결 해제 시 자동 vaccum 호출하며 공간 회수되지만,
iOS
는 SSD 수명을 생각해서인지 자동 X- Auto_vacuum은 db조각모음을 하지 않으므로 -> 여전히 복구 가능
- Vacuum 명령어 수행이 답 (전체 db를 재구성 -> 삭제된 레코드 폐기)
- 대규모 DB에선 시간 문제, ssd 수명 문제 야기
- Update로 먼저 덮어쓴 후, delete로 삭제하기!