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

숑이·2023년 7월 22일
0

iOS

목록 보기
3/26
post-thumbnail
post-custom-banner

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

UserDefaults

  • 키-값 쌍으로 저장하는 인터페이스입니다.
  • 런타임시 개체를 이용하여 기본 데이터베이스에서 사용하는 기본 값을 읽어오기 때문에 값이 필요할 때마다 데이터베이스를 열어볼 필요가 없습니다.

CoreData

  • SQLite처럼 테이블을 생성하지않고, 객체를 생성하여 데이터를 운영하기에 더 많은 저장공간과 메모리를 필요로 합니다. 그렇지만 더욱 빠르게 데이터를 가져올 수 있다는 특징이 있습니다.

SQLite

  • C언어로 작성되어 있어 매우 가벼운 것이 특징이고, 전체 데이터베이스를 디스크 파일 1개에 저장하고, 설정 자체가 매우 간편하기에 관리하기에 수월합니다.
  • 다양한 운영체제에서 사용되고, 수많은 프로세스와 스레드의 접근으로부터 안전합니다.

Realm

  • 모바일에 최적화된 라이브러리이며, SQLite, CoreData보다 속도, 성능면에서 우수합니다.
  • 많은 작업들을 처리하기 위해 많은 코드가 필요하지 않으며, 데이터 읽기/쓰기 작업을 모두 메인 스레드에서 할 수 있습니다.
  • 대용량의 데이터에 대해 무료로 사용할 수 있고, 용량에 상관없이 속도와 성능이 유지됩니다.

속도 : Realm > CoreData > SQLite
메모리 및 저장공간 사용 : Realm > CoreData > SQLite

profile
iOS앱 개발자가 될테야
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 7월 22일

흥미로운 내용이네요. 저도 앱 개발을 공부하고 있는데 많은 도움이 되었습니다. 감사합니다.

답글 달기