728x90
React Native 로 개발하다보면 사용하는 내장 DB 로
Realm, sqlite, Core Data
등(?)..이있다..
차이점으로
종류 | Realm | SQLite | Core Data |
특징 | - 오픈 소스 라이브러리로 모바일에 최적화된 데이터베이스 라이브러리 - 데이터 컨테이너 모델을 사용하며 데이터 객체는 Realm에 객체로 저장 (객체중심의 데이터베이스) - 메인쓰레드에서 데이터 읽기/쓰기 가능 |
- 전세계적으로 가장 많이 사용 되는 데이터 베이스 엔진이며 오픈소스 - 서버가 필요없는 SQL 데이터 베이스 엔진 - Swift에서는 특별한 설치 없이 바로 사용 |
- iOS에서 자체 제공하기 때문에 비교적 안정적임 - Object에 더 중심을 둠 - Obejct-C에 클래스로 표현되는 객체의 내용을 저장 |
장점 | - 복잡한 Entity에 대한 매핑을 처리해야할 문제가 없으므로 Realm은 메모리 상의 객체를 디스크로 빠르게 가져올 수 있음 - 데이터 용량에 제한 없이 무료 - 대용량의 테이터와 대규모 스토리지에 상관없이 일관된 속도 및 성능을 보장 - SQLite 및 CoreData 대비 빠른 속도 - Realm Studio툴을 사용하여 DB를 시각적으로 확인 - 몇 줄의 코드로 모든 작업을 처리 가능 |
- 매우 작고 가벼워 전체 데이터 베이스를 하나의 디스크 파일에 저장할 수 있음 - 서버로부터 독립적이고 설정이 간편 - 다양한 OS에서 사용(Mac OS X, iOS, Android, Linux, Window) - 여러 프로세스와 스레드로 부터 접근이 안전 |
- SQLite보다 더 빠르게 저장된 기록을 가져옴 - iOS에서 자체 제공하기 때문에 비교적 안정적임 |
단점 | - 외부 라이브러리를 설치해서 사용해야 하기 때문에 비교적 위험이 있음 - main thread 이용하기 때문에 thread 접근하면 에러남으로 인해 스레드 지정해정야함. - 바이너리 용량이 큼 - 다양한 쿼리를 지원하지 않음 - ios8부터 지원가능 |
- Date Time 같은 필드가 존재하지 않음 - 성능이 Realm에 비해 좋지 않음 - rite 경우 테이블이 아닌 DB에 Lock을 걸기떄문에 주의해야됨. |
- SQLite보다 많은 메모리를 사용하고, 더 많은 저장공간이 필요 - 오버헤드가 발생할 가능성이 있음 - 다른 플랫폼의 OS와 공유가 되지 않음 |
어떤것을 사용할지는 본인의 선택!!
728x90
'아이오닉(Ionic) > Ionic React' 카테고리의 다른 글
React XML - fetch 이용하여 불러오기 (0) | 2024.05.18 |
---|---|
기본 변수 (0) | 2024.05.17 |
React Native 프로젝트에서 Sqlite Database 사용 2 (Sample) (0) | 2023.12.17 |
React Native 프로젝트에서 Sqlite Database 사용 1 (0) | 2023.12.17 |
Ionic React 디렉토리 구조 (0) | 2023.04.10 |