-
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 댓글