SQLite
Room
- SQLite 사용에 도움을 주는 Android Jetpack Library의 한 종류
Realm
- MongoDB 를 사용하는 DB시스템 지원 SDK
- MongoDB
- NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.
MySQL 처럼 전통적인 테이블-관계 기반의 RDBMS가 아니며 SQL을 사용하지 않는다.
- MongoDB는 가장 기본적인 데이터를 Document라고 부른다.
이는 MySQL같은 RDBMS에서는 row에 해당된다.
이 Document의 집합을 Collection이라고 하는데, RDBMS에서는 테이블(Table)에 해당된다.
Collection의 집합은 DB이고, 이는 RDBMS에서도 동일하다.
- 똑같은 조건으로 설계되었을 시 기존 RDBMS보다 속도가 굉장히 빠르다는 장점이 있다.
이런 속도는 ACID를 포기한 대가로 얻은 것이다.
따라서 데이터 일관성(Consistency)이 거의 필요 없고 조인 연산을 Embed로 대체할 수 있는 경우에는 MongoDB가 확실한 대안이 될 수 있다.
반대로 저장하는 데이터가 은행 데이터 같이 일관성(Consistency)이 매우 중요한 작업에는 MongoDB를 쓰기 매우 힘들다.
SQLite
Room
Realm