DataBase : 데이터를 어딘가에 쌓아두고 보관하며 필요할때마다 추가하거나 조회, 수정, 삭제할 수 있는 장소
SharedPreference는 DB인가? : NO
DB
소규모 데이터의 관리/사용에 적합한 RDBMS
DB작업을 위해
⇒ 복잡 ⇒ 이런것들을 자동화한 라이브러리 = RoomDB
RoomDB
구성요소 : Room Database, DAO, Entities
entity : 데이터베이스에 만들어 줄 테이블
DAO : Database Access Object의 줄임말 / 데이터에 접근할 수 있는 메서드를 정의해 놓은 인터페이스
Room Database : 데이터를 저장/관리하는 실제 데이터베이스
DBMS의 종류(rdbms,nosql) / [ DataBase ] RDB, RDBMS, SQL, NOSQL 간단 개념정리 (tistory.com)
RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스
구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용이러한 테이블간의 관계에서 외래 키를 이용한 테이블 간 Join이 가능하다는 게 가장 큰 특징입니다.
사용자의 요구에 따라 정보를 생성해 관계형 데이터베이스를 생성하고 수정하고 관리할 수 있는 소프트웨어
데이터베이스 관리 시스템(RDBMS) 의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이며 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안
SQL의 예시로는 Mysql, Oracle Database, DB2 등
스키마
SQL을 사용하지 않는 데이터베이스 관리 시스템을 지칭하는 단어
NoSQL이란(Not Only SQL)의 약자로 말 그대로위에서 설명한 RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장
NoSQL의 예시로는 mongoDB, redis 등NoSQL에서는 RDBMS와는 달리 테이블 간 관계를 정의하지 않음데이터 테이블은 그냥 하나의 테이블이며 테이블 간의 관계를 정의하지 않아 일반적으로 테이블 간 Join도 불가능
데이터 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장
[ SQL, NoSQL 비교 관련 이미지 ]
sql 쿼리문법 : 데이터베이스 기초 Query 문법 (velog.io)
실제로 모든 데이터를 캐싱처리 하려면 어떻게 해야할까? : 내부저장소에 다 집어넣는거 말고 방법이 있을까...?
워커 스레드, 코루틴 차이점 : 🤔 Thread vs Coroutine 전격 비교 (velog.io)
동기 비동기 : 동기와 비동기의 개념과 차이 (tistory.com)