ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iOS :: SQLite와 Realm 장단점
    iOS 2019. 7. 15. 02:02


    안녕하세요! 상어입니다.

    진짜 오랜만에 블로그를 하는 것 같네요.. 하하핳

    네.....ㅠㅠ


    앞으로는 가벼운 글로도 많이 올게용!!


    그리하여 첫 가벼운? 글은


    SQLite와 Realm 장단점이에용XD

    제가 내부DB 선택할 때 고민했던 칭구들인데 이글 보시면서 정리가 조금 되셨으면 좋겠어요!!



    SQLite

    장점

    • 쉽다
    • 간편하다
    • iOS에 이미 내포되어 있어서 굳이 라이브러리를 사용하지 않아도 된다.
         

    단점

    • 성능 쏘쏘(단점인가..?)
    • write 경우 테이블이 아닌 DB를 lock 걸음 -> 성능이 안좋아짐
    • Date Time 같은 필드가 존재하지 않음


    write 경우 테이블이 아닌 DB를 lock 걸음 -- 부분이 이해가 안되실까봐!!

    예를 들어서 school이란 DB가 있고, 그 내부에 student, teacher 등의 table이 있는데

    write의 경우, A에서 student table에 접근하면 student table이 아닌 school DB에 lock이 걸려

    다른곳에서 DB자체의 접근이 불가능해집니다.




    Realm

    장점

    • 성능이 좋음(매우!!) -> 코드는 공개되어 있지 않음..
    • Android, iOS DB 공유 가능
    • Realm Studio가 있음 -> 실시간 변경이 눈으로 바로바로 확인 가능   


    단점

    • 바이너리 용량이 늘어남
    • main thread 이용하고 있는데 다른 thread 접근하면 에러남. 그래서 사용할 때 스레드 지정해줘야 함
    • 다양한 쿼리를 지원하지 않음
    • iOS8부터 지원가능


    이렇게 장단점을 알아봤는데, 상황에 따라 알맞은 것을 사용하면 될 것 같아욤!
    무조건 Realm이 좋은거 아냐???? 라고 생각하실 수 있지만
    만약, 용량을 신경써야 하는 어플이거나, 성능을 굳이 신경안써도 될 정도로 간단하게 할거라면 Realm보단 SQLite를 사용하는게 더 알맞을 것 같아욥ㅎㅎ



    안뇽!


    'iOS' 카테고리의 다른 글

    iOS :: ARC, strong, weak, unowned  (0) 2020.04.28
    iOS :: URI와 URL 차이 (URI VS URL)  (0) 2019.07.20
    iOS :: TableView xib로 구현하기  (1) 2019.03.11
    iOS :: TableView Code로 구현하기  (0) 2019.03.08
    iOS :: TableView Storyboard로 구현하기  (0) 2019.02.19

    댓글

Designed by Tistory.