TIL

23/11/09 TIL __ AWS RDS 와 DDL, DML, DCL, ORM + Sequelize

GABOJOK 2023. 11. 9. 21:03

 

 

데이터 베이스 관련 용어들이 정리가 되지 않아 정리해 둔다.

 

 

 

👻    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가지
    1. 프로덕션에서 사용하는 데이터 베이스가 언제 바뀔지 알 수 없다.
    1. 데이터베이스에서 사용하는 DB 또는 Table 속성이 변경되었을 때에 빠르게 수정이 가능핟.