Search
Duplicate

앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가?

Created
2023/10/08 05:31
Tags
iOS
태그

 면접 질문

Q) 앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가?

UserDefaults

키-값 쌍으로 저장하는 인터페이스
런타임시 개체를 이용하여 기본 데이터베이스에서 사용하는 기본값을 읽어오기 때문에 값이 필요할 때마다 데이터베이스를 열 필요가 없다.
대용량의 데이터보다 자동 로그인 여부, 아이디, 환경 설정에서의 설정 데이터 값과 같은 단일 데이터 등을 보관한다.

CoreData

객체 그래프를 관리하기 위한 프레임워크이다.
SQLite와 같이 테이블을 이용하지 않고, 객체를 생성하여 데이터를 운영하기에 더 많은 저장 공간과 메모리를 필요로 한다. 그렇지만 더욱 빠르게 데이터를 가져온다.
데이터 모델을 생성한 후, Entity를 생성한다.

SQLite

Swift에는 특별한 설치 없이 바로 사용할 수 있다.
C언어로 작성되어 있어 매우 가벼운 것이 특징이며, 전체 데이터베이스를 디스크 파일 1개에 저장하고, 설정 자체가 매우 간편하기에 관리하기가 수월하다.
SQLite에는 iOS, Android, Linux, Window 등과 같이 다양한 운영체제에서 사용된다.
수많은 프로세스와 스레드의 접근으로부터 안전한다.

Realm

SQLite와 같이 오픈소스이며, 모바일에 최적화된 라이브러리다.
SQLite, Core Data 보다 속도가 빠르고 성능면에서 더 우수하다.
많은 작업들을 처리하기 위해 코드가 많이 필요하지 않으며, 메인 스레드에서 데이터의 읽기, 쓰기 작업을 모두 할 수 있어 편리하다.
대용량의 데이터에 대해 무료로 사용할 수 있으며, 용량이 적고 큼에 상관없이 속도와 성능이 유지된다.