Core Data는 Apple이 제공하는 프레임워크 중 하나로, 애플의 여러 운영 체제에서 데이터 저장과 관리를 도와줍니다. 하지만 그저 단순한 데이터베이스 관리 시스템이 아닌, 앱의 객체와 영구 저장소 사이의 변환을 효과적으로 관리해 주는 객체-관계 매핑 (ORM) 프레임워크입니다.
앱의 데이터 구조를 정의합니다. 여기에는 엔터티, 속성, 관계 및 기타 규칙이 포함됩니다.
데이터 저장 및 검색의 실제 연산을 관리합니다. 이는 데이터 모델과 실제 데이터가 저장되는 공간 사이의 다리 역할을 합니다.
이는 데이터의 실제 작업 공간입니다. 여기에서 변경, 추가, 삭제 작업을 수행하며, 변경 사항을 저장하려면 이 컨텍스트를 통해 저장소에 커밋해야 합니다.
이는 Core Data의 구성 요소를 모두 담고 있는 컨테이너로, 초기화 및 관리가 간편합니다.
기본적으로 SQLite를 사용하지만, 필요에 따라 XML이나 바이너리 형식 등 다른 방식을 선택할 수 있습니다.
Core Data는 데이터베이스 관리 시스템이 아니라 ORM 프레임워크입니다. 따라서 객체 중심의 작업에 더 적합합니다.
성능 최적화를 위해 별도의 고려가 필요할 수 있습니다, 특히 대량의 데이터나 복잡한 쿼리를 다룰 때입니다.
동시성 문제에 주의해야 합니다. 여러 스레드에서 Core Data를 사용할 때는 각 스레드별로 별도의 NSManagedObjectContext를 사용하는 것이 좋습니다.