Letswift swift realm korean cover

Swift 모바일데이터베이스 : Realm

Let’Swift는 Swift 개발자들이 만나고, 배우고, 즐기는 컨퍼런스로 총 13개의 세션으로 이뤄졌습니다. Swift 개발자들이 모여 iOS의 넥스트 스텝을 이야기한 행사였습니다. 빠르게 발전하는 언어 Swift에 대한 뜨거운 열의를 엿볼 수 있었던 Let’Swift 행사 동영상을 공유합니다

Swift에서 사용할 모바일 데이터베이스를 찾고 계신가요? 그렇다면 쓰기 쉽고 동작속도가 빠르며, 다양한 기능을 제공하는 무료 오픈소스 Realm이 제격입니다. Realm의 SW엔지니어, 박민우님이 Swift의 모바일데이터베이스 Realm을 소개하고, Realm을 프로젝트에 도입해야 할 이유를 짧고 명료하게 강연해 주셨습니다.


모바일 데이터베이스, Realm 소개

  • Realm: 쓰기 쉽고 동작속도가 빠르고 다양한 기능을 제공하고 오픈소스(Apache 2.0 License)이면서 무료인 Swift 모바일 데이터베이스
  • SQLite나 Core Data를 대체
  • 모바일 데이터베이스를 독점하다시피 한 SQLite 이후 15년 이후인 2014년 7월 15일에 등장

이런 개발 뉴스를 더 만나보세요


  • 국내외 많은 앱들이 이미 Realm을 도입

  • 다양한 언어 지원: Swift 외에도 Objective-C, Java, Xamarin, React Native 등
  • SQLite를 감싸고 있는 ORM이 아니며 자체 C++ 코어를 보유하여 크로스 플랫폼 지원

Realm을 사용해야 하는 이유

  • 빠른 속도
    • 벤치마킹 결과
    • 쓰기나 쿼리는 2~3배 정도, 일부쿼리는 8배 이상 빠름

    • Zero-copy
      • memory mapped file: 기존 ORM에서 발생하는 메모리 복사 없이 파일 형식과 동일한 메모리 사용
    • Result 자동 업데이트
      • memory mapped file이므로 write를 하면 query result가 자동으로 업데이트 됨
  • 쉬운 사용
    • 간결하게 사용할 수 있음: 일반적인 객체 사용처럼 쓰고 쿼리할 수 있음

    • 다양한 쿼리 및 chaining 쿼리
    • 정렬 및 일대일, 다대다 관계 설정 가능
    • Thread safety: 쓰기는 블럭되고 읽기는 블럭되지 않음
  • 다양한 기능
    • In-memory Realm: JSON 등 큰 파일을 in-memory로 사용 가능
    • 암호화 지원
    • 멀티 스레드에서도 쉬운 사용: 여러 스레드를 걸쳐 인스턴스를 공유할 수는 없지만, 현재 스냅샷 데이터를 반환하고 일관된 데이터를 볼 수 있음
    • 데이터 업데이트의 알림 및 fine-grained notification 가능
    • 파일을 쉽게 읽을 수 있는 browser 및 CSV Converter 제공
    • 16MB까지 파일 저장 가능
    • 더 나은 앱을 위한 애드온 지원: 맵, 탐색 바 등
    • Migration, Debugging, Multiple DB 등

Realm을 만날 수 있는 곳

결론

  • 빠르게 성장하는 Realm을 만나 보세요.


  • 최근 version 1.0이 됐습니다.
  • 이미 발빠르게 Swift 3과 Xcode 8도 지원합니다.
  • Realm blog에서 뉴스도 만나보세요.
  • Swift로 쓰여지고 Swift를 지원하는 Swift 네이티브 데이터베이스

발표 슬라이드는 아래를 참고해주세요.

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.

박민우

비지니스를 좋아하는 소프트웨어 개발자 @tebica / Realm을 아시아지역에 확산시키는 일을 합니다.

4 design patterns for a RESTless mobile integration »

close