[ swift ] Realm 은근히 강력한 데이터베이스

sonny·2025년 1월 19일
0

TIL

목록 보기
107/133

Realm은 iOS 개발에서 많이 사용되는 경량 데이터베이스로, 객체 지향적인 접근 방식을 통해 데이터를 쉽게 관리할 수 있도록 도와준다는데,

간단한 API와 뛰어난 성능 덕분에 Core Data나 SQLite를 대체하는 데 자주 사용된다고 한다.


Realm의 주요 특징

  1. 빠른 성능
    Realm은 C++로 작성되어 매우 빠른 데이터 처리 속도를 제공한다. 특히 대규모 데이터를 다룰 때도 효율적이다.

  2. 간단한 API
    객체를 사용해 데이터를 관리하기 때문에 사용법이 직관적이다. 데이터베이스 작업이 복잡하지 않아 초보자도 쉽게 사용할 수 있다.

  3. 객체 기반 데이터 모델링
    데이터베이스를 객체처럼 사용한다. Realm에서 모델을 정의하면, 이를 곧바로 데이터베이스에 저장하거나 읽을 수 있다.

  4. 자동 동기화 지원
    Realm Sync를 사용하면 클라우드와 데이터를 실시간으로 동기화할 수 있다. 이를 통해 여러 기기 간 데이터 일관성을 쉽게 유지할 수 있다.

  5. 크로스 플랫폼 지원
    iOS, macOS, Android 등 다양한 플랫폼에서 사용할 수 있다. 하나의 데이터베이스 구조를 여러 플랫폼에서 공유 가능하다.

  6. 관계형 데이터 처리
    Realm은 간단한 관계형 데이터를 처리할 수 있는 기능도 제공한다. 예를 들어, 한 객체 안에 다른 객체를 포함하거나 연결할 수 있다.


Realm 사용 시 알아두면 좋은 점

  • 쓰레드 안전성: Realm 객체는 특정 스레드에 종속된다. 다른 스레드에서 접근하려면 복사본을 사용하거나 새로운 Realm 인스턴스를 생성해야 한다.
  • 마이그레이션 처리 필요: Realm 파일은 특정 버전의 라이브러리에 종속되므로 데이터 모델이 변경되면 마이그레이션을 설정해야 한다.
  • 파일 크기 관리: 데이터가 삭제되어도 파일 크기는 줄어들지 않으므로, compact를 통해 주기적으로 파일 크기를 관리해야 한다.

이번에 과연 뭘 쓰려나

profile
iOS 좋아. swift 좋아.

0개의 댓글

관련 채용 정보