데이터 베이스 관련 용어들이 정리가 되지 않아 정리해 둔다.
👻 MySQL
- 로컬 환경에서 설치 해 사용하는 방법
- 도커 위에서 mysql 띄워서 사용한다.
- aws 에서 rds 을 빌려서 사용한다.
🚌 아마존에서 말하는 RDS
Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다.
하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서,
비용 효율적이고 크기 조정 가능한 용량을 제공합니다.
사용자가 애플리케이션에 집중해 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원합니다.
🚓 DDL (data definition language)
- 데이터를 정의할 때 사용하는 언어
- 테이블, 데이터 베이스를 생성, 수정 , 삭제와 같은 행위 할때 사용
- 대표적으로 CREAT, DROP, ALTER 가 있따.
- 데이터베이스, 테이블, 뷰, 인덱스 를 생성 삭제할 때에 CREAT, DROP 사용.
- 테이블의 속성을 변경 할떄 ALTER를 사용한다.
🚙 DML (data Manopulation Language)
- 데이터베이스에 데이터 조작 할 때 사용. (저장, 삭제, 수정, 조회같은)
- SELECT (조회), INSERT (새로운 데이터 삽입), DELETE(데이터 삭제), UPDATE (수정)
🚍 DCL (Data COntrol Language)
- 데이터 베이스에 대한 권한과 관련된 문법으로 특정 유저가 db에 접근할 수 있는 권한을 설정할 때 사용한다.
- COMMIT __ 데이터베이스의 작업이 진짜 정상적으로 완료되었음을 관리자에게 알림.(한번에 처리하는 트랜젝션의 경우같이)
- ROLLBACK __ 데이터베이스의 작업이 비정상적으로 완료되었음을 관리자에게 알려줄 때 사용.
- GRANT __ 데이터베이스의 특정한 유저에게 사용권한 부여.
- REVOKE __ 데이터베이스의 특정한 유저에게 사용권한 취소.
🔮 Sequelize
ORM (Object Relation Mappin)으로써
Javascript 객체 Object와 데이터베이스의 관계(Relation)를 연결(Mapping) 해주는 도구이다.
- 데이터베이스 조작하려면 sql 쿼리를 알아야 하는데
- 이 시퀄라이즈 사용하면 자바스크립트 문법으로 데이터베이스를 조작할 수 있다.
🚜 ORM
- 옜날에 MySQL 사용할 때, ORM 사용하지 않고, 모든 코드를 Sql을 사용하는 Raw Query 형태로 구현했다.
- Sequlize 같은 ORM이 생기면서, 이런 상황이 많이 줄어들었다.
- 왜 이제는 ORM으로 프로젝트를 구현하는 걸까? Raw Query가 아니라
- 대표적 이유 2가지
-
- 프로덕션에서 사용하는 데이터 베이스가 언제 바뀔지 알 수 없다.
-
- 데이터베이스에서 사용하는 DB 또는 Table 속성이 변경되었을 때에 빠르게 수정이 가능핟.
'TIL' 카테고리의 다른 글
23/11/11 TIL __ 시퀄라이저 메소드 오류 Cannot read properties of undefined (reading 'create') , create is not a function (0) | 2023.11.11 |
---|---|
23/11/10 TIL __ 시퀄라이저 aws rds 테이블 만들기. (0) | 2023.11.10 |
23/11/08 TIL __ JWT 와 Token (0) | 2023.11.09 |
23/11/07 TIL __ 쿠키와 세션 (0) | 2023.11.07 |
23/11/06 TIL __ 포트를 죽여도 계속 살아나요(address already in use) (1) | 2023.11.06 |